From e8ef361dc975aeaedeee6f28dfe679489a22f9d5 Mon Sep 17 00:00:00 2001 From: ZhuDongming <773644075@qq.com> Date: Mon, 02 Sep 2019 17:42:06 +0800 Subject: [PATCH] Merge branch 'master' of http://blit.7drlb.com:8888/r/screen_api_v2 --- src/main/java/com/moral/controller/ScreenController.java | 102 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 98 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 014b1a0..54cfd04 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -8,6 +8,10 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.text.DecimalFormat; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.Month; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -65,6 +69,7 @@ import com.moral.entity.MapBounds; import com.moral.entity.MonitorPoint; import com.moral.entity.Organization; +import com.moral.entity.Point; import com.moral.entity.Region; import com.moral.entity.alarm.AlarmConfig; import com.moral.entity.alarm.AlarmConfigValue; @@ -80,6 +85,7 @@ import com.moral.service.DictionaryDataService; import com.moral.service.HangzhouAqiService; import com.moral.service.HistoryDailyService; +import com.moral.service.HistoryHourlyService; import com.moral.service.HistoryMinutelyService; import com.moral.service.HistoryService; import com.moral.service.MachineActivateService; @@ -90,6 +96,7 @@ import com.moral.service.SensorService; import com.moral.service.SensorUnitService; import com.moral.service.WeatherService; +import com.moral.util.AQICalculation; import com.moral.util.TempAllocationUtils; import io.swagger.annotations.Api; @@ -138,6 +145,9 @@ */ @Resource private DeviceService deviceService; + + @Resource + private HistoryHourlyService historyHourlyService; @Resource private HistoryMinutelyService historyMinutelyService; @@ -1183,16 +1193,24 @@ 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<Map<String, Object>> sensorListMin = historyMinutelyService.getSensorDataMin(parameters); - List<Map<String, Object>> sensorListMax = historyMinutelyService.getSensorDataMax(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 { StringBuilder msg = new StringBuilder(); @@ -1204,4 +1222,80 @@ } } + @GetMapping("/pollutionSource") + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������mac������(������898607b0101730392254)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensorKey", value = "������������������������key(���������e1)", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������������(���������2019-09-01-10)", required = true, paramType = "query", dataType = "String")}) + public ModelAndView pollutionSource(ModelAndView model, HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String timeStr = parameters.get("time").toString(); + String YearAndDay = timeStr.substring(0, timeStr.lastIndexOf("-")); + String Hour = timeStr.substring(timeStr.lastIndexOf("-") + 1); + String time = YearAndDay + " " + Hour + ":00:00"; + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime timeLocalDateTime = LocalDateTime.parse(time, dateTimeFormatter); + System.out.println(timeLocalDateTime); + int month = timeLocalDateTime.getMonth().getValue(); + Point dirPoint= historyHourlyService.getDirPoint(parameters); + Map<String,Object> getPollutionSourceData=historyHourlyService.getPollutionSourceData(parameters); + System.out.println(dirPoint.toString()); + System.out.println("getPollutionSourceData:"+getPollutionSourceData); + String mac = parameters.get("mac").toString(); + Device device = deviceService.getDeviceByMac(mac, false); + JSONObject params = new JSONObject(); + params.put("device", device); + params.put("month", month); + params.put("dirPoint",dirPoint); + params.put("getPollutionSourceData",getPollutionSourceData); + String paramsJson = params.toJSONString(); + model.addObject("pollutionSourceParams", paramsJson); + model.setViewName("pollutionsource"); + return model; + } + + @GetMapping("getAirQualityComparison") + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "organizationId", defaultValue = "5", value = "���������������������id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "monitor_point_id", defaultValue = "5", value = "������������id", required = true, paramType = "query", dataType = "String")}) + public ResultBean<Map<String, Object>> getAirQualityComparison(HttpServletRequest request) throws Exception { + Map<String, Object> parameters = getParametersStartingWith(request, null); + Map<String, Object> map = weatherService.getWeatherDataByRegion(parameters); + Map<String, Double> sensorMap = new HashMap<>(); + sensorMap.put("e1", Double.parseDouble(map.get("pm25").toString())); + sensorMap.put("e2", Double.parseDouble(map.get("pm10").toString())); + sensorMap.put("e11", Double.parseDouble(map.get("so2").toString())); + sensorMap.put("e16", Double.parseDouble(map.get("no2").toString())); + sensorMap.put("e10", Double.parseDouble(map.get("co").toString())); + sensorMap.put("e15", Double.parseDouble(map.get("o3").toString())); + Map<String, Object> StateControl = AQICalculation.hourlyAQI(sensorMap); + System.out.println("StateControl:"+StateControl); + Map<String, Object> hourAqi = historyService.gitHourlyAQIByMonitorPointIdAndTimeslot(parameters); + System.out.println("hourAqi:"+hourAqi); + Map<String, Object> returnMap = new HashMap<>(); + returnMap.put("������AQI", hourAqi.get("AQI")); + returnMap.put("������AQI", StateControl.get("AQI")); + return new ResultBean<Map<String, Object>>(returnMap); + } + + + @GetMapping("mointorPointRank") + @ApiOperation(value = "������������������", notes = "������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "accountId", value = "������id", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "sensor", value = "������", required = true, paramType = "query", dataType = "String") + }) + public ResultBean<List<Map<String, Object>>> getMointorPointRank(HttpServletRequest request){ + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String id = parameters.get("accountId").toString(); + String sensor = parameters.get("sensor").toString(); + Map<String, Object> account = accountService.getOrganizationIdByAccountId(id); + //������������id������������������������������ + account.put("sensor", sensor); + List<Map<String, Object>> returnList = historyService.getMointorPointRankByOrganizationId(account); + return new ResultBean<List<Map<String, Object>>>(returnList); + } + } -- Gitblit v1.8.0