我有3个水印,已批准,取消和草拟,我需要根据条件对其进行显示。所以我添加了条件:
for cancelled copy = new Boolean(!$P{Canceledcopy_p}.toString().equals("T") ? true:false)
for approved copy = new Boolean(!$P{Approvedcopy_p}.toString().equals("T") ? true:false)
for drafted copy = new Boolean(!$P{FinalApprover_P}.toString().equals("T") ? true:false)
当我预览时它显示很好,但是当我生成报告时它不显示。以下是我的Java代码:
if (POApplst.getStatusID() == 1) {
map.put("Approvedcopy_p", "F");
map.put("FinalApprover_P", "T");
} else {
if (POApplst.get(POApplst.size() - 1).getStatusID() != 1) {
map.put("Approvedcopy_p", "T");
map.put("FinalApprover_P", "F");
} else {
map.put("Approvedcopy_p", "F");
map.put("FinalApprover_P", "T");
if (Canceled) {
map.put("Canceledcopy_p", "F");
map.put("Approvedcopy_p", "T");
map.put("FinalApprover_P", "T");
} else {
map.put("Canceledcopy_p", "T");
}
}
}
if (Canceled) {
map.put("Canceledcopy_p", "F");
map.put("Approvedcopy_P", "T");
map.put("FinalApprover_P", "T");
} else {
map.put("Canceledcopy_p", "T");
}
最佳答案
代替布尔类型(T或F)。我所做的是,如果它被批准,那么其他人将为空,除了已批准的副本,将从批准的bufferedImage加载已批准的图像= ImageIO.read(classLoader.getResourceAsStream(“ / image path /” +“ logo.jpg”)); 。以类似的方式,除了它是什么副本之外,所有都将为null。
if (POApplst.get(POApplst.size() - 1).getStatusID() != 1) {
parameter.put("Approvedcopy_p", null);
parameter.put("FinalApprover_P", draft);
} else {
parameter.put("Approvedcopy_p", approved);
parameter.put("FinalApprover_P", null);
if (Canceled) {
parameter.put("Canceledcopy_p", canceled);
parameter.put("Approvedcopy_p", null);
parameter.put("FinalApprover_P", null);
} else {
parameter.put("Canceledcopy_p", null);
}
}