Commit 8979d651c9495ea57be1d66ac61b0bf5f677b83b

Authored by baohanddd
1 parent edc5c1a8e4

add statistics(map) common index

Showing 1 changed file with 27 additions and 8 deletions

platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/StatisticsController.java View file @ 8979d65
... ... @@ -71,6 +71,7 @@
71 71 List<AreaData> provincePatientList = statisticsService.queryProvincePatients();
72 72 Map<String, String> kvData = new HashMap<>();
73 73 Map<String, Integer> mapsData = new HashMap<>();
  74 + Map<String, String> riskColorMap = new HashMap<>();
74 75  
75 76 Option areaBarOption = buildBarOption("建档&高危人数", null);
76 77 areaBarOption.getLegend().getData().add("近30天建档人数");
77 78  
78 79  
79 80  
80 81  
81 82  
... ... @@ -154,21 +155,39 @@
154 155 mapsData.clear();
155 156 for (AreaData areaData:currentRiskList) {
156 157 String groupName = areaData.getGroupName().replace("预警", "");
157   - if (mapsData.get(groupName) == null) {
158   - mapsData.put(groupName,areaData.getVal());
  158 + if (mapsData.get(areaData.getRiskName()) == null) {
  159 + mapsData.put(areaData.getRiskName(),areaData.getVal());
  160 + if (colormap.get(groupName) != null) {
  161 + riskColorMap.put(areaData.getRiskName(),colormap.get(groupName));
  162 + }
159 163 } else {
160   - mapsData.put(groupName, mapsData.get(groupName) + areaData.getVal());
  164 + mapsData.put(areaData.getRiskName(), mapsData.get(areaData.getRiskName()) + areaData.getVal());
161 165 }
162 166 }
  167 +
  168 + // 按MAP的value排序
  169 + List<Map.Entry<String, Integer>> listData = new ArrayList<Map.Entry<String, Integer>>(mapsData.entrySet());
  170 + Collections.sort(listData, new Comparator<Map.Entry<String, Integer>>() {
  171 + public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
  172 + if (o2.getValue() != null && o1.getValue() != null && o2.getValue().compareTo(o1.getValue()) > 0) {
  173 + return 1;
  174 + } else {
  175 + return -1;
  176 + }
  177 +
  178 + }
  179 + });
  180 +
163 181 List<Object> groupRiskDataList = new ArrayList<>();
164   - for (Object key:groupRiskOption.getyAxis().getData()) {
165   - if (mapsData.containsKey(key)) {
  182 + for (Map.Entry<String, Integer> entry:listData) {
  183 + groupRiskOption.getyAxis().getData().add(entry.getKey());
  184 + if (riskColorMap.containsKey(entry.getKey())) {
166 185 Data data = new Data();
167   - data.setValue(mapsData.get(key));
168   - data.setItemStyle(new ItemStyle(new Normal(null,colormap.get(key)),null));
  186 + data.setValue(entry.getValue());
  187 + data.setItemStyle(new ItemStyle(new Normal(null,colormap.get(entry.getKey())),null));
169 188 groupRiskDataList.add(data);
170 189 } else {
171   - groupRiskDataList.add(0);
  190 + groupRiskDataList.add(entry.getValue());
172 191 }
173 192 }
174 193 groupRiskSeries.setData(groupRiskDataList);