From 45f6c180536270a592ba50f1a98a392739acec91 Mon Sep 17 00:00:00 2001 From: baohanddd Date: Wed, 6 Jul 2016 16:32:27 +0800 Subject: [PATCH] add statistics(map) common index --- .../web/controller/StatisticsController.java | 52 +++++++++++++++------- 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java index 7692fe6..13fff25 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java @@ -196,20 +196,7 @@ public class StatisticsController extends BaseController { groupRiskSeriesList.add(groupRiskSeries); groupRiskOption.setSeries(groupRiskSeriesList); - - // 4. 按省或市或地区查询区域内近12个自然月每月建档人数 - List patientMonthList = statisticsService.queryMonthPatients(new AreaDataQuery()); Map> patientMonthMap = new HashMap<>(); - Map pmap = new HashMap<>(); - for (AreaData areaData:patientMonthList) { - String month = buildMonth(areaData.getYear()); - if (pmap.containsKey(month)) { - pmap.put(month, pmap.get(month) + areaData.getVal()); - } else { - pmap.put(month, areaData.getVal()); - } - } - patientMonthMap.put("建档人数", pmap); // 6. 按省或市或地区查询区域内近12个自然月每月产检中历史高危人数(按颜色分组) AreaDataQuery query = new AreaDataQuery(); query.setDays(12); @@ -224,10 +211,44 @@ public class StatisticsController extends BaseController { } } patientMonthMap.put("高危人数", rmap); - - + // 4. 按省或市或地区查询区域内近12个自然月每月建档人数 + query = new AreaDataQuery(); + List patientMonthList = statisticsService.queryMonthPatients(query); + Map pmap = new HashMap<>(); + for (AreaData areaData:patientMonthList) { + String month = buildMonth(areaData.getYear()); + if (pmap.containsKey(month)) { + pmap.put(month, pmap.get(month) + areaData.getVal()); + } else { + pmap.put(month, areaData.getVal()); + } + } + patientMonthMap.put("建档人数", pmap); Option patientMonthOption = buildLineOption("建档&高危人数", null, patientMonthMap, buildDefaultMonth(12)); + // 按省或市或地区查询区域内近12个自然月每月初诊人数、复诊人数 + query = new AreaDataQuery(); + List reportMonthList = statisticsService.queryMonthReports(query); + Map> reportMonthMap = new HashMap<>(); + Map firstmap = new HashMap<>(); + Map secondmap = new HashMap<>(); + for (AreaData areaData:reportMonthList) { + String month = buildMonth(areaData.getYear()); + if (firstmap.containsKey(month)) { + firstmap.put(month, firstmap.get(month) + areaData.getVal()); + } else { + firstmap.put(month, areaData.getVal()); + } + if (secondmap.containsKey(month)) { + secondmap.put(month, secondmap.get(month) + areaData.getVal()); + } else { + secondmap.put(month, areaData.getVal()); + } + } + reportMonthMap.put("初诊人数", firstmap); + reportMonthMap.put("复诊人数", secondmap); + Option reportMonthOption = buildLineOption("初诊&复诊人数", null, reportMonthMap, buildDefaultMonth(12)); + result.put("type", 1); @@ -236,6 +257,7 @@ public class StatisticsController extends BaseController { result.put("areaBarOption", areaBarOption); result.put("riskOption", groupRiskOption); result.put("patientMonthOption", patientMonthOption); + result.put("reportMonthOption", reportMonthOption); ResultUtils.buildSuccessResultAndWrite(response, result); } -- 1.8.3.1