From cd264145f9b4107f1430da46269dd306d26f3116 Mon Sep 17 00:00:00 2001 From: kaiyu <404897439@qq.com> Date: Mon, 16 Nov 2020 13:16:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/main/java/com/moral/controller/WebController.java | 98 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 94 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/moral/controller/WebController.java b/src/main/java/com/moral/controller/WebController.java index 71f880f..f88d02e 100644 --- a/src/main/java/com/moral/controller/WebController.java +++ b/src/main/java/com/moral/controller/WebController.java @@ -248,7 +248,7 @@ */ @GetMapping("fiveMinuteAvgData") - public ResultBean<List<Map<String, Object>>> getSensorFiveMinuteAvgData(HttpServletRequest request) { + public ResultBean<Map<String,Object>> getSensorFiveMinuteAvgData(HttpServletRequest request) { //���������������������������monitorpointId Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); if ((!parameters.containsKey("sensorKey")) || (!parameters.containsKey("monitorPointId"))) @@ -280,12 +280,102 @@ parameters.put("time", time); datas = historyFiveMinutelyService.getFiveMinutesDataByMacsAndTime(parameters); } - datas = insertDeviceInfo(datas, devices); - return new ResultBean<List<Map<String, Object>>>(datas); + //������monitorPointId��������������������� + List<Map<String,Object>> coordinate = new ArrayList<>(); + MonitorPoint monitorPoint = monitorPointService.queryMonitorPointById(monitorPointId); + Integer orgId = monitorPoint.getOrganizationId(); + List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByOrganizationId(orgId); + monitorPoints.forEach(value->{ + if("���������".equals(value.getDescription())) { + List list = LatLngTransformation.Convert_BD09_To_GCJ02(value.getLatitude(), value.getLongitude()); + Map<String,Object> controlStation = new HashMap<>(); + controlStation.put("name",value.getName()); + controlStation.put("longitude", list.get(0)); + controlStation.put("latitude", list.get(1)); + coordinate.add(controlStation); + } + }); + + Map<String,Object> datasMap = new HashMap<>(); + datasMap.put("coordinate",coordinate); + datasMap.put("device",datas); + + return new ResultBean<Map<String,Object>>(datasMap); } + @GetMapping("cangzhouMIdGetAllDevice") + public ResultBean<Map<String,Object>> cangzhouMIdGetAllDevice(HttpServletRequest request) { + //���������������������������monitorpointId + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null); + if ((!parameters.containsKey("sensorKey")) || (!parameters.containsKey("monitorPointId"))) + return ResultBean.fail("���������null"); + String sensorKey = (String) parameters.get("sensorKey"); + Integer monitorPointId = Integer.parseInt((String) parameters.get("monitorPointId")); + MonitorPoint mPoint = monitorPointService.queryMonitorPointById(monitorPointId); + Integer code = mPoint.getCityCode(); + List<Device> devices = null; + if (code == 130900){ + devices = deviceService.getDeviceByCode(); + }else { + devices = deviceService.getDevicesByMonitorPointId(monitorPointId); + } + //������monitorpointId������������������������������mac������ + if (ObjectUtils.isEmpty(devices)) + return ResultBean.fail("���������������������monitorPointId������"); + List<String> macs = new ArrayList<>(); + devices.forEach(p -> { + macs.add(p.getMac()); + }); + + //���������������mac��������������������������������������������������������� + Map<String, Object> timeAndYearMonth = getTimeAndYearMonthForFiveMinuteData(); + String time = (String) timeAndYearMonth.get("time"); + String yearAndMonth = (String) timeAndYearMonth.get("yearAndMonth"); + parameters.put("time", time); + parameters.put("yearAndMonth", yearAndMonth); + parameters.put("macs", macs); + List<Map<String, Object>> datas = historyFiveMinutelyService.getFiveMinutesDataByMacsAndTime(parameters); + + //������������������������������������������������������������������������������ + if (ObjectUtils.isEmpty(datas)) { + time = getFiveMinuteAgoTime(time); + parameters.put("time", time); + datas = historyFiveMinutelyService.getFiveMinutesDataByMacsAndTime(parameters); + } + datas = insertDeviceInfo(datas, devices); + + //������monitorPointId��������������������� + List<Map<String,Object>> coordinate = new ArrayList<>(); + MonitorPoint monitorPoint = monitorPointService.queryMonitorPointById(monitorPointId); + Integer orgId = monitorPoint.getOrganizationId(); + List<MonitorPoint> monitorPoints = monitorPointService.getMonitorPointsByOrganizationId(orgId); + monitorPoints.forEach(value->{ + if("���������".equals(value.getDescription())) { + List list = LatLngTransformation.Convert_BD09_To_GCJ02(value.getLatitude(), value.getLongitude()); + Map<String,Object> controlStation = new HashMap<>(); + controlStation.put("name",value.getName()); + controlStation.put("longitude", list.get(0)); + controlStation.put("latitude", list.get(1)); + coordinate.add(controlStation); + } + }); + + Map<String,Object> datasMap = new HashMap<>(); + datasMap.put("coordinate",coordinate); + datasMap.put("device",datas); + + return new ResultBean<Map<String,Object>>(datasMap); + } + + /** + * @Description: ������mac��������������������������������������������������������������������������������� + * @Param: [request] + * @return: com.moral.common.bean.ResultBean<java.util.Map<java.lang.String,java.lang.Object>> + * @Author: ������������ + * @Date: 2020/10/22 + */ @GetMapping("fiveMinuteAvgDataByMac") public ResultBean<Map<String, Object>> fiveMinuteAvgDataByMac(HttpServletRequest request) { //���������������mac��� @@ -334,7 +424,7 @@ }); //������������������ - Map<String, Object> sortDatas = new LinkedHashMap<>(); + Map<String, Object> sortDatas = new LinkedHashMap<>();//��������������������������������������� Device device = deviceService.getDeviceByMac(mac, true); sortDatas.put("������", device.getName()); -- Gitblit v1.8.0