From baa11d154e41d24a790596899b329faaa19b24be Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Wed, 13 Nov 2019 09:31:40 +0800
Subject: [PATCH] update污染溯源

---
 src/main/webapp/view/pollutionsource.jsp                           |   65 +++++++++++++++++++++++++++-----
 src/main/resources/mapper/AccountMapper.xml                        |    4 +-
 src/main/java/com/moral/controller/ScreenController.java           |    3 +
 src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java |    2 
 4 files changed, 60 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index 9a4183f..20c720a 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -1215,6 +1215,9 @@
         if (MapUtils.isEmpty(getPollutionSourceData)) {
             getPollutionSourceData = historyHourlyService.getPollutionSourceDataAll(parameters);
         }
+        if (MapUtils.isEmpty(getPollutionSourceData)) {
+            getPollutionSourceData = new HashMap<>();
+        }
         String mac = parameters.get("mac").toString();
         Device device = deviceService.getDeviceByMac(mac, false);
         JSONObject params = new JSONObject();
diff --git a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java
index 01c42b7..314a26d 100644
--- a/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryHourlyServiceImpl.java
@@ -109,7 +109,7 @@
         Device device = deviceService.getDeviceByMac(mac, false);
         Point pointEnd = new Point();
         if (MapUtils.isNotEmpty(pollutionSourceData)) {
-            if (pollutionSourceData.get("e18") != null && pollutionSourceData.get("e23") != null && pollutionSourceData.get("e6") != null) {
+            if (pollutionSourceData.get("e18") != null && pollutionSourceData.get("e23") != null) {
                 double windSpeed = Double.valueOf(pollutionSourceData.get("e18").toString());
                 double winDir = Double.valueOf(pollutionSourceData.get("e23").toString());
                 double distance = windSpeed * 3600;
diff --git a/src/main/resources/mapper/AccountMapper.xml b/src/main/resources/mapper/AccountMapper.xml
index a7e353d..2c97198 100644
--- a/src/main/resources/mapper/AccountMapper.xml
+++ b/src/main/resources/mapper/AccountMapper.xml
@@ -108,7 +108,7 @@
             where
                 a.account_name = #{accountName} and r.is_delete=0 and r.id is not null
         )
-        where m.menu_parent_id=0
+        where m.menu_parent_id=0 and m.is_delete=0
         order by m.menu_order
     </select>
 
@@ -132,7 +132,7 @@
             where
                 a.account_name = #{accountName} and r.is_delete=0 and r.id is not null
         )
-        where m.menu_parent_id = #{id}
+        where m.menu_parent_id = #{id} and m.is_delete=0
         order by m.menu_order
     </select>
 
diff --git a/src/main/webapp/view/pollutionsource.jsp b/src/main/webapp/view/pollutionsource.jsp
index b9a9f7b..927aa8c 100644
--- a/src/main/webapp/view/pollutionsource.jsp
+++ b/src/main/webapp/view/pollutionsource.jsp
@@ -123,7 +123,7 @@
 <body>
 <div class="main_body">
     <input type="button" id="show" value="������������"/>
-    <div id="cpm">������������������</div>
+    <div id="cpm"></div>
     <div id="mapCanvas"></div> <!-- ������������ -->
     <!-- ���sensorInfo,regionCode,regionName,monitorPoint,device-->
     <div id="pollutionSourceParams" style="display: none;">
@@ -162,10 +162,12 @@
     var marker = new BMap.Marker(point, {icon: icon, offset: new BMap.Size(0, -20)});
     map.addOverlay(marker);
     map.centerAndZoom(point, 16);
-    if (!$.isEmptyObject(dirPoint) && !$.isEmptyObject(getPollutionSourceData) && typeof (getPollutionSourceData["e6"]) != "undefined" && typeof (getPollutionSourceData["e7"]) != "undefined" && typeof (getPollutionSourceData["e18"]) != "undefined" && typeof (getPollutionSourceData["e23"]) != "undefined") {
+    var humidity = 0;
+    var temperature = 0;
+    if (!$.isEmptyObject(dirPoint) && !$.isEmptyObject(getPollutionSourceData) && typeof (getPollutionSourceData["e18"]) != "undefined" && typeof (getPollutionSourceData["e23"]) != "undefined" && getPollutionSourceData["e18"] != 0) {
         var windSpeed = parseFloat(getPollutionSourceData["e18"]);
         var windDir = parseFloat(getPollutionSourceData["e23"]);
-        var distance = windSpeed * 3600>108? windSpeed * 3600:108;
+        var distance = windSpeed * 3600;
         var winDirStart = 255 - windDir;
         var winDirEnd = 285 - windDir;
         var marker1 = new BMap.Marker(EOffsetBearing(dirPoint, distance * 0.15, winDirStart), {
@@ -192,11 +194,15 @@
 
     $("#show").one('click', function () {
         setTimeout(function () {
-            if ($.isEmptyObject(dirPoint) || $.isEmptyObject(getPollutionSourceData) || typeof (getPollutionSourceData["e6"]) == "undefined" || typeof (getPollutionSourceData["e7"]) == "undefined" || typeof (getPollutionSourceData["e18"]) == "undefined" || typeof (getPollutionSourceData["e23"]) == "undefined") {
+            if ($.isEmptyObject(dirPoint) || $.isEmptyObject(getPollutionSourceData) || typeof (getPollutionSourceData["e18"]) == "undefined" || typeof (getPollutionSourceData["e23"]) == "undefined" || getPollutionSourceData["e18"] === 0) {
                 showNoData();
             } else {
-                var humidity = parseFloat(getPollutionSourceData["e6"]);
-                var temperature = parseFloat(getPollutionSourceData["e7"]);
+                if (typeof (getPollutionSourceData["e6"]) != "undefined") {
+                    humidity = parseFloat(getPollutionSourceData["e6"]);
+                }
+                if (typeof (getPollutionSourceData["e7"]) != "undefined") {
+                    temperature = parseFloat(getPollutionSourceData["e7"]);
+                }
                 var windSpeed = parseFloat(getPollutionSourceData["e18"]);
                 var windDir = parseFloat(getPollutionSourceData["e23"]);
                 var selectSensorKey = getPollutionSourceData["selectSensorKey"];
@@ -213,7 +219,7 @@
                 });
                 map.addOverlay(lab);
 
-                var distance = windSpeed * 3600>108? windSpeed * 3600:108;
+                var distance = windSpeed * 3600;
                 var winDirStartLeft = 240 - windDir;
                 var winDirEndLeft = 250 - windDir;
                 var winDirStartMiddle = 250 - windDir;
@@ -475,10 +481,27 @@
             } else if (windDir > 270 && windDir < 360) {
                 windDirection = "���������";
             }
-            lab = new BMap.Label("<P>������:" + temperature + "���</p><P>������:" + humidity + "%</p><P>������:" + windSpeed + "m/s</p><P>������:" + windDirection + "</p>", {
-                position: pointMiddle,
-                offset: new BMap.Size(-50, -40)
-            });
+            if (temperature != 0 && humidity != 0) {
+                lab = new BMap.Label("<P>������:" + temperature + "���</p><P>������:" + humidity + "%</p><P>������:" + windSpeed + "m/s</p><P>������:" + windDirection + "</p>", {
+                    position: pointMiddle,
+                    offset: new BMap.Size(-50, -40)
+                });
+            } else if (temperature == 0 && humidity != 0) {
+                lab = new BMap.Label("<P>������:" + humidity + "%</p><P>������:" + windSpeed + "m/s</p><P>������:" + windDirection + "</p>", {
+                    position: pointMiddle,
+                    offset: new BMap.Size(-50, -40)
+                });
+            } else if (temperature != 0 && humidity == 0) {
+                lab = new BMap.Label("<P>������:" + temperature + "���</p><P>������:" + windSpeed + "m/s</p><P>������:" + windDirection + "</p>", {
+                    position: pointMiddle,
+                    offset: new BMap.Size(-50, -40)
+                });
+            } else {
+                lab = new BMap.Label("<P>������:" + windSpeed + "m/s</p><P>������:" + windDirection + "</p>", {
+                    position: pointMiddle,
+                    offset: new BMap.Size(-50, -40)
+                });
+            }
             lab.setStyle({
                 color: "#EE3B3B",
                 fontSize: "16px",
@@ -493,6 +516,26 @@
     function showNoData() {
         map.centerAndZoom(point, 17);
         setTimeout(function () {
+            if (JSON.stringify(getPollutionSourceData) == JSON.stringify({})) {
+                document.getElementById("cpm").innerText = "���������������������������";
+            } else {
+                if (getPollutionSourceData["e18"] === 0) {
+                    document.getElementById("cpm").style.width = '380px';
+                    document.getElementById("cpm").innerText = "���������0���������������������";
+                }
+                if (typeof (getPollutionSourceData["e18"]) == "undefined") {
+                    document.getElementById("cpm").style.width = '400px';
+                    document.getElementById("cpm").innerText = "������������������������������������";
+                }
+                if (typeof (getPollutionSourceData["e23"]) == "undefined") {
+                    document.getElementById("cpm").style.width = '400px';
+                    document.getElementById("cpm").innerText = "������������������������������������";
+                }
+                if (typeof (getPollutionSourceData["e18"]) == "undefined" && typeof (getPollutionSourceData["e23"]) == "undefined") {
+                    document.getElementById("cpm").style.width = '500px';
+                    document.getElementById("cpm").innerText = "������������������������������������������������";
+                }
+            }
             document.getElementById("cpm").style.display = 'block';
         }, 250);
     };

--
Gitblit v1.8.0