From f3a83f291df05ee8de20fd751e720ac761f8586e Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 22 Jun 2020 16:03:36 +0800
Subject: [PATCH] 无人机应用大屏页面update

---
 src/main/webapp/view/uavtracing.jsp                          |   53 +++++++----------
 src/main/java/com/moral/service/impl/HistoryServiceImpl.java |    8 +-
 src/main/webapp/view/uavchannel.jsp                          |   56 ++++++++----------
 src/main/webapp/view/uavdroppoint.jsp                        |   50 +++++++---------
 src/main/java/com/moral/controller/ScreenController.java     |    4 
 5 files changed, 74 insertions(+), 97 deletions(-)

diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java
index d8ebe59..0bcb8e7 100644
--- a/src/main/java/com/moral/controller/ScreenController.java
+++ b/src/main/java/com/moral/controller/ScreenController.java
@@ -1719,7 +1719,7 @@
             params.put("unit",parameters.get("unit"));
             params.put("description",parameters.get("description"));
             String paramsJson = params.toJSONString();
-            model.addObject("uavDroppointParams", paramsJson);
+            model.addObject("uavChannelParams", paramsJson);
             model.setViewName("uavchannel");
             return model;
         } else {
@@ -1767,7 +1767,7 @@
             params.put("unit",parameters.get("unit"));
             params.put("description",parameters.get("description"));
             String paramsJson = params.toJSONString();
-            model.addObject("uavDroppointParams", paramsJson);
+            model.addObject("uavTracingParams", paramsJson);
             model.setViewName("uavtracing");
             return model;
         } else {
diff --git a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
index 39a6e46..03d2ccb 100644
--- a/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/HistoryServiceImpl.java
@@ -555,14 +555,16 @@
             for (Map.Entry<String, Object> entry : dataMap.entrySet()) {
                 for (Sensor sensor : sensors) {
                     if (sensor.getSensorKey().equals(entry.getKey())) {
-                        dataMap.put(entry.getKey(), new BigDecimal(entry.getValue().toString().replace("\"", "")).stripTrailingZeros().toPlainString() + sensor.getUnit());
+                        if (entry.getValue() != null) {
+                            dataMap.put(entry.getKey(), new BigDecimal(entry.getValue().toString().replace("\"", "")).stripTrailingZeros().toPlainString() + sensor.getUnit());
+                        }
                     }
                 }
             }
         }
         Map<String, Object> map = sensorMapper.getSensorBySensorKey(parameters.get("sensorKey").toString());
-        parameters.put("unit",map.get("unit"));
-        parameters.put("description",map.get("description"));
+        parameters.put("unit", map.get("unit"));
+        parameters.put("description", map.get("description"));
         return uavSensorData;
     }
 
diff --git a/src/main/webapp/view/uavchannel.jsp b/src/main/webapp/view/uavchannel.jsp
index fe7a19f..91a3e03 100644
--- a/src/main/webapp/view/uavchannel.jsp
+++ b/src/main/webapp/view/uavchannel.jsp
@@ -93,8 +93,8 @@
     <div id="cpm">������������</div>
     <div id="mapCanvas"></div> <!-- ������������������-->
     <!-- ���sensorInfo,regionCode,regionName,monitorPoint,device-->
-    <div id="uavDroppointParams" style="display: none;">
-        ${requestScope.uavDroppointParams}
+    <div id="uavChannelParams" style="display: none;">
+        ${requestScope.uavChannelParams}
     </div>
 </div>
 </body>
@@ -104,13 +104,14 @@
         features: ["road", "building", "water", "land"], // ������������������poi
         style: "normal" // ������������������������������
     };
-    var params = $.parseJSON($("#uavDroppointParams").html());
+    var params = $.parseJSON($("#uavChannelParams").html());
     var sensorInfo = params["sensorInfo"];
     var sensorKey = params['sensorKey'];
     var unit = params['unit'];
-    var description=params['description'];
-    var backgroundValue=32;
-    $("#tab").append("<tr><td>������(��)</td><td>������(��)</td><td>������(m)</td><td>"+description+"(" + unit + ")</td></tr>");//���������������������������
+    var description = params['description'];
+    var backgroundValue = 32;
+
+    $("#tab").append("<tr><td>������(��)</td><td>������(��)</td><td>������(m)</td><td>" + description + "(" + unit + ")</td></tr>");//���������������������������
     var map = new BMap.Map("mapCanvas", {enableMapClick: false});
     map.setMapStyle(mapStyle);
     map.enableScrollWheelZoom(true); // ������������������������
