From 148727793cc4ab3e7038c1bdcd6a217217b37e03 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Thu, 22 Aug 2019 16:55:42 +0800 Subject: [PATCH] 添加污染传播来源接口 --- src/main/java/com/moral/controller/ScreenController.java | 79 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 72 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index f932cb4..19f2c5e 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -8,6 +8,9 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -365,9 +368,12 @@ @GetMapping("hour-aqi") @ApiOperation(value = "���������������AQI", notes = "���������������AQI") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������mac������", required = true, paramType = "query", dataType = "String") + }) public Map<String, Object> getHourAQIByDevice(HttpServletRequest request) { Map<String, Object> parameters = getParametersStartingWith(request, null); - return historyMinutelyService.getHourAQIByDevice(parameters); + return historyService.gitHourlyAQIByMacAndTimeslot(parameters); } /** @@ -858,7 +864,9 @@ @ApiImplicitParam(name = "organizationId", defaultValue = "5", value = "���������������������id", required = true, paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "time", defaultValue = "2019", value = "���������������", required = true, paramType = "query", dataType = "String"), @ApiImplicitParam(name = "sensorKey", defaultValue = "e27", value = "������������������������key", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "regionCode", defaultValue = "130000", value = "���������", required = true, paramType = "query", dataType = "String")}) + @ApiImplicitParam(name = "regionCode", defaultValue = "130000", value = "���������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "monitorPointId", value = "���������id", required = false, paramType = "query", dataType = "int"), + @ApiImplicitParam(name = "mac", value = "������mac", required = false, paramType = "query", dataType = "String")}) public ResultBean<List<Map<String, Object>>> getemissionsData(HttpServletRequest request) throws Exception { Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); List<Map<String, Object>> result = historyDailyService.getEmissionsData(parameters); @@ -1161,21 +1169,43 @@ @ApiOperation(value = "���������������������������", notes = "���������������������������") @ApiImplicitParams(value = { @ApiImplicitParam(name = "mac", value = "������mac������������p5dnd7a0392068���", required = true, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "startTime", value = "������������(���������2019-07-17 17:07:00)", required = false, paramType = "query", dataType = "String"), - @ApiImplicitParam(name = "endTime", value = "������������(���������2019-07-17 17:07:00)", required = false, paramType = "query", dataType = "String") + @ApiImplicitParam(name = "startTime", value = "������������(���������2019-07-17-17)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "endTime", value = "������������(���������2019-07-17-18)", required = true, paramType = "query", dataType = "String") }) public ModelAndView uavTrajectory(ModelAndView model, HttpServletRequest request) throws Exception { Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String st = parameters.get("startTime").toString(); + String startYearAndDay = st.substring(0, st.lastIndexOf("-")); + 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"; + parameters.put("startTime", startTime); + parameters.put("endTime", endTime); String mac = parameters.get("mac").toString(); if (mac != null && mac.length() != 0) { - List<Map<String, Object>> sensorList = historyMinutelyService.getSensorData(parameters); + List<List<Map<String, Object>>> sensorData = historyMinutelyService.getSensorData(parameters); + Map<String, String> sensorsMap = sensorService.getSensorsMap(parameters); + List<Map<String, Object>> sensorList = new ArrayList<>(); + List<Map<String, Object>> sensorListMin = new ArrayList<>(); + List<Map<String, Object>> sensorListMax = new ArrayList<>(); + if (sensorData.size() == 3) { + sensorList = sensorData.get(0); + sensorListMin = sensorData.get(1); + sensorListMax = sensorData.get(2); + } JSONObject params = new JSONObject(); params.put("sensorInfo", sensorList); + params.put("sensorInfoMin", sensorListMin); + params.put("sensorInfoMax", sensorListMax); + params.put("sensorsMap",sensorsMap); String paramsJson = params.toJSONString(); model.addObject("uavTrajectoryParams", paramsJson); - model.setViewName("uavTrajectory"); + model.setViewName("uavtrajectory"); return model; - }else { + } else { StringBuilder msg = new StringBuilder(); msg.append(" param[0] mac:"); msg.append(mac); @@ -1185,4 +1215,39 @@ } } + @GetMapping("/pollutionSource") + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "organizationId", defaultValue = "5", value = "���������������������id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "mac", value = "������mac������(������p5dnd7a0391972)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������������(���������2019-08-22)", required = true, paramType = "query", dataType = "String")}) + public ModelAndView pollutionSource(ModelAndView model, HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + LocalDate today=LocalDate.now(); + String time=parameters.get("time").toString(); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDate selectTime = LocalDate.parse(time, dateTimeFormatter); + LocalDate yesterday=today.minusDays(1); + LocalDate futureDay=today.plusDays(14); + Boolean isAfterYesterday=selectTime.isAfter(yesterday)||selectTime.isEqual(yesterday); + Boolean isAfterFutureDay=selectTime.isAfter(futureDay); + Map<String, Object> weatherInfoToday=weatherService.getWeatherDataByRegion(parameters); + Map<String, Object> weatherInfoForecast=new HashMap<>(); + if(isAfterYesterday&&!isAfterFutureDay){ + weatherInfoForecast= weatherService.get15DayWeatherDataByRegion(parameters); + } + Boolean isToday=selectTime.isEqual(today); + String mac=parameters.get("mac").toString(); + Device device = deviceService.getDeviceByMac(mac, false); + JSONObject params = new JSONObject(); + params.put("weatherInfoToday", weatherInfoToday); + params.put("weatherInfoForecast", weatherInfoForecast); + params.put("device", device); + params.put("isToday",isToday); + String paramsJson = params.toJSONString(); + model.addObject("pollutionSourceParams", paramsJson); + model.setViewName("pollutionsource"); + return model; + } + } -- Gitblit v1.8.0