From 4d7d1d0844b60c28c6c6c55635e3d68b009248bc Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Wed, 29 Apr 2020 09:48:00 +0800 Subject: [PATCH] update --- src/main/java/com/moral/controller/ScreenController.java | 279 ++++++++++++++++++++++++++++--------------------------- 1 files changed, 144 insertions(+), 135 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 9403bfd..829aabe 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -823,139 +823,139 @@ return new ResultBean<List<Map<String, Object>>>(list); } - @GetMapping("report_avg_AreaData") - @ApiOperation(value = "������������������������������������������", notes = "������������������������������������������") - @ApiImplicitParams(value = { - @ApiImplicitParam(name = "monitorPoint", value = "���������id", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "mac", value = "������mac", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "areaCode", value = "������������", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "time", value = "������,������(���������2018-03)", required = true, paramType = "query", dataType = "String"),}) - public ResultBean<List<Map<String, Object>>> getAreaAvgDataByAreaCode(HttpServletRequest request) - throws Exception { - Map<String, Object> parameters = getParametersStartingWith(request, null); - ParameterUtils.getTimeType4Time(parameters); - parameters.put("monitorPointId", parameters.remove("monitorPoint")); - parameters.put("areaCode", parameters.remove("areaCode")); - String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); - String s=sensorKeys[0]; - parameters.put("sensors", Arrays.asList(sensorKeys)); - parameters.put("sensors2", s); - List<Map<String, Object>> monitorList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); - for (Map<String, Object> monitorMap : monitorList) { - String time = monitorMap.get("time").toString(); - time = time.substring(time.length() - 2); - monitorMap.put("time", Integer.valueOf(time)); - } - Integer maxTime = 0; - Integer max1 = 0; - if (monitorList.size() != 0) { - Map<String, Object> monitorMap = monitorList.get(monitorList.size() - 1); - max1 = Integer.valueOf(monitorMap.get("time").toString()); - } else { - max1 = 0; - } - 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); - } - - for (Map<String, Object> areaMap : areaList) { - String time = areaMap.get("time").toString(); - time = time.substring(time.length() - 2); - areaMap.put("time", Integer.valueOf(time)); - } - - Integer max = 0; - if (areaList.size() != 0) { - Map<String, Object> areaMap = areaList.get(areaList.size() - 1); - max = Integer.valueOf(areaMap.get("time").toString()); - } else { - max = 0; - } - - if (max1 >= max) { - maxTime = max1; - } else { - maxTime = max; - } - - ArrayList<Map<String, Object>> resultList = new ArrayList<>(); - - for (int i = 0; i <= maxTime; i++) { - resultList.add(null); - } - - for (Map<String, Object> areaMap : areaList) { - Integer time = Integer.valueOf(areaMap.get("time").toString()); - resultList.set(time, areaMap); - } - - for (Map<String, Object> resultMap : resultList) { - for (Map<String, Object> monitorMap : monitorList) { - ArrayList<String> values = new ArrayList<>(); - String monitorTime = monitorMap.get("time").toString(); - if (resultMap != null) { - String resultTime = resultMap.get("time").toString(); - if (resultTime.equals(monitorTime)) { - String value = resultMap.remove(s).toString(); - String value1 = monitorMap.remove(s).toString(); - values.add(value); - values.add(value1); - resultMap.put("values", values); - } - } else { - String value1 = monitorMap.get(s).toString(); - values.add(null); - values.add(value1); + @GetMapping("report_avg_AreaData") + @ApiOperation(value = "������������������������������������������", notes = "������������������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "monitorPoint", value = "���������id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "mac", value = "������mac", required = false, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "areaCode", value = "������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "���������key", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������,������(���������2018-03)", required = true, paramType = "query", dataType = "String"),}) + public ResultBean<List<Map<String, Object>>> getAreaAvgDataByAreaCode(HttpServletRequest request) + throws Exception { + Map<String, Object> parameters = getParametersStartingWith(request, null); + ParameterUtils.getTimeType4Time(parameters); + parameters.put("monitorPointId", parameters.remove("monitorPoint")); + parameters.put("areaCode", parameters.remove("areaCode")); + String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); + String s = sensorKeys[0]; + parameters.put("sensors", Arrays.asList(sensorKeys)); + parameters.put("sensors2", s); + List<Map<String, Object>> monitorList = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); + for (Map<String, Object> monitorMap : monitorList) { + String time = monitorMap.get("time").toString(); + time = time.substring(time.length() - 2); + monitorMap.put("time", Integer.valueOf(time)); } - } + Integer maxTime = 0; + Integer max1 = 0; + if (monitorList.size() != 0) { + Map<String, Object> monitorMap = monitorList.get(monitorList.size() - 1); + max1 = Integer.valueOf(monitorMap.get("time").toString()); + } else { + max1 = 0; + } + 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); + } + + for (Map<String, Object> areaMap : areaList) { + String time = areaMap.get("time").toString(); + time = time.substring(time.length() - 2); + areaMap.put("time", Integer.valueOf(time)); + } + + Integer max = 0; + if (areaList.size() != 0) { + Map<String, Object> areaMap = areaList.get(areaList.size() - 1); + max = Integer.valueOf(areaMap.get("time").toString()); + } else { + max = 0; + } + + if (max1 >= max) { + maxTime = max1; + } else { + maxTime = max; + } + + ArrayList<Map<String, Object>> resultList = new ArrayList<>(); + + for (int i = 0; i <= maxTime; i++) { + resultList.add(null); + } + + for (Map<String, Object> areaMap : areaList) { + Integer time = Integer.valueOf(areaMap.get("time").toString()); + resultList.set(time, areaMap); + } + + for (Map<String, Object> resultMap : resultList) { + for (Map<String, Object> monitorMap : monitorList) { + ArrayList<String> values = new ArrayList<>(); + String monitorTime = monitorMap.get("time").toString(); + if (resultMap != null) { + String resultTime = resultMap.get("time").toString(); + if (resultTime.equals(monitorTime)) { + String value = resultMap.remove(s).toString(); + String value1 = monitorMap.remove(s).toString(); + values.add(value); + values.add(value1); + resultMap.put("values", values); + } + } else { + String value1 = monitorMap.get(s).toString(); + values.add(null); + values.add(value1); + } + } + } + + resultList.removeAll(Collections.singleton(null)); + + for (Map<String, Object> resultMap : resultList) { + if (resultMap.containsKey(s)) { + ArrayList<String> values = new ArrayList<>(); + values.add(resultMap.remove(s).toString()); + values.add(null); + resultMap.put("values", values); + } + } + + return new ResultBean<List<Map<String, Object>>>(resultList); + } - - resultList.removeAll(Collections.singleton(null)); - - for (Map<String, Object> resultMap : resultList) { - if (resultMap.containsKey(s)) { - ArrayList<String> values = new ArrayList<>(); - values.add(resultMap.remove(s).toString()); - values.add(null); - resultMap.put("values", values); - } - } - - return new ResultBean<List<Map<String, Object>>>(resultList); - - } @GetMapping("getmpoint-byid") @ApiOperation(value = "���������������������", notes = "���������������������,���������������������������������������������") @@ -1342,7 +1342,12 @@ String et = parameters.get("endTime").toString(); String endYearAndDay = et.substring(0, et.lastIndexOf("-")); String endHour = et.substring(et.lastIndexOf("-") + 1); - String endTime = endYearAndDay + " " + endHour + ":00:00"; + int endHourValue = Integer.valueOf(endHour); + int startHourValue = Integer.valueOf(startHour); + if (endHourValue <= startHourValue) { + endHourValue = startHourValue + 1; + } + String endTime = startYearAndDay + " " + endHourValue + ":00:00"; parameters.put("startTime", startTime); parameters.put("endTime", endTime); String mac = parameters.get("mac").toString(); @@ -1463,7 +1468,7 @@ @GetMapping("/carTrajectory") @ApiOperation(value = "���������������������", notes = "���������������������") @ApiImplicitParams(value = { - @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392082���", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392081���", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "startTime", value = "������������(���������2020-03-19-14)", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "endTime", value = "������������(���������2020-03-19-17)", required = true, paramType = "query", dataType = "String") }) @@ -1474,9 +1479,13 @@ String startHour = st.substring(st.lastIndexOf("-") + 1); String startTime = startYearAndDay + " " + startHour + ":00:00"; String et = parameters.get("endTime").toString(); - String endYearAndDay = et.substring(0, et.lastIndexOf("-")); String endHour = et.substring(et.lastIndexOf("-") + 1); - String endTime = endYearAndDay + " " + endHour + ":00:00"; + int endHourValue = Integer.valueOf(endHour); + int startHourValue = Integer.valueOf(startHour); + if (endHourValue <= startHourValue) { + endHourValue = startHourValue + 1; + } + String endTime = startYearAndDay + " " + endHourValue + ":00:00"; parameters.put("startTime", startTime); parameters.put("endTime", endTime); String mac = parameters.get("mac").toString(); -- Gitblit v1.8.0