Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r25270 -r25282 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 25270) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 25282) @@ -2913,7 +2913,14 @@ if(key.length() > 1 && Integer.valueOf(key) < 10){ key = Integer.valueOf(key).toString(); } - map.put(key, result2.getInt(2)); + Integer amount = result2.getInt(2); + // 找到已经存在的key,取该key的值,进行相加。 + // 因为有些查询用了union all,进行了集合相加运算,一个月份可能会有多条结果,分别代表不同类型的数据的值 + Integer existAmount = map.get(key); + if (existAmount != null){ + amount += existAmount; + } + map.put(key, amount); } }catch(SQLException e){ e.printStackTrace();