From 539a7077cbf638a5aa9ae5e46c17be96daba7d9b Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Mon, 02 Jul 2018 10:54:19 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java | 42 +++++++++++++++++++++++++++++------------- 1 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java index d1653fc..4fd39e3 100644 --- a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java @@ -44,6 +44,7 @@ import com.moral.entity.charts.DataCondition; import com.moral.entity.charts.LineChartCriteria; import com.moral.entity.charts.TimePeriod; +import com.moral.mapper.AlarmDailyMapper; import com.moral.mapper.AlarmMapper; import com.moral.mapper.DeviceMapper; import com.moral.mapper.HistoryMinutelyMapper; @@ -64,11 +65,11 @@ private SensorMapper sensorMapper; @Resource - private AlarmMapper alarmMapper; + private AlarmDailyMapper alarmDailyMapper; @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)); @@ -208,8 +209,11 @@ Map<String, BigDecimal> mapData = (Map<String, BigDecimal>) obj; BigDecimal sum = mapData.remove("sum"); for (Entry<String, BigDecimal> entry : mapData.entrySet()) { - sortMap.put(entry.getKey() + "-" + index, new BigDecimal(100).multiply(entry.getValue()) - .divide(sum, 2, BigDecimal.ROUND_HALF_UP).doubleValue()); + if (!"name".equals(entry.getKey())) { + sortMap.put(entry.getKey() + "-" + index, new BigDecimal(100).multiply(entry.getValue()) + .divide(sum, 2, BigDecimal.ROUND_HALF_UP).doubleValue()); + + } } } break; @@ -223,7 +227,17 @@ Collections.sort(sortList,new Comparator<Map.Entry<String,Double>>(){ @Override public int compare(Entry<String, Double> o1, Entry<String, Double> o2) { - return o1.getValue().compareTo(o2.getValue()); + 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) { + return Integer.compare(Integer.valueOf(key1[1]), Integer.valueOf(key2[1])); + } + return Integer.valueOf(sensor1).compareTo(Integer.valueOf(sensor2)); + } + return o2.getValue().compareTo(o1.getValue()); } }); @@ -277,7 +291,7 @@ 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, alarmMapper.getAlarmData(parameters).get(0)); + resultMap.put("alarmData" + part, alarmDailyMapper.getAlarmData(parameters).get(0)); } return resultMap; } @@ -325,7 +339,11 @@ List<Sensor> sensorList = sensorMapper.getSensorsByCriteria(parameters); for (Sensor sensor : sensorList) { sensorKeys.add(sensor.getSensorKey()); - sensors.add(sensor.getSensorKey() + "-" + sensor.getName() + "-" + sensor.getUnit()); + String string = sensor.getSensorKey() + "-" + sensor.getName() + "-" + sensor.getUnit(); + if (parameters.containsKey("description")) { + string += "-" + sensor.getDescription(); + } + sensors.add(string); } } parameters.put("sensorKeys", sensorKeys); @@ -334,8 +352,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; // ��������������������������������������� @@ -348,10 +367,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)) { -- Gitblit v1.8.0