From 00e38ff225eb948f5234934afc01aa54c94e0de6 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Sat, 10 Oct 2020 11:29:36 +0800
Subject: [PATCH] update

---
 src/main/java/com/moral/service/DeviceRoadService.java              |    9 +
 src/main/resources/mapper/MonitorPointMapper.xml                    |   16 +++
 src/main/java/com/moral/service/HistorySpecialService.java          |    8 +
 src/main/resources/mapper/DeviceRoadMapper.xml                      |    9 +
 src/main/webapp/js/newmoralmap.js                                   |   39 +++++++
 src/main/java/com/moral/service/impl/HistorySpecialServiceImpl.java |   16 +++
 src/main/java/com/moral/controller/ScreenController.java            |    4 
 src/main/java/com/moral/service/impl/DeviceRoadServiceImpl.java     |  130 ++++++++++++++++++++++++++
 src/main/webapp/view/newmap.jsp                                     |    2 
 src/main/java/com/moral/mapper/HistorySpecialMapper.java            |   10 ++
 src/main/java/com/moral/mapper/MonitorPointMapper.java              |    2 
 src/main/resources/mapper/HistorySpecialMapper.xml                  |    5 +
 12 files changed, 247 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 5078ce8..f7bd691 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -2248,7 +2248,7 @@
         return alarmData;
 }
 
-    @GetMapping("/lianxian")
+  /*  @GetMapping("/lianxian")
     @ApiOperation(value = "������", notes = "������" )
     @ApiImplicitParams(value = {
             @ApiImplicitParam(name = "lonAndLat", value = "���������", required = true, paramType = "query", dataType = "String")})
@@ -2272,5 +2272,5 @@
         model.addObject("params", params);
         model.setViewName("lianxian");
         return model;
-    }
+    }*/
 }
diff --git a/src/main/java/com/moral/mapper/HistorySpecialMapper.java b/src/main/java/com/moral/mapper/HistorySpecialMapper.java
new file mode 100644
index 0000000..559568c
--- /dev/null
+++ b/src/main/java/com/moral/mapper/HistorySpecialMapper.java
@@ -0,0 +1,10 @@
+package com.moral.mapper;
+
+import com.moral.service.HistoryService;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface HistorySpecialMapper {
+}
diff --git a/src/main/java/com/moral/mapper/MonitorPointMapper.java b/src/main/java/com/moral/mapper/MonitorPointMapper.java
index 3f8320e..ad96bd6 100644
--- a/src/main/java/com/moral/mapper/MonitorPointMapper.java
+++ b/src/main/java/com/moral/mapper/MonitorPointMapper.java
@@ -44,4 +44,6 @@
     MonitorPoint getFirstMonitorPointByProvinceCode(@Param("provinceCode") int provinceCode);
 
     List<Integer> getMonitorPointIds(Map<String, Object> params);
+
+    List<MonitorPoint> byCodeGetMonitor(Map<String, Object> params);
 }
