From a3d67cd77e3f3d06000e032374329c870b2997a4 Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Mon, 24 Jun 2019 09:12:41 +0800 Subject: [PATCH] update --- src/main/java/com/moral/controller/ScreenController.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 97 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 99f35a6..3e19794 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -85,6 +85,7 @@ import com.moral.service.OrganizationService; import com.moral.service.QualityDailyService; import com.moral.service.SensorService; +import com.moral.service.SensorUnitService; import com.moral.service.WeatherService; import io.swagger.annotations.Api; @@ -109,6 +110,8 @@ @Resource SensorService sensorService; + @Resource + SensorUnitService sensorUnitService; @Resource MonitorPointService monitorPointService; @Resource @@ -899,17 +902,19 @@ String mac = parameters.get("mac").toString(); String sensorKey = parameters.get("sensorKey").toString(); String time = parameters.get("time").toString(); - Long code = monitorPoint.getAreaCode().longValue(); - String regionName = areaService.queryFullNameByCode(code); - Device device = deviceService.getDeviceByMac(mac, false); if (monitorPoint != null && mac != null && sensorKey != null && time != null) { Map<String, Double> resultMap = historyDailyService.getTraceabilityData(parameters); JSONObject params = new JSONObject(); + Long code = monitorPoint.getAreaCode().longValue(); + String regionName = areaService.queryFullNameByCode(code); + Device device = deviceService.getDeviceByMac(mac, false); + Device deviceSecond = deviceService.getDeviceByLongitudeAsc(mac); params.put("sensorInfo", resultMap); params.put("regionCode", code); params.put("regionName", regionName); params.put("monitorPoint", monitorPoint); params.put("device", device); + params.put("deviceSecond",deviceSecond); String paramsJson = params.toJSONString(); model.addObject("traceabilityParams", paramsJson); model.setViewName("traceability"); @@ -917,7 +922,7 @@ } else { StringBuilder msg = new StringBuilder(); msg.append(" param[0] monitorPointId:"); - msg.append(monitorPointId.toString()); + msg.append(monitorPointId); msg.append(" param[0] mac:"); msg.append(mac); msg.append(" param[0] sensorKey:"); @@ -929,5 +934,93 @@ return model; } } + + /*@GetMapping("getSensor") + @ApiOperation(value = "������������", notes = "������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "mac", value = "������MN���", required = true, paramType = "query", dataType = "String") + }) + public ResultBean<Map<String, Object>> getSensor(HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String mac = (String) parameters.get("mac"); + //System.out.println("ScreenController-----getSensor-----mac:"+mac); + Map<String, Object> map = sensorUnitService.getSensorByMac(mac); + System.out.println("ScreenController-----getSensor-----map:"+map); + return new ResultBean<Map<String, Object>>(map); + }*/ + + @GetMapping("getSensorByMonitorPointId") + @ApiOperation(value = "������������", notes = "������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "monitor_point_id", value = "������������id", required = true, paramType = "query", dataType = "String") + }) + public ResultBean<List<Map<String, Object>>> getSensorByMonitorPointId(HttpServletRequest request) throws Exception { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + String monitor_point_id = (String) parameters.get("monitor_point_id"); + List<Map<String, Object>> map = sensorUnitService.getSensorsByMonitPointId2(monitor_point_id); + return new ResultBean<List<Map<String, Object>>>(map); + } + + @GetMapping("AIForecast") + @ApiOperation(value = "AI������", notes = "AI������") + @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 = "sensorKey", value = "���������key,���������������������������", required = true, paramType = "query", dataType = "String"), + @ApiImplicitParam(name = "time", value = "������,���(���������2018-03-06)", required = true, paramType = "query", dataType = "String"), + }) + public ResultBean<List<Map<String, Object>>> AIForecast (HttpServletRequest request) throws Exception { + Map<String, Object> parameters = getParametersStartingWith(request, null); + //System.out.println(parameters); + String intoTime = parameters.get("time").toString(); + String[] timeArray = intoTime.split("-"); + //System.out.println(timeArray); + Integer year = Integer.parseInt(timeArray[0]); + Integer mon = Integer.parseInt(timeArray[1]); + if(mon>1) { + mon = mon-1; + }else { + mon = 12; + year = year-1; + } + String alterTime = year.toString()+"-"+mon.toString()+"-"+timeArray[2]; + //System.out.println(alterTime); + parameters.put("time", alterTime); + ParameterUtils.getTimeType4Time(parameters); + String monitor_point_id = (String) parameters.get("monitorPoint"); + parameters.put("monitorPointId", parameters.remove("monitorPoint")); + String[] sensorKeys = parameters.remove("sensorKey").toString().split(","); + parameters.put("sensors", Arrays.asList(sensorKeys)); + // monitorPointService.isCompensateCalculation(parameters); + List<Map<String, Object>> list = historyMinutelyService.getMonitorPointOrDeviceAvgData(parameters); + + //������������������ + Map<String, Map<String, Object>> sensorUnitMap = sensorUnitService.getSensorsByMonitPointId(monitor_point_id); + + for (Map<String, Object> map : list) { + String time = map.get("time").toString(); + time = time.substring(time.length() - 2); + map.put("time", Integer.valueOf(time)); + List<Number> values = new ArrayList<Number>(); + List<String> units = new ArrayList<String>(); + for (String string : sensorKeys) { + if(sensorUnitMap!=null && !sensorUnitMap.isEmpty()) { + if(sensorUnitMap.get(string)!=null) { + units.add(sensorUnitMap.get(string).get("name").toString()); + }else { + Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string); + units.add(sensorMap.get("unit").toString()); + } + }else { + Map<String, Object> sensorMap = sensorService.getSensorBySensorKey(string); + units.add(sensorMap.get("unit").toString()); + } + values.add((Number) map.remove(string)); + } + map.put("values", values); + map.put("units", units); + } + return new ResultBean<List<Map<String, Object>>>(list); + } } -- Gitblit v1.8.0