Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/UrgentNeedGoodsProcessingCycle.java =================================================================== diff -u -r28553 -r28830 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/UrgentNeedGoodsProcessingCycle.java (.../UrgentNeedGoodsProcessingCycle.java) (revision 28553) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/javabeansource/UrgentNeedGoodsProcessingCycle.java (.../UrgentNeedGoodsProcessingCycle.java) (revision 28830) @@ -74,6 +74,10 @@ * 加急数量 */ private Integer urgentAmount; + /** + * 回收项id + */ + private Long recyclingItemId; public String getRecyclingDate() { return recyclingDate; } @@ -188,4 +192,13 @@ public void setUrgentAmount(Integer urgentAmount) { this.urgentAmount = urgentAmount; } + + public Long getRecyclingItemId() { + return recyclingItemId; + } + + public void setRecyclingItemId(Long recyclingItemId) { + this.recyclingItemId = recyclingItemId; + } + } Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java =================================================================== diff -u -r28559 -r28830 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 28559) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/action/JasperreportsAction.java (.../JasperreportsAction.java) (revision 28830) @@ -1385,7 +1385,13 @@ if(CollectionUtils.isNotEmpty(urgentNeedGoodsProcessingCycles)){//统计加急物品物品 Map urgentLevelToUrgentAmountMap = new HashMap(); Integer totalUrgentAmount = 0; + Set HasBeenCalculatedMap = new HashSet();//已经计算过的回收项 避免重复计算导致汇总数量增多 for (UrgentNeedGoodsProcessingCycle urgentNeedGoodsProcessingCycle : urgentNeedGoodsProcessingCycles) { + Long recyclingItemId = urgentNeedGoodsProcessingCycle.getRecyclingItemId(); + if(HasBeenCalculatedMap.contains(recyclingItemId)){ + continue;//计算过的回收项 不再计算 + } + HasBeenCalculatedMap.add(recyclingItemId); String urgentLevel = urgentNeedGoodsProcessingCycle.getUrgentLevel(); Integer urgentAmount = urgentNeedGoodsProcessingCycle.getUrgentAmount(); if(urgentAmount == null){