@@ -126,15 +127,16 @@
     var trackPoints = []; //���������������������������������������������������������������
     if (sensorInfo.length > 0) {
         $.each(sensorInfo, function (item, value) {
-                if (typeof (value.e76) == "undefined" || typeof (value.e78) == "undefined") {
+                if (typeof (value.e76) == "undefined" /*|| typeof (value.e78) == "undefined"*/) {
                     showNoDroppoint();
                 } else {
                     var lon = parseFloat(value.e76.substr(0, value.e76.length - 1)).toFixed(4);
                     var lat = parseFloat(value.e77.substr(0, value.e77.length - 1)).toFixed(4);
-                    if (lon <= 0 || lat <= 0 || lon > 180 || lat > 180) {
+                    if (lon < 70 || lon > 150 || lat > 60 || lat <= 0) {
                         return true;
                     }
-                    var heigh = parseFloat(value.e78.substr(0, value.e78.length - 1));
+                    //var heigh = parseFloat(value.e78.substr(0, value.e78.length - 1));
+                    var heigh = typeof (value.e78) == "undefined" ? "" : parseFloat(value.e78.substr(0, value.e78.length - 1));
                     var concentration = "";
                     $.each(value, function (key, data) {
                         if (key == sensorKey) {
@@ -142,36 +144,26 @@
                         }
                     });
                     var point = new BMap.Point(lon, lat);
-                    var myIcon = "";
-                     if (concentration > backgroundValue) {
-                         myIcon = new BMap.Icon('/img/uav_red.png', new BMap.Size(20, 20));
-                     } else if (concentration == backgroundValue) {
-                         myIcon = new BMap.Icon('/img/uav_green.png', new BMap.Size(20, 20));
-                     } else {
-                         return true;
-                     }
-                    //var myIcon = new BMap.Icon('/img/uav_red.png', new BMap.Size(20, 20));
-                    var marker = new BMap.Marker(point, {icon: myIcon});
-                    map.addOverlay(marker);
                     trackPoints.push(point);
                     $("#tab").append("<tr><td>" + lon + "</td><td>" + lat + "</td><td>" + heigh + "</td><td>" + concentration + "</td></tr>");//���������������������������
-                    var opts = {
-                        width: 80,     // ������������������
-                        height: 80,     // ������������������
-                    }
-                    var msg = "��������� " + value.e76 + "<br>��������� " + value.e77 + "<br>��������� " + value.e78 + "<br>" +description+":  "+concentration+unit;
-                    if (concentration == "") {
-                        msg = "��������� " + value.e76 + "<br>��������� " + value.e77 + "<br>��������� " + value.e78;
-                    }
-                    var infoWindow = new BMap.InfoWindow(msg, opts);  // ������������������������
-                    marker.addEventListener("click", function () {
-                        map.openInfoWindow(infoWindow, point); //������������������
-                    });
+
+                    /*var myIcon = "";
+                    if (concentration > 23) {
+                        myIcon = new BMap.Icon('/img/uav_red.png', new BMap.Size(20, 20));
+                        trackPoints.push(point);
+                    } else if (concentration == 23) {
+                        myIcon = new BMap.Icon('/img/uav_green.png', new BMap.Size(20, 20));
+                    } else {
+                        return true;
+                    }*/
                 }
             }
         )
         map.centerAndZoom(trackPoints, 17);// ������������������������������������
         map.setViewport(trackPoints);// ������������������������������������������������������
+        var polygon = new BMap.Polygon(trackPoints, {strokeColor: "none",fillColor:"red", strokeWeight: 2, strokeOpacity: 1});  //���������������
+        map.addOverlay(polygon);  //���������������
+        map.setViewport(polygon.getPath());    //������������
     }
 
     function showNoDroppoint() {
diff --git a/src/main/webapp/view/uavdroppoint.jsp b/src/main/webapp/view/uavdroppoint.jsp
index fe7a19f..63d51bd 100644
--- a/src/main/webapp/view/uavdroppoint.jsp
+++ b/src/main/webapp/view/uavdroppoint.jsp
@@ -108,9 +108,10 @@
     var sensorInfo = params["sensorInfo"];
     var sensorKey = params['sensorKey'];
     var unit = params['unit'];
-    var description=params['description'];
-    var backgroundValue=32;
-    $("#tab").append("<tr><td>������(��)</td><td>������(��)</td><td>������(m)</td><td>"+description+"(" + unit + ")</td></tr>");//���������������������������
+    var description = params['description'];
+    var backgroundValue = 32;
+
+    $("#tab").append("<tr><td>������(��)</td><td>������(��)</td><td>������(m)</td><td>" + description + "(" + unit + ")</td></tr>");//���������������������������
     var map = new BMap.Map("mapCanvas", {enableMapClick: false});
     map.setMapStyle(mapStyle);
     map.enableScrollWheelZoom(true); // ������������������������
@@ -126,15 +127,16 @@
     var trackPoints = []; //���������������������������������������������������������������
     if (sensorInfo.length > 0) {
         $.each(sensorInfo, function (item, value) {
-                if (typeof (value.e76) == "undefined" || typeof (value.e78) == "undefined") {
+                if (typeof (value.e76) == "undefined" /*|| typeof (value.e78) == "undefined"*/) {
                     showNoDroppoint();
                 } else {
                     var lon = parseFloat(value.e76.substr(0, value.e76.length - 1)).toFixed(4);
                     var lat = parseFloat(value.e77.substr(0, value.e77.length - 1)).toFixed(4);
-                    if (lon <= 0 || lat <= 0 || lon > 180 || lat > 180) {
+                    if (lon < 70 || lon > 150 || lat > 60 || lat <= 0) {
                         return true;
                     }
-                    var heigh = parseFloat(value.e78.substr(0, value.e78.length - 1));
+                    //var heigh = parseFloat(value.e78.substr(0, value.e78.length - 1));
+                    var heigh = typeof (value.e78) == "undefined" ? "" : parseFloat(value.e78.substr(0, value.e78.length - 1));
                     var concentration = "";
                     $.each(value, function (key, data) {
                         if (key == sensorKey) {
@@ -142,36 +144,26 @@
                         }
                     });
                     var point = new BMap.Point(lon, lat);
-                    var myIcon = "";
-                     if (concentration > backgroundValue) {
-                         myIcon = new BMap.Icon('/img/uav_red.png', new BMap.Size(20, 20));
-                     } else if (concentration == backgroundValue) {
-                         myIcon = new BMap.Icon('/img/uav_green.png', new BMap.Size(20, 20));
-                     } else {
-                         return true;
-                     }
-                    //var myIcon = new BMap.Icon('/img/uav_red.png', new BMap.Size(20, 20));
-                    var marker = new BMap.Marker(point, {icon: myIcon});
-                    map.addOverlay(marker);
                     trackPoints.push(point);
                     $("#tab").append("<tr><td>" + lon + "</td><td>" + lat + "</td><td>" + heigh + "</td><td>" + concentration + "</td></tr>");//���������������������������
-                    var opts = {
-                        width: 80,     // ������������������
-                        height: 80,     // ������������������
-                    }
-                    var msg = "��������� " + value.e76 + "<br>��������� " + value.e77 + "<br>��������� " + value.e78 + "<br>" +description+":  "+concentration+unit;
-                    if (concentration == "") {
-                        msg = "��������� " + value.e76 + "<br>��������� " + value.e77 + "<br>��������� " + value.e78;
-                    }
-                    var infoWindow = new BMap.InfoWindow(msg, opts);  // ������������������������
-                    marker.addEventListener("click", function () {
-                        map.openInfoWindow(infoWindow, point); //������������������
-                    });
+
+                    /* var myIcon = "";
+                    if (concentration > 23) {
+                        myIcon = new BMap.Icon('/img/uav_red.png', new BMap.Size(20, 20));
+                        trackPoints.push(point);
+                    } else if (concentration == 23) {
+                        myIcon = new BMap.Icon('/img/uav_green.png', new BMap.Size(20, 20));
+                    } else {
+                        return true;
+                    }*/
                 }
             }
         )
         map.centerAndZoom(trackPoints, 17);// ������������������������������������
         map.setViewport(trackPoints);// ������������������������������������������������������
+        var polygon = new BMap.Polygon(trackPoints, {strokeColor: "none",fillColor:"red", strokeWeight: 2, strokeOpacity: 1});  //���������������
+        map.addOverlay(polygon);  //���������������
+        map.setViewport(polygon.getPath());    //������������
     }
 
     function showNoDroppoint() {
diff --git a/src/main/webapp/view/uavtracing.jsp b/src/main/webapp/view/uavtracing.jsp
index fe7a19f..b32880c 100644
--- a/src/main/webapp/view/uavtracing.jsp
+++ b/src/main/webapp/view/uavtracing.jsp
@@ -93,8 +93,8 @@
     <div id="cpm">������������</div>
     <div id="mapCanvas"></div> <!-- ������������������-->
     <!-- ���sensorInfo,regionCode,regionName,monitorPoint,device-->
-    <div id="uavDroppointParams" style="display: none;">
-        ${requestScope.uavDroppointParams}
+    <div id="uavTracingParams" style="display: none;">
+        ${requestScope.uavTracingParams}
     </div>
 </div>
 </body>
@@ -104,13 +104,14 @@
         features: ["road", "building", "water", "land"], // ������������������poi
         style: "normal" // ������������������������������
     };
-    var params = $.parseJSON($("#uavDroppointParams").html());
+    var params = $.parseJSON($("#uavTracingParams").html());
     var sensorInfo = params["sensorInfo"];
     var sensorKey = params['sensorKey'];
     var unit = params['unit'];
-    var description=params['description'];
-    var backgroundValue=32;
-    $("#tab").append("<tr><td>������(��)</td><td>������(��)</td><td>������(m)</td><td>"+description+"(" + unit + ")</td></tr>");//���������������������������
+    var description = params['description'];
+    var backgroundValue = 32;
+
+    $("#tab").append("<tr><td>������(��)</td><td>������(��)</td><td>������(m)</td><td>" + description + "(" + unit + ")</td></tr>");//���������������������������
     var map = new BMap.Map("mapCanvas", {enableMapClick: false});
     map.setMapStyle(mapStyle);
     map.enableScrollWheelZoom(true); // ������������������������
@@ -126,15 +127,16 @@
     var trackPoints = []; //���������������������������������������������������������������
     if (sensorInfo.length > 0) {
         $.each(sensorInfo, function (item, value) {
-                if (typeof (value.e76) == "undefined" || typeof (value.e78) == "undefined") {
+                if (typeof (value.e76) == "undefined" /*|| typeof (value.e78) == "undefined"*/) {
                     showNoDroppoint();
                 } else {
                     var lon = parseFloat(value.e76.substr(0, value.e76.length - 1)).toFixed(4);
                     var lat = parseFloat(value.e77.substr(0, value.e77.length - 1)).toFixed(4);
-                    if (lon <= 0 || lat <= 0 || lon > 180 || lat > 180) {
+                    if (lon < 70 || lon > 150 || lat > 60 || lat <= 0) {
                         return true;
                     }
-                    var heigh = parseFloat(value.e78.substr(0, value.e78.length - 1));
+                    //var heigh = parseFloat(value.e78.substr(0, value.e78.length - 1));
+                    var heigh = typeof (value.e78) == "undefined" ? "" : parseFloat(value.e78.substr(0, value.e78.length - 1));
                     var concentration = "";
                     $.each(value, function (key, data) {
                         if (key == sensorKey) {
@@ -142,38 +144,27 @@
                         }
                     });
                     var point = new BMap.Point(lon, lat);
-                    var myIcon = "";
-                     if (concentration > backgroundValue) {
+                    trackPoints.push(point);
+                    $("#tab").append("<tr><td>" + lon + "</td><td>" + lat + "</td><td>" + heigh + "</td><td>" + concentration + "</td></tr>");//���������������������������
+
+                    /* var myIcon = "";
+                     if (concentration > 23) {
                          myIcon = new BMap.Icon('/img/uav_red.png', new BMap.Size(20, 20));
-                     } else if (concentration == backgroundValue) {
+                         trackPoints.push(point);
+                     } else if (concentration == 23) {
                          myIcon = new BMap.Icon('/img/uav_green.png', new BMap.Size(20, 20));
                      } else {
                          return true;
-                     }
-                    //var myIcon = new BMap.Icon('/img/uav_red.png', new BMap.Size(20, 20));
-                    var marker = new BMap.Marker(point, {icon: myIcon});
-                    map.addOverlay(marker);
-                    trackPoints.push(point);
-                    $("#tab").append("<tr><td>" + lon + "</td><td>" + lat + "</td><td>" + heigh + "</td><td>" + concentration + "</td></tr>");//���������������������������
-                    var opts = {
-                        width: 80,     // ������������������
-                        height: 80,     // ������������������
-                    }
-                    var msg = "��������� " + value.e76 + "<br>��������� " + value.e77 + "<br>��������� " + value.e78 + "<br>" +description+":  "+concentration+unit;
-                    if (concentration == "") {
-                        msg = "��������� " + value.e76 + "<br>��������� " + value.e77 + "<br>��������� " + value.e78;
-                    }
-                    var infoWindow = new BMap.InfoWindow(msg, opts);  // ������������������������
-                    marker.addEventListener("click", function () {
-                        map.openInfoWindow(infoWindow, point); //������������������
-                    });
+                     }*/
                 }
             }
         )
         map.centerAndZoom(trackPoints, 17);// ������������������������������������
         map.setViewport(trackPoints);// ������������������������������������������������������
+        var polygon = new BMap.Polygon(trackPoints, {strokeColor: "none",fillColor:"red", strokeWeight: 2, strokeOpacity: 1});  //���������������
+        map.addOverlay(polygon);  //���������������
+        map.setViewport(polygon.getPath());    //������������
     }
-
     function showNoDroppoint() {
         var point = new BMap.Point(120.987287, 31.391562);
         map.centerAndZoom(point, 17);

--
Gitblit v1.8.0