Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r19383 -r19385 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 19383) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 19385) @@ -3366,11 +3366,16 @@ }finally { DatabaseUtil.closeResultSetAndStatement(result); } + // 记录已经添加的key + List keyList = new ArrayList(); // 遍历结果集 设置百分比 if(totalMap != null){ for(Map.Entry entry:totalMap.entrySet()){ key = entry.getKey(); amount = map.get(key); + if(!keyList.contains(key)){ + keyList.add(key); + } // 总数 int amount2 = entry.getValue(); if(amount2 > 0 && amount != null){ @@ -3389,6 +3394,21 @@ } } } + // 添加不合格但没总数的数据 + if(map != null){ + for(Map.Entry entry:map.entrySet()){ + key = entry.getKey(); + if(keyList.contains(key)){ + continue; + } + amount = map.get(key); + if(amount == null){ + setWorkQualityBeanUnQualityAmount(bean, key, 0); + }else { + setWorkQualityBeanUnQualityAmount(bean, key, amount); + } + } + } list.add(bean); } /**