xufenglei
2018-08-07 e66b0932eb782c6ec771ffaa9957e6d5d5361286
src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java
@@ -69,7 +69,7 @@
   @Override
   public Map<String, Object> getDayAQIByDevice(Map<String, Object> parameters) {
      ValidateUtil.notNull(parameters.get("mac"), "param.is.null");
      //ValidateUtil.notNull(parameters.get("mac"), "param.is.null");
      LocalDate localDate = LocalDate.now();
      // 昨日00:00:00
      parameters.put("start", localDate.minusDays(1));
@@ -186,7 +186,8 @@
      Set<String> sensors = new TreeSet<String>(new Comparator<String>() {
         @Override
         public int compare(String o1, String o2) {
            return Integer.compare(Integer.valueOf(o1.split("-")[0].replace("e", "")), Integer.valueOf(o2.split("-")[0].replace("e", "")));
            return o1.split("-")[0].compareTo(o2.split("-")[0]);
            //return Integer.compare(Integer.valueOf(o1.split("-")[0].replace("e", "")), Integer.valueOf(o2.split("-")[0].replace("e", "")));
         }
      });
      Map<String, Double> sortMap = new HashMap<String, Double>();
@@ -230,14 +231,20 @@
            if (o2.getValue().compareTo(o1.getValue()) == 0) {
               String[] key1 = o1.getKey().split("-");
               String[] key2 = o2.getKey().split("-");
               String sensor1  = key1[0].replace("e", "");
               String sensor2  = key2[0].replace("e", "");
               if (Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2)) == 0) {
//               String sensor1  = key1[0].replace("e", "");
//               String sensor2  = key2[0].replace("e", "");
//               if (Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2)) == 0) {
//                  return Integer.compare(Integer.valueOf(key1[1]), Integer.valueOf(key2[1]));
//               }
//               return Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2));
               if (key1[0].compareTo(key2[0]) == 0) {
                  return Integer.compare(Integer.valueOf(key1[1]), Integer.valueOf(key2[1]));
               } else {
                  return key1[0].compareTo(key2[0]);
               }
               return Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2));
            } else {
               return o2.getValue().compareTo(o1.getValue());
            }
            return o2.getValue().compareTo(o1.getValue());
         }
         
      });
@@ -291,7 +298,10 @@
      Object type = parameters.get("type");
      if ("year".equals(type) || "month".equals(type)) {
         parameters.put("sensorKeys", Arrays.asList("e1", "e2", "e10", "e11", "e15", "e16"));
         resultMap.put("alarmData" + part, alarmDailyMapper.getAlarmData(parameters).get(0));
         List<Map<String, Object>> alarmData = alarmDailyMapper.getAlarmData(parameters);
         if (!ObjectUtils.isEmpty(alarmData)) {
            resultMap.put("alarmData" + part, alarmDailyMapper.getAlarmData(parameters).get(0));
         }
      }
      return resultMap;
   }
@@ -352,8 +362,9 @@
   @Override
   public Map<String, Object> getMonthAverageBySensor(Map<String, Object> parameters) {
      ValidateUtil.notNull(parameters.get("mac"), "param.is.null");
      ValidateUtil.notNull(parameters.get("macKey"), "param.is.null");
      //ValidateUtil.notNull(parameters.get("mac"), "param.is.null");
      Object sensorKey = parameters.remove("macKey");
      ValidateUtil.notNull(sensorKey, "param.is.null");
      Map<String, Object> result = new HashMap<String, Object>();
      LocalDate end = LocalDate.now(),start;
      // 每月一日的数据取上月的数据
@@ -366,10 +377,7 @@
      }
      parameters.put("start", start);
      parameters.put("end", end);
      String sensorKey = (String) parameters.remove("macKey");
      List<String> sensorKeys = new ArrayList<String>();
      sensorKeys.add(sensorKey);
      parameters.put("sensorKeys", sensorKeys);
      parameters.put("sensorKeys", Arrays.asList(sensorKey));
      Map<String, Double> average = historyMinutelyMapper.getSersionAvgByDevice(parameters);
      if (isEmpty(average)) {