From 66fd957202742202804a614c766b9b973a26d836 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Thu, 07 May 2020 17:15:04 +0800 Subject: [PATCH] update --- src/main/java/com/moral/controller/ScreenController.java | 110 ++++++++++++++++++------------------------------------- 1 files changed, 36 insertions(+), 74 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index fea81f7..63ba21f 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -17,7 +17,6 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.MapUtils; -import org.apache.commons.lang.StringUtils; import org.apache.commons.net.ftp.FTPClient; import org.apache.log4j.Logger; import org.dom4j.Document; @@ -839,45 +838,15 @@ parameters.put("monitorPointId", parameters.remove("monitorPoint")); parameters.put("areaCode", parameters.remove("areaCode")); String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); + String type = parameters.get("type").toString(); String s = sensorKeys[0]; parameters.put("sensors", Arrays.asList(sensorKeys)); parameters.put("sensors2", s); - List<Map<String, Object>> monitorList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); - String type = parameters.get("type").toString(); - ArrayList<Map<String, Object>> resultList = new ArrayList<>(); - String sensorKey1 = s; - switch (s) { - case "e1": - sensorKey1 = "PM2_5"; - break; - case "e2": - sensorKey1 = "PM10"; - break; - case "e10": - sensorKey1 = "CO"; - break; - case "e11": - sensorKey1 = "SO2"; - break; - case "e15": - sensorKey1 = "O3"; - break; - case "e16": - sensorKey1 = "NO2"; - break; - default: - break; - } - parameters.put("sensors1", sensorKey1); - List<Map<String, Object>> areaList = historyMinutelyService.getAreaAvgDataByAreaCode(parameters); - if (areaList.isEmpty()) { - Integer areaCode = Integer.valueOf(request.getParameter("areaCode")); - areaCode = hangzhouAqiService.queryCityCode(areaCode); - parameters.remove("areaCode"); - parameters.put("areaCode", String.valueOf(areaCode)); - areaList = historyMinutelyService.getAreaAvgDataByAreaCode(parameters); - } + ArrayList<Map<String, Object>> resultList = new ArrayList<>(); + + List<Map<String, Object>> monitorList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); + List<Map<String, Object>> areaList = hangzhouAqiService.getAreaAvgDataByAreaCode(parameters); if (areaList.isEmpty() && monitorList.isEmpty()) { return new ResultBean<List<Map<String, Object>>>(resultList); @@ -911,7 +880,6 @@ String time = map.get("time").toString(); time = time.substring(time.length() - 2); map.put("time", Integer.valueOf(time)); - } for (Map<String, Object> m : monitorList) { @@ -920,7 +888,7 @@ m.put("time", Integer.valueOf(time)); } - Integer maxTime = 0; + Integer maxTime; Map<String, Object> areaMap = areaList.get(areaList.size() - 1); Integer areaMax = Integer.valueOf(areaMap.get("time").toString()); Map<String, Object> monitorMap = monitorList.get(monitorList.size() - 1); @@ -951,59 +919,53 @@ } else { resultList.set(time - 1, map); } - } - if (type.equals("day")) { - for (int i = 0; i < resultList.size(); i++) { - if (resultList.get(i) == null) { - Map<String, Object> hashMap = new HashMap<>(); + for (int i = 0; i <resultList.size() ; i++) { + if (resultList.get(i) == null) { + Map<String, Object> hashMap = new HashMap<>(); + if(type.equals("day")){ hashMap.put("time", i); - hashMap.put(s, ""); - resultList.set(i, hashMap); - } - } - } else { - for (int i = 0; i < resultList.size(); i++) { - if (resultList.get(i) == null) { - Map<String, Object> hashMap = new HashMap<>(); + }else { hashMap.put("time", i + 1); - hashMap.put(s, ""); - resultList.set(i, hashMap); } + hashMap.put(s, ""); + resultList.set(i, hashMap); } } - for (Map<String, Object> map : resultList) { - List<Object> values = new ArrayList<>(); - for (Map<String, Object> map1 : monitorList) { - if (map.get("time").toString().equals(map1.get("time").toString())) { - values.add(map.remove(s)); - values.add(map1.remove(s)); - map.put("values", values); - } + for (Map<String, Object> map1 : monitorList) { + ArrayList<String> values = new ArrayList<>(); + Integer time = Integer.valueOf(map1.get("time").toString()); + Map<String, Object> map; + if (type.equals("day")) { + map = resultList.get(time); + } else { + map = resultList.get(time - 1); } + values.add(map.remove(s).toString()); + values.add(map1.get(s).toString()); + map.put("values", values); } for (Map<String, Object> map : resultList) { - List<Object> values = new ArrayList<>(); if (map.containsKey(s)) { - values.add(map.remove(s)); + ArrayList<String> values = new ArrayList<>(); + values.add(map.remove(s).toString()); values.add(""); - map.put("values", values); - } - } - List<Map<String, Object>> mapList = new ArrayList<>(); - for (Map<String, Object> map : resultList) { - String values = map.get("values").toString(); - String string = StringUtils.strip(values, "[]"); - String[] strings = string.split(","); - if (!strings[0].equals("") || !strings[1].equals(" ")) { - mapList.add(map); + map.put("values",values); } } - return new ResultBean<List<Map<String, Object>>>(mapList); + Iterator<Map<String, Object>> it = resultList.iterator(); + while(it.hasNext()){ + Map<String, Object> next = it.next(); + ArrayList<String> values = (ArrayList<String>)next.get("values"); + if(values.get(0).equals("")&&values.get(1).equals("")){ + it.remove(); + } + } + return new ResultBean<List<Map<String, Object>>>(resultList); } @GetMapping("getmpoint-byid") -- Gitblit v1.8.0