fengxiang
2018-04-25 4f708def438b40d2a55c4bb479eb67acf8076a95
src/main/java/com/moral/service/impl/AlarmServiceImpl.java
@@ -28,33 +28,52 @@
   @Override
   public Map getPieData(Map<String, Object> parameters) {
      Map<String, Object> resultMap = new LinkedHashMap<String, Object>();
      try {
         historyMinutelyService.convertQueryParam(parameters);
      } catch (ParseException e) {
         e.printStackTrace();
      }
      List<Map<String, Object>> alarmDatas = alarmMapper.getAlarmData(parameters);
      Map<String, List> resultMap = new LinkedHashMap<String, List>();
      for (Map<String, Object> alarmData : alarmDatas) {
         String name = alarmData.remove("name").toString();
         alarmData.remove("sum");
         for (Map.Entry<String, Object> entry : alarmData.entrySet()) {
            String key = entry.getKey();
            Object value = entry.getValue().toString();
            if (!"0".equals(value)) {
               List list;
               Map<String, Object> map = new HashMap<String, Object>();
               if (ObjectUtils.isEmpty(resultMap.get(key))) {
                  list = new ArrayList();
               } else {
                  list = resultMap.get(key);
      Object dimension = parameters.get("dimension");
      if ("monitorPoint".equals(dimension)) {
         for (Map<String, Object> alarmData : alarmDatas) {
            String name = alarmData.remove("name").toString();
            alarmData.remove("sum");
            for (Map.Entry<String, Object> entry : alarmData.entrySet()) {
               String key = entry.getKey();
               Object value = entry.getValue().toString();
               if (!"0".equals(value)) {
                  List list;
                  Map<String, Object> map = new HashMap<String, Object>();
                  if (ObjectUtils.isEmpty(resultMap.get(key))) {
                     list = new ArrayList();
                  } else {
                     list = (List) resultMap.get(key);
                  }
                  map.put("name", name);
                  map.put("value", value);
                  list.add(map);
                  resultMap.put(key, list);
               }
               map.put("name", name);
               map.put("value", value);
               list.add(map);
               resultMap.put(key, list);
            }
         }
      } else {
         Map<String, Object> alarmData = alarmDatas.get(0);
         List<String> sensors = (List<String>) parameters.get("sensors");
         List list = new ArrayList();
         for (String key : alarmData.keySet()) {
            for (String sensor : sensors) {
               String[] split = sensor.split("-");
               if (key.equals(split[0]) && !"0".equals(alarmData.get(key).toString())) {
                  Map<String, Object> map = new HashMap<String, Object>();
                  map.put("name", split[1]);
                  map.put("value", alarmData.get(key));
                  list.add(map);
               }
            }
         }
         resultMap.put("list", list);
      }
      return resultMap;
   }