\ No newline at end of file
diff --git a/src/main/java/com/moral/service/DeviceRoadService.java b/src/main/java/com/moral/service/DeviceRoadService.java
new file mode 100644
index 0000000..a0dd769
--- /dev/null
+++ b/src/main/java/com/moral/service/DeviceRoadService.java
@@ -0,0 +1,9 @@
+package com.moral.service;
+
+import com.moral.entity.DeviceRoad;
+
+import java.util.List;
+
+public interface DeviceRoadService {
+    List<DeviceRoad> getAlarmData(String windData, String code, String mac, String speedLevel);
+}
diff --git a/src/main/java/com/moral/service/HistorySpecialService.java b/src/main/java/com/moral/service/HistorySpecialService.java
new file mode 100644
index 0000000..68266a2
--- /dev/null
+++ b/src/main/java/com/moral/service/HistorySpecialService.java
@@ -0,0 +1,8 @@
+package com.moral.service;
+
+import java.util.List;
+import java.util.Map;
+
+public interface HistorySpecialService {
+
+}
diff --git a/src/main/java/com/moral/service/impl/DeviceRoadServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceRoadServiceImpl.java
new file mode 100644
index 0000000..6d92ac0
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/DeviceRoadServiceImpl.java
@@ -0,0 +1,130 @@
+package com.moral.service.impl;
+
+import com.moral.entity.Device;
+import com.moral.entity.DeviceRoad;
+import com.moral.entity.MonitorPoint;
+import com.moral.mapper.DeviceRoadMapper;
+import com.moral.mapper.MonitorPointMapper;
+import com.moral.service.DeviceRoadService;
+import com.moral.util.MyLatLng;
+import com.moral.util.mapUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.web.socket.sockjs.transport.handler.JsonpPollingTransportHandler;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class DeviceRoadServiceImpl implements DeviceRoadService {
+    @Resource
+    private MonitorPointMapper monitorPointMapper;
+    @Resource
+    private DeviceRoadMapper deviceRoadMapper;
+
+    @Override
+    public List<DeviceRoad> getAlarmData(String windData, String code, String mac, String speedLevel) {
+        int len = code.length();
+        Map params = new HashMap();
+        String townCode = null;
+        String areaCode = null;
+        String cityCode = null;
+        if (len == 12) {
+            townCode = code;
+        } else if (code.substring(4, 6).equals("00")) {
+            cityCode = code;
+        } else {
+            areaCode = code;
+        }
+        params.put("townCode", townCode);
+        params.put("areaCode", areaCode);
+        params.put("cityCode", cityCode);
+        List<MonitorPoint> monitorPointList = monitorPointMapper.byCodeGetMonitor(params);
+        List<MonitorPoint> monitorPoints = new ArrayList();
+        List<Device> allDeviceList = new ArrayList();
+        //���������������������������������������������������������������������������������������������������������
+        for (MonitorPoint monitorPoint : monitorPointList) {
+            String description = monitorPoint.getDescription();
+            if (description != null) {
+                if (monitorPoint.getDescription().equals("���������")) {
+                    int monitorId = monitorPoint.getId();
+                    MonitorPoint monitorPointG = monitorPointMapper.getMonitorPointById(monitorId);
+                    monitorPoints.add(monitorPointG);
+                    List<Device> deviceList = monitorPointMapper.getDeviceList(monitorId);
+                    for (Device device : deviceList) {
+                        String state = device.getState();
+                        if (state.equals("1") || state.equals("2") || state.equals("0")) {
+                            allDeviceList.add(device);
+                        }
+                    }
+                }
+            }
+        }
+        List drlist = null;
+        if (allDeviceList.size() > 0) {
+            for (int i = 0; i < allDeviceList.size(); i++) {
+                if (/*allDeviceList.get(i).getMac()*/("p5dnd7a0392210").equals(mac)) {
+
+                    Double lng = allDeviceList.get(i).getLongitude();
+                    Double lat = allDeviceList.get(i).getLatitude();
+                    List<Integer> iList = new ArrayList<Integer>();
+                    //���������������������������������������������,������������5000������������
+                    for (int j = 0; j < monitorPoints.size(); j++) {
+                        Double distance = 0.0;
+                        Double mLat = monitorPoints.get(j).getLatitude();
+                        Double mLng = monitorPoints.get(j).getLongitude();
+                        distance = mapUtils.getDistance(lng, lat, mLng, mLat);
+                        if (distance < 5000) {
+                            iList.add(j);
+                        } else {
+                            continue;
+                        }
+                    }
+                    List<Integer> indexList = new ArrayList<Integer>();
+                    if (iList.size() > 0) {
+                        for (int q = 0; q < iList.size(); q++) {
+                            int index = iList.get(q);
+                            Double latitude = monitorPoints.get(index).getLatitude();
+                            Double longitude = monitorPoints.get(index).getLongitude();
+                            Double angle = mapUtils.getAngle(new MyLatLng(lng, lat), new MyLatLng(longitude, latitude));
+                            Double angleDiff = angle - Double.parseDouble(windData);
+                            if (Math.abs(angleDiff) < 30.0) {
+                                indexList.add(index);
+                            } else {
+                                continue;
+                            }
+                        }
+                    }
+                    List<MonitorPoint> monitorPoints1 = new ArrayList<MonitorPoint>();
+                    if (indexList.size() > 0) {
+                        for (int k = 0; k < indexList.size(); k++) {
+                            MonitorPoint monitorPoint1 = monitorPoints.get(indexList.get(k));
+                            monitorPoints1.add(monitorPoint1);
+                        }
+                    }
+
+
+                    //System.out.println(monitorPoints1.size());
+                    if (monitorPoints1.size() > 0) {
+                        drlist = new ArrayList();
+                        for (MonitorPoint point : monitorPoints1) {
+                            List<DeviceRoad> list = deviceRoadMapper.getData(mac, point.getId());
+                            drlist.add(list);
+                        }
+
+                    }
+
+
+                    //System.out.println("==========" + drlist);
+                }
+            }
+
+        }
+
+        return drlist;
+    }
+}
+
+
diff --git a/src/main/java/com/moral/service/impl/HistorySpecialServiceImpl.java b/src/main/java/com/moral/service/impl/HistorySpecialServiceImpl.java
new file mode 100644
index 0000000..f6ae36b
--- /dev/null
+++ b/src/main/java/com/moral/service/impl/HistorySpecialServiceImpl.java
@@ -0,0 +1,16 @@
+package com.moral.service.impl;
+
+import com.moral.mapper.HistorySpecialMapper;
+import com.moral.service.HistoryService;
+import com.moral.service.HistorySpecialService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class HistorySpecialServiceImpl implements HistorySpecialService {
+    @Resource
+    HistorySpecialMapper historySpecialMapper;
+}
diff --git a/src/main/resources/mapper/DeviceRoadMapper.xml b/src/main/resources/mapper/DeviceRoadMapper.xml
new file mode 100644
index 0000000..691a169
--- /dev/null
+++ b/src/main/resources/mapper/DeviceRoadMapper.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.DeviceRoadMapper">
+
+
+    <select id="getData" resultType="com.moral.entity.DeviceRoad">
+        select * from device_road where mac=#{mac} and national_monitorPoint_id=#{monitorPointId}
+    </select>
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/HistorySpecialMapper.xml b/src/main/resources/mapper/HistorySpecialMapper.xml
new file mode 100644
index 0000000..01d4905
--- /dev/null
+++ b/src/main/resources/mapper/HistorySpecialMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.mapper.HistorySpecialMapper">
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/MonitorPointMapper.xml b/src/main/resources/mapper/MonitorPointMapper.xml
index 8c39e82..eacf56d 100644
--- a/src/main/resources/mapper/MonitorPointMapper.xml
+++ b/src/main/resources/mapper/MonitorPointMapper.xml
@@ -203,4 +203,20 @@
             province_code = #{provinceCode}
         </if>
     </select>
+    <select id="byCodeGetMonitor" resultType="com.moral.entity.MonitorPoint">
+        select * from monitor_point
+        where
+        <if test="townCode != null">
+            town_code = #{townCode}
+        </if>
+        <if test="areaCode != null">
+            area_code = #{areaCode}
+        </if>
+        <if test="cityCode != null">
+            city_code = #{cityCode}
+        </if>
+        <if test="provinceCode != null">
+            province_code = #{provinceCode}
+        </if>
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/src/main/webapp/js/newmoralmap.js b/src/main/webapp/js/newmoralmap.js
index f6e05a6..bcb1e24 100644
--- a/src/main/webapp/js/newmoralmap.js
+++ b/src/main/webapp/js/newmoralmap.js
@@ -1233,6 +1233,45 @@
         }
     }
 
+
+    moralMap.getRoad=function(data,regionCode){
+
+        var wind =data["e23"];
+        var mac=data["mac"];
+        var windSpeed=data["e18"] ;
+        var speedLevel;
+        if (windSpeed >= 0 && windSpeed <= 0.2) {
+            speedLevel = 0;
+        } else if (windSpeed > 0.2 && windSpeed <= 1.5) {
+            speedLevel = 1;
+        } else if (windSpeed > 1.5 && windSpeed <= 3.3) {
+            speedLevel = 2;
+        } else if (windSpeed > 3.3 && windSpeed <= 5.4) {
+            speedLevel = 3;
+        } else if (windSpeed > 5.4 && windSpeed <= 7.9) {
+            speedLevel = 4;
+        } else if (windSpeed > 7.9 && windSpeed <= 10.7) {
+            speedLevel = 5;
+        } else if (windSpeed > 10.7 && windSpeed <= 13.8) {
+            speedLevel = 6;
+        } else if (windSpeed > 13.8 && windSpeed <= 17.1) {
+            speedLevel = 7;
+        } else if (windSpeed > 17.1) {
+            speedLevel = 8;
+        }
+
+        $.ajax({
+            url: "/screen/getAlarm",
+            type: "get",
+            dataType: "json",
+            data:{"windData":wind,"code":regionCode,"mac":mac,"speedLevel":speedLevel},
+            success: function (info) {
+                console.log("---------------"+info);
+            },
+
+        })
+    }
+
     moralMap.refreshWindDir = function (devicesInfo) {
         var deviceInfo = devicesInfo;
         var mac = deviceInfo["mac"];
diff --git a/src/main/webapp/view/newmap.jsp b/src/main/webapp/view/newmap.jsp
index c042725..127b796 100644
--- a/src/main/webapp/view/newmap.jsp
+++ b/src/main/webapp/view/newmap.jsp
@@ -370,7 +370,6 @@
 <textarea id="close" hidden></textarea>
 
 <div class="main_body">
-    <%--<input  id="button" type="button" value="������" onclick="getJs();">--%>
     <div class="tools_box">
         <div class="charts_btn">
         </div>
@@ -705,6 +704,7 @@
             //������������������
             ws.onmessage = function (msg) {
                 // $("#searchParam").val(JSON.parse(msg.data));
+                moralMap.getRoad(JSON.parse(JSON.parse(msg.data)),regionCode);
                 moralMap.refreshWindDir(JSON.parse(JSON.parse(msg.data)));
                 /*  if (moralMap.showSensors && typeof (moralMap.showSensors) == "function") {
                       moralMap.showSensors(JSON.parse(JSON.parse(msg.data)));

--
Gitblit v1.8.0