From b3a7d3d28ee5934a4f3fdb89b50c681667440c68 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Fri, 20 Nov 2020 17:30:24 +0800
Subject: [PATCH] 导出数据接口update

---
 src/main/java/com/moral/controller/WebController.java |  163 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 118 insertions(+), 45 deletions(-)

diff --git a/src/main/java/com/moral/controller/WebController.java b/src/main/java/com/moral/controller/WebController.java
index 6056412..f88d02e 100644
--- a/src/main/java/com/moral/controller/WebController.java
+++ b/src/main/java/com/moral/controller/WebController.java
@@ -9,19 +9,23 @@
 import com.moral.service.*;
 import com.moral.util.DateUtil;
 import com.moral.util.LatLngTransformation;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import jdk.nashorn.internal.runtime.logging.Logger;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.PostConstruct;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
-import org.apache.log4j.Logger;
-
+import static com.moral.common.util.WebUtils.getParametersStartingWith;
 
 @RestController
 @RequestMapping("/web")
@@ -29,7 +33,6 @@
 @SuppressWarnings({"rawtypes", "unchecked", "unused"})
 public class WebController {
 
-    private static Logger log = Logger.getLogger(WebController.class);
     private static Map<String, Sensor> sensors;
 
     @PostConstruct
@@ -73,7 +76,7 @@
     /**
      * @Description: ������������
      * @Param: [parameters]
-     * @return: java.util.Map<java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>
+     * @return: java.util.Map<java.lang.String               ,               java.lang.Object>
      * @Author: ������������
      * @Date: 2020/10/19
      */
@@ -97,7 +100,7 @@
     /**
      * @Description: ������������
      * @Param: [request]
-     * @return: java.util.Map<java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>
+     * @return: java.util.Map<java.lang.String               ,               java.lang.Object>
      * @Author: ������������
      * @Date: 2020/10/19
      */
@@ -115,7 +118,7 @@
     /**
      * @Description:
      * @Param: [request]
-     * @return: java.util.Map<java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>
+     * @return: java.util.Map<java.lang.String               ,               java.lang.Object>
      * @Author: ������������
      * @Date: 2020/10/19
      */
@@ -179,7 +182,7 @@
     /**
      * @Description: ������������������������
      * @Param: [request]
-     * @return: com.moral.common.bean.ResultBean<java.util.List                                                                                                                               <                                                                                                                               java.util.Map                                                                                                                               <                                                                                                                               java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>>>
+     * @return: com.moral.common.bean.ResultBean<java.util.List               <               java.util.Map               <               java.lang.String               ,               java.lang.Object>>>
      * @Author: ������������
      * @Date: 2020/10/19
      */
@@ -208,7 +211,7 @@
     /**
      * @Description: ������������������������������
      * @Param: [request]
-     * @return: com.moral.common.bean.ResultBean<java.util.List                                                                                                                               <                                                                                                                               com.moral.entity.MonitorPoint>>
+     * @return: com.moral.common.bean.ResultBean<java.util.List               <               com.moral.entity.MonitorPoint>>
      * @Author: ������������
      * @Date: 2020/10/19
      */
@@ -224,7 +227,7 @@
     /**
      * @Description: ���������������������������������������
      * @Param: [request]
-     * @return: com.moral.common.bean.ResultBean<java.util.List                                                                                                                               <                                                                                                                               com.moral.entity.Device>>
+     * @return: com.moral.common.bean.ResultBean<java.util.List               <               com.moral.entity.Device>>
      * @Author: ������������
      * @Date: 2020/10/19
      */
@@ -239,20 +242,19 @@
     /**
      * @Description: ������monitorId���������������������������������������������������������������������
      * @Param: []
-     * @return: com.moral.common.bean.ResultBean<java.util.Map                                                                                                                               <                                                                                                                               java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>>
+     * @return: com.moral.common.bean.ResultBean<java.util.Map               <               java.lang.String               ,               java.lang.Object>>
      * @Author: ������������
      * @Date: 2020/10/19
      */
 
     @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")))
             return ResultBean.fail("���������null");
         String sensorKey = (String) parameters.get("sensorKey");
         Integer monitorPointId = Integer.parseInt((String) parameters.get("monitorPointId"));
-
 
         //������monitorpointId������������������������������mac������
         List<Device> devices = deviceService.getDevicesByMonitorPointId(monitorPointId);
@@ -278,22 +280,109 @@
             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("getFiveMinuteAvgDataByMac")
-    public ResultBean<Map<String, Object>> getFiveMinuteAvgDataByMac(HttpServletRequest request) {
-        try{
+    @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���
         Map<String, Object> parameters = WebUtils.getParametersStartingWith(request, null);
         if ((!parameters.containsKey("mac")))
             return ResultBean.fail("���������null");
         String mac = (String) parameters.get("mac");
-        log.info("���������mac������");
-
 
         //������mac������orgId
         String orgId = monitorPointService.getOrgIdByMac(mac);
@@ -301,33 +390,25 @@
         //���������������������������������������������������������������������������������
         Map<String, Object> specialSensors = organizationSensorsService.getSensorsByOrgId(orgId);
 
-        try {
-            if (ObjectUtils.isEmpty(specialSensors)) {
-                List<String> sensorKeys = sensorService.getSensorKeys();
-                parameters.put("sensorKeys", sensorKeys);
-            } else {
-                String sensorKeys = (String) specialSensors.get("sensors");
-                sensorKeys.trim();
-                sensorKeys = sensorKeys.substring(1, sensorKeys.length() - 1);
-                parameters.put("sensorKeys", Arrays.asList(sensorKeys.split(",")));
-            }
-        } catch (Exception e) {
-            log.error(e.getMessage());
+        if (ObjectUtils.isEmpty(specialSensors)) {
+            List<String> sensorKeys = sensorService.getSensorKeys();
+            parameters.put("sensorKeys", sensorKeys);
+        } else {
+            String sensorKeys = (String) specialSensors.get("sensors");
+            sensorKeys.trim();
+            sensorKeys = sensorKeys.substring(1, sensorKeys.length() - 1);
+            parameters.put("sensorKeys", Arrays.asList(sensorKeys.split(",")));
         }
-        log.info("������������������������");
 
         //������������������
-
         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("mac", mac);
-        log.info("������������������");
 
         Map<String, Object> datas = historyFiveMinutelyService.getFiveMinutesDataByMac(parameters);
-        log.info("������������");
 
         //������������������������������������������������������������������������������
         if (ObjectUtils.isEmpty(datas)) {
@@ -335,20 +416,17 @@
             parameters.put("time", time);
             datas = historyFiveMinutelyService.getFiveMinutesDataByMac(parameters);
         }
-        log.info("������������������������");
 
 
         //������������������
         datas.values().removeIf((value) -> {
             return ObjectUtils.isEmpty(value) || value.equals("[0, 0, 0]");
         });
-        log.info("������������������");
 
         //������������������
-        Map<String, Object> sortDatas = new LinkedHashMap<>();
+        Map<String, Object> sortDatas = new LinkedHashMap<>();//���������������������������������������
         Device device = deviceService.getDeviceByMac(mac, true);
         sortDatas.put("������", device.getName());
-        log.info("������������������");
 
         //������������������
         datas.forEach((key, value) -> {
@@ -361,22 +439,17 @@
                 sortDatas.put(sensor.getName(), Arrays.asList(str.split(",")).get(0) + unit);
             }
         });
-        log.info("������������");
 
         sortDatas.put("������", time);
 
         return new ResultBean<Map<String, Object>>(sortDatas);
-        }catch (Exception e){
-            log.error(e.getMessage());
-            return null;
-        }
     }
 
 
     /**
      * @Description: ���������������������������������������state
      * @Param: [datas, devices]
-     * @return: java.util.List<java.util.Map                                                                                                                               <                                                                                                                               java.lang.String                                                                                                                               ,                                                                                                                               java.lang.Object>>
+     * @return: java.util.List<java.util.Map               <               java.lang.String               ,               java.lang.Object>>
      * @Author: ������������
      * @Date: 2020/10/19
      */

--
Gitblit v1.8.0