From 8979d651c9495ea57be1d66ac61b0bf5f677b83b Mon Sep 17 00:00:00 2001 From: baohanddd Date: Sat, 2 Jul 2016 16:10:51 +0800 Subject: [PATCH] add statistics(map) common index --- .../web/controller/StatisticsController.java | 35 +++++++++++++++++----- 1 file changed, 27 insertions(+), 8 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 c700e84..0eea690 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 @@ -71,6 +71,7 @@ public class StatisticsController extends BaseController { List provincePatientList = statisticsService.queryProvincePatients(); Map kvData = new HashMap<>(); Map mapsData = new HashMap<>(); + Map riskColorMap = new HashMap<>(); Option areaBarOption = buildBarOption("建档&高危人数", null); areaBarOption.getLegend().getData().add("近30天建档人数"); @@ -154,21 +155,39 @@ public class StatisticsController extends BaseController { mapsData.clear(); for (AreaData areaData:currentRiskList) { String groupName = areaData.getGroupName().replace("预警", ""); - if (mapsData.get(groupName) == null) { - mapsData.put(groupName,areaData.getVal()); + if (mapsData.get(areaData.getRiskName()) == null) { + mapsData.put(areaData.getRiskName(),areaData.getVal()); + if (colormap.get(groupName) != null) { + riskColorMap.put(areaData.getRiskName(),colormap.get(groupName)); + } } else { - mapsData.put(groupName, mapsData.get(groupName) + areaData.getVal()); + mapsData.put(areaData.getRiskName(), mapsData.get(areaData.getRiskName()) + areaData.getVal()); } } + + // 按MAP的value排序 + List> listData = new ArrayList>(mapsData.entrySet()); + Collections.sort(listData, new Comparator>() { + public int compare(Map.Entry o1, Map.Entry o2) { + if (o2.getValue() != null && o1.getValue() != null && o2.getValue().compareTo(o1.getValue()) > 0) { + return 1; + } else { + return -1; + } + + } + }); + List groupRiskDataList = new ArrayList<>(); - for (Object key:groupRiskOption.getyAxis().getData()) { - if (mapsData.containsKey(key)) { + for (Map.Entry entry:listData) { + groupRiskOption.getyAxis().getData().add(entry.getKey()); + if (riskColorMap.containsKey(entry.getKey())) { Data data = new Data(); - data.setValue(mapsData.get(key)); - data.setItemStyle(new ItemStyle(new Normal(null,colormap.get(key)),null)); + data.setValue(entry.getValue()); + data.setItemStyle(new ItemStyle(new Normal(null,colormap.get(entry.getKey())),null)); groupRiskDataList.add(data); } else { - groupRiskDataList.add(0); + groupRiskDataList.add(entry.getValue()); } } groupRiskSeries.setData(groupRiskDataList); -- 1.8.3.1