Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java =================================================================== diff -u -r36894 -r36916 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java (.../QualityMonitoringHelper.java) (revision 36894) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/util/QualityMonitoringHelper.java (.../QualityMonitoringHelper.java) (revision 36916) @@ -1469,26 +1469,27 @@ String option = mt.getOption(); String answer = mt.getAnswer(); String key = "0_" + option + "_" + questionName; - - if(numNames.contains(questionName) || "-".equals(questionName) && numNames.contains(option)){ - if(StringUtils.isNotBlank(answer) && StringUtils.isNumeric(answer)){ - Integer amount = Integer.valueOf(answer); + // 统计项有值才添加 + if(StringUtils.isNotBlank(answer)){ + if(numNames.contains(questionName) || "-".equals(questionName) && numNames.contains(option)){ + if(StringUtils.isNotBlank(answer) && StringUtils.isNumeric(answer)){ + Integer amount = Integer.valueOf(answer); + if( !map.containsKey(key) ){ + map.put(key, amount); + }else{ + int value = map.get(key) + amount; + map.put(key, value); + } + } + }else{ if( !map.containsKey(key) ){ - map.put(key, amount); + map.put(key, 1); }else{ - int value = map.get(key) + amount; + int value = map.get(key) + 1; map.put(key, value); } } - }else{ - if( !map.containsKey(key) ){ - map.put(key, 1); - }else{ - int value = map.get(key) + 1; - map.put(key, value); - } } - } listMap.add(map); return listMap; @@ -1508,8 +1509,16 @@ String questionName = mt.getQuestionName(); String answer = mt.getAnswer(); String key = "0_" + option + "_" + questionName; + // 统计项有值才添加 + if("√".equals(answer)){ + if( !map.containsKey(key) ){ + map.put(key, 1); + }else{ + int value = map.get(key) + 1; + map.put(key, value); + } //指定的元素也添加(比如数字) - if(numNames.contains(questionName) || "-".equals(questionName) && numNames.contains(option)){ + }else if(numNames.contains(questionName) || "-".equals(questionName) && numNames.contains(option)){ if(StringUtils.isNotBlank(answer) && StringUtils.isNumeric(answer)){ Integer amount = Integer.valueOf(answer); if( !map.containsKey(key) ){ @@ -1519,14 +1528,7 @@ map.put(key, value); } } - }else{ - if( !map.containsKey(key) ){ - map.put(key, 1); - }else{ - int value = map.get(key) + 1; - map.put(key, value); - } - } + } } listMap.add(map); return listMap;