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