From 820c6a9e6e0e50f7266b8ccaf9c802a1005bda51 Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Tue, 11 Jun 2019 17:42:39 +0800 Subject: [PATCH] sensor --- src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java | 37 ++++++++++++++++++++++++++----------- 1 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java index 4fd39e3..9b932f8 100644 --- a/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java +++ b/src/main/java/com/moral/service/impl/HistoryMinutelyServiceImpl.java @@ -37,6 +37,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; import com.moral.common.util.CalculateUtils; +import com.moral.common.util.ParameterUtils; import com.moral.common.util.ReportTimeFormat; import com.moral.common.util.ResourceUtil; import com.moral.common.util.ValidateUtil; @@ -139,7 +140,8 @@ List<Map<String, Object>> list = JSON.parseObject((String)parameters.remove("items"), new TypeReference<List<Map<String, Object>>>() {}); String type = (String) parameters.get("type"); - parameters.putAll(getElementByType(type)); + // parameters.putAll(getElementByType(type)); + ParameterUtils.getElementByType(parameters); Integer timeLength = Integer.valueOf(parameters.remove("timeLength").toString()); if ("month".equals(type)) { for (Map<String, Object> map : list) { @@ -186,7 +188,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 +233,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 +300,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; } @@ -299,15 +311,18 @@ @Override public List<Map<String, Object>> getMonitorPointOrDeviceAvgData(Map<String, Object> parameters) throws Exception { convertQueryParam(parameters); - + if (!ObjectUtils.isEmpty(parameters.get("compensate"))) { + parameters.put("timeUnits", "10min"); + } return historyMinutelyMapper.getMonitorPointOrDeviceAvgData(parameters); } @Override public void convertQueryParam(Map<String, Object> parameters) throws ParseException { - String type = (String) parameters.get("type"); if (!parameters.containsKey("field")) { - parameters.putAll(getElementByType(type)); + // String type = (String) parameters.get("type"); + // parameters.putAll(getElementByType(type)); + ParameterUtils.getElementByType(parameters); } String time = (String) parameters.get("time"); String format = (String) parameters.get("format"); -- Gitblit v1.8.0