15832144755
2021-08-27 3516f02277035cdc7ff137422709b16efe97ca4a
src/main/webapp/hxzk/index.jsp
@@ -75,6 +75,7 @@
            <script src="/hxzkoa/hxzk/bootstrap/js/bootstrap.min.js"></script>
            <script src="/hxzkoa/hxzk/bootstrap/js/popper.min.js"></script>
            <script src="/hxzkoa/hxzk/plugins/apex/apexcharts.js"></script>
            <script src="/hxzkoa/hxzk/plugins/echarts/echarts.min.js"></script>
            <script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/jszip.min.js"></script>
            <script src="/hxzkoa/hxzk/plugins/table/jquery.table2excel.js"></script>
            <script src="/hxzkoa/hxzk/plugins/sweetalerts/promise-polyfill.js"></script>
@@ -125,32 +126,6 @@
                              </div>
                           </div>
                        </div>
                        <!-- <div class="col-xl-3 col-lg-6 col-md-6 col-sm-12 col-12 layout-spacing"
                           style="padding-right:5px;padding-left:5px;padding-bottom:5px;padding-top:5px;"
                           id='jizhanxinxi'>
                           <div class="widget widget-one_hybrid widget-engagement">
                              <div class="widget-heading" style="height:380px;">
                                 <div class='panel-head'>实时数据</div>
                                 <div id="realtime" class="" style="margin-top:50px;">
                              </div>
                                 <div class="table-responsive mb-4 mt-4"
                                    style="position:absolute;top:10px;display: flex;justify-content: center;flex-wrap: wrap;">
                                    <div class="item"
                                       style="width: 50%;height: 173px;border: solid 7px rgb(90, 90, 77); border-style: inset;">
                                       <div class="text" id="ssc1"></div>
                                    </div>
                                    <div class="item"
                                       style="width: 50%;height: 173px;border: solid 7px rgb(90, 90, 77); border-style: inset;">
                                       <div class="text" id="ssc2"></div>
                                    </div>
                                    <div class="item"
                                       style="width: 100%;height: 173px;border: solid 7px rgb(90, 90, 77); border-style: inset;">
                                       <div class="text" id="ssc3"></div>
                                    </div>
                                 </div>
                              </div>
                           </div>
                        </div> -->
                        <div class="col-xl-6 col-lg-6 col-md-6 col-sm-12 col-12 layout-spacing"
                           style="padding-right:5px;padding-left:5px;padding-bottom:5px;padding-top:5px;"
                           id="ditu">
@@ -334,14 +309,14 @@
                     };
                  });
                  $('.header-page').load('/hxzkoa/hxzk/top.html'); $('.login-page').load('/hxzkoa/hxzk/head.html');
                  var params = {
                     zoomVal: 1,
                     left: 0,
                     top: 0,
                     currentX: 0,
                     currentY: 0,
                     flag: false
                  };
                  // var params = {
                  //    zoomVal: 1,
                  //    left: 0,
                  //    top: 0,
                  //    currentX: 0,
                  //    currentY: 0,
                  //    flag: false
                  // };
               </script>
               <!-- BEGIN FUNCTION SCRIPTS -->
@@ -356,7 +331,7 @@
                     if (expand == false) {
                        //点击放大
                        expand = true;
                        modified = false;
                        // modified = false;
                        if (document.getElementById("wrap").style.display == "none") {
                           //当前正在使用百度地图
                           document.getElementById('ditu').className = "col-xl-12 col-lg-6 col-md-6 col-sm-12 col-12 layout-spacing";
@@ -380,13 +355,13 @@
                        }
                        document.getElementById("jizhanxinxi").style.display = "none";
                        document.getElementById("gaojinghuizong").style.display = "none";
                        document.getElementById("biaoqianxinxi").style.display = "none";
                        document.getElementById("tongjishuju").style.display = "none";
                        document.getElementById("shishikaoqin").style.display = "none";
                        document.getElementById("xianchanggongzhong").style.display = "none";
                     } else {
                        //放大状态下点击恢复原样
                        expand = false;
                        modified = false;
                        // modified = false;
                        document.getElementById("jizhanxinxi").style.display = "";
                        if (document.getElementById("wrap").style.display == "none") {
                           //当前正在使用百度地图
@@ -410,7 +385,8 @@
                           diaoyonghuatu(current_floor);
                        }
                        document.getElementById("gaojinghuizong").style.display = "";
                        document.getElementById("biaoqianxinxi").style.display = "";
                        document.getElementById("jizhanxinxi").style.display = "";
                        document.getElementById("tongjishuju").style.display = "";
                        document.getElementById("shishikaoqin").style.display = "";
                        document.getElementById("xianchanggongzhong").style.display = "";
                     }
@@ -671,31 +647,6 @@
                                 finalrealtrack[data[i][0].tagid].push([data[i][j].x, data[i][j].y, data[i][j].time])
                              }
                           }
                           //for (var i=0;i<data.length;i++)
                           /*                let tmp = new Set();
                                          for (var i=0;i<data.length;i++){
                                             tmp.add(data[i].tagid);
                                          };
                                          let tmpl = Array.from(tmp);
                                          for (i in tmpl){
                                             realtrack[tmpl[i]]=[];
                                             finalrealtrack[tmpl[i]]=[];
                                          }
                                          for(var i=0; i<data.length; i++){
                                             realtrack[data[i].tagid].push([data[i].x, data[i].y, data[i].time])
                                          }
                                          for (var i in realtrack){
                                             if (realtrack[i].length>50){
                                                var itvl = new Number(realtrack[i].length/50);
                                                var tmp_result = [];
                                                for (j=0;i<realtrack[i].length;j+=itvl){
                                                   tmp_result.push(realtrack[i][j])
                                                }
                                                finalrealtrack[i]=tmp_result;
                                             } else {
                                                finalrealtrack[i]=realtrack[i]
                                             }
                                          } */
                        },
                     });
                     return finalrealtrack;
@@ -863,6 +814,98 @@
               <!-- 百度地图功能 -->
               <script type="text/javascript">
                  function Convertor(ak) {
                     this.stepCount = 100;
                     this.pointCount = [];
                     this.Result = [];
                     this.NoisIndex = [];
                     this.Time = new Date();
                     this.AK = ak;
                     this.M_PI = 3.14159265358979324;
                     this.A = 6378245.0;
                     this.EE = 0.00669342162296594323;
                     this.X_PI = this.M_PI * 3000.0 / 180.0;
                  }
                  Convertor.prototype.outofChine = function (p) {
                     if (p.lng < 72.004 || p.lng > 137.8347) {
                        return true;
                     }
                     if (p.lat < 0.8293 || p.lat > 55.8271) {
                        return true;
                     }
                     return false;
                  }
                     ;
                  Convertor.prototype.WGS2GCJ_lat = function (x, y) {
                     var ret1 = -100.0 + 2.0 * x + 3.0 * y + 0.2 * y * y + 0.1 * x * y + 0.2 * Math.sqrt(Math.abs(x));
                     ret1 += (20.0 * Math.sin(6.0 * x * this.M_PI) + 20.0 * Math.sin(2.0 * x * this.M_PI)) * 2.0 / 3.0;
                     ret1 += (20.0 * Math.sin(y * this.M_PI) + 40.0 * Math.sin(y / 3.0 * this.M_PI)) * 2.0 / 3.0;
                     ret1 += (160.0 * Math.sin(y / 12.0 * this.M_PI) + 320 * Math.sin(y * this.M_PI / 30.0)) * 2.0 / 3.0;
                     return ret1;
                  }
                     ;
                  Convertor.prototype.WGS2GCJ_lng = function (x, y) {
                     var ret2 = 300.0 + x + 2.0 * y + 0.1 * x * x + 0.1 * x * y + 0.1 * Math.sqrt(Math.abs(x));
                     ret2 += (20.0 * Math.sin(6.0 * x * this.M_PI) + 20.0 * Math.sin(2.0 * x * this.M_PI)) * 2.0 / 3.0;
                     ret2 += (20.0 * Math.sin(x * this.M_PI) + 40.0 * Math.sin(x / 3.0 * this.M_PI)) * 2.0 / 3.0;
                     ret2 += (150.0 * Math.sin(x / 12.0 * this.M_PI) + 300.0 * Math.sin(x / 30.0 * this.M_PI)) * 2.0 / 3.0;
                     return ret2;
                  }
                     ;
                  Convertor.prototype.WGS2GCJ = function (poi) {
                     if (this.outofChine(poi)) {
                        return;
                     }
                     var poi2 = {};
                     var dLat = this.WGS2GCJ_lat(poi.lng - 105.0, poi.lat - 35.0);
                     var dLon = this.WGS2GCJ_lng(poi.lng - 105.0, poi.lat - 35.0);
                     var radLat = poi.lat / 180.0 * this.M_PI;
                     var magic = Math.sin(radLat);
                     magic = 1 - this.EE * magic * magic;
                     var sqrtMagic = Math.sqrt(magic);
                     dLat = (dLat * 180.0) / ((this.A * (1 - this.EE)) / (magic * sqrtMagic) * this.M_PI);
                     dLon = (dLon * 180.0) / (this.A / sqrtMagic * Math.cos(radLat) * this.M_PI);
                     poi2.lat = poi.lat + dLat;
                     poi2.lng = poi.lng + dLon;
                     return poi2;
                  }
                     ;
                  Convertor.prototype.GCJ2BD09 = function (poi) {
                     var poi2 = {};
                     var x = poi.lng
                        , y = poi.lat;
                     var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * this.X_PI);
                     var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * this.X_PI);
                     poi2.lng = z * Math.cos(theta) + 0.0065;
                     poi2.lat = z * Math.sin(theta) + 0.006;
                     return poi2;
                  }
                     ;
                  /**
                  * WGS->百度坐标系
                  */
                  Convertor.prototype.WGS2BD09 = function (poi) {
                     //WGS->GCJ
                     var poi2 = this.WGS2GCJ(poi);
                     if (typeof poi2 === "undefined") {
                        return;
                     }
                     //GCJ->百度坐标系
                     return this.GCJ2BD09(poi2);
                  }
                  function zhuanhuan(aaa) {
                     var c = new Convertor();
                     var bbb = [];
                     for (var i = 0; i < aaa.length; i++) {
                        var rr = c.WGS2BD09({ lng: aaa[i].lng, lat: aaa[i].lat });
                        bbb.push(rr);
                     }
                     return bbb;
                     c = null;
                     bbb = null;
                  }
                  function diaoyongbaidumap() {
                     //读取系统设置
                     var bm_sysSetting = getSystemSetting();
@@ -876,7 +919,7 @@
                     var bm_baidu_j = bm_sysSetting[0].baidu_j;//百度地图精度
                     var bm_baidu_w = bm_sysSetting[0].baidu_w;//百度地图维度
                     // 百度地图API功能
                     // 百度地图API功能//默认卫星地图 {mapType:BMAP_SATELLITE_MAP}
                     var bm = new BMap.Map("baidumap");    // 创建Map实例
                     bm.centerAndZoom(new BMap.Point(bm_baidu_j, bm_baidu_w), 12);  // 初始化地图,设置中心点坐标和地图级别
@@ -911,37 +954,57 @@
                              +"\n添加时间"+gps_node_list[current_gps_index][14]
                           }; */
                     var t = 300; //每600ms从后台请求一次最新的数据
                     //var t = 300; 每600ms从后台请求一次最新的数据
                     fn();
                     var timer = setTimeout(function f() {
                        fn();
                        timer = setTimeout(f, 300);
                     }, t);
                     }, 300);
                     //timer_bm = setTimeout(fn ,t); 
                     function fn() {
                        //获取gps坐标, [tagid, jingdu, weidu, gps_haiba_gao, gps_state, gps_num, gps_hdop, gps_tuoqiu, gps_chafen_time, gps_chafen_id, gps_jiaoyan, gps_kahao, gps_power, gps_sos, addtime]
                        var gps_node_list = getGPS();
                        //console.log(gps_node_list)
                        var gps_node_list1 = getGPS();
                        var gps_node_list = [];
                        //坐标转换完之后的回调函数
                        translateCallback = function (data) {
                           // if (data.status == 0) {
                           for (var i = 0; i < data.points.length; i++) {
                              var zhuangtaia = getstatus(gps_node_list[i][0]);
                        //bm.clearOverlays();
                        var points = [];
                        if (gps_node_list1.length != 0) {
                           for (var i = 0; i < gps_node_list1.length; i++) {
                              //var zhuangtaia = gps_node_list1[i][4];
                              if ((bm_offView == '1' && gps_node_list1[i][4] == '1') || (bm_offView == '0')) {
                              if (current_node_list[gps_node_list1[i][0]] == null) {
                                 current_node_list[gps_node_list1[i][0]] = new Queue();
                              }
                              var point = new BMap.Point(new Number(gps_node_list1[i][1]), new Number(gps_node_list1[i][2]));
                              points.push(point);
                              gps_node_list.push(gps_node_list1[i]);
                              }
                           };
                           gps_node_list1 = null
                           var newzuobiao = zhuanhuan(points);
                           baidumm(newzuobiao)
                        }
                        function baidumm(data) {
                           for (var i = 0; i < gps_node_list.length; i++) {
                              //var zhuangtaia = getstatus(gps_node_list[i][0]);
                              if (current_node_list[gps_node_list[i][0]].size() > 0) {
                                 old_mark = current_node_list[gps_node_list[i][0]].front();
                                 current_node_list[gps_node_list[i][0]].dequeue();
                                 bm.removeOverlay(old_mark);//清除上一个
                              }
                              if ((bm_offView == '1' && zhuangtaia == '1') || (bm_offView == '0')) {
                                 marker = new BMap.Marker(data.points[i], { icon: myIcon });
                              //if ((bm_offView == '1' && zhuangtaia == '1') || (bm_offView == '0')) {
                                 marker = new BMap.Marker(data[i], { icon: myIcon });
                                 bm.addOverlay(marker);
                                 current_node_list[gps_node_list[i][0]].enqueue(marker);
                                 if (bm_viewTagid == "1") {
                                    var tagid = new BMap.Label(gps_node_list[i][0], { offset: new BMap.Size(20, -30) });
                                    var aaaaa = gps_node_list[i][15] + "  " + gps_node_list[i][0]
                                    var tagid = new BMap.Label(aaaaa, { offset: new BMap.Size(20, -30) });
                                    tagid.setStyle({
                                       color: "#fff",
                                       fontSize: "14px",
@@ -952,92 +1015,33 @@
                                       transform: 'translateX(-50%)',
                                    });
                                    marker.setLabel(tagid); //添加label-tagid
                                    tagid = null;
                                 }
                                 if (bm_tagZb == "1") {
                                    var zuobiao = new BMap.Label(gps_node_list[i][1] + ',' + gps_node_list[i][2], { offset: new BMap.Size(20, +40) });
                                    zuobiao.setStyle({ transform: 'translateX(-50%)' });
                                    zuobiao.setStyle({
                                       transform: 'translateX(-50%)',
                                       backgroundColor: "0.000000000001",
                                       border: 'none'
                                    });
                                    marker.setLabel(zuobiao);
                                    zuobiao = null;
                                 }
                                 if (bm_viewPower == "1") {
                                    var dianliang = new BMap.Label("设备电量" + gps_node_list[i][12], { offset: new BMap.Size(20, +60) });
                                    dianliang.setStyle({ transform: 'translateX(-50%)' });
                                    marker.setLabel(dianliang);
                                 }
                                 /*                     if(bm_name=="1"){
                                                      var name=new BMap.Label("设备名称:"+gps_node_list[i][15],{offset:new BMap.Size(20,+40)});
                                                      name.setStyle({transform: 'translateX(-50%)'});
                                                      marker.setLabel(name); //添加label-tagid
                                                   } */
                                 /*                   // 创建信息窗口
                                                   var opts = {
                                                      width: 200,
                                                      height: 100,
                                                      title: '当前坐标信息'
                                                   };
                                                   var infoWindow = new BMap.InfoWindow(getGPSInfo(data.points[0]), opts);
                                                   // 点标记添加点击事件
                                                   marker.addEventListener('click', function () {
                                                      bm.openInfoWindow(infoWindow, point); // 开启信息窗口
                                                   }); */
                                 //bm.setCenter(data.points[i]);
                              }
                           }
                           // }
                           /* if(data.status === 0) {
                                          var marker = new BMap.Marker(data.points[0], {
                                             icon: myIcon
                                    var dianliang = new BMap.Label("设备电量" + gps_node_list[i][12], { offset: new BMap.Size(20, +55) });
                                    dianliang.setStyle({
                                       transform: 'translateX(-50%)',
                                       backgroundColor: "0.000000000001",
                                       border: 'none'
                                          });
                                       //var marker = new BMap.Marker(data.points[0]);
                                       bm.addOverlay(marker);
                                       if (bm_viewTagid=="1"){
                                          //console.log("data.points[0]",data.points[0]);
                                                var tagid=new BMap.Label("设备ID:"+gps_node_list[current_gps_index][0],{offset:new BMap.Size(0,-20)});
                                          marker.setLabel(tagid); //添加label-tagid
                                       }
                                       if (bm_tagZb=="1"){
                                          var zuobiao = new BMap.Label("设备坐标:"+gps_node_list[current_gps_index][1]+','+gps_node_list[current_gps_index][2],{offset:new BMap.Size(-20,30)});
                                          marker.setLabel(zuobiao);
                                       }
                                       if (bm_viewPower=="1"){
                                          var dianliang = new BMap.Label("设备电量"+gps_node_list[current_gps_index][12],{offset:new BMap.Size(20,5)});
                                          marker.setLabel(dianliang);
                                    dianliang = null;
                                       }
                                         // 创建信息窗口
                                       var opts = {
                                          width: 200,
                                          height: 100,
                                          title: '当前坐标信息'
                                       };
                                       var infoWindow = new BMap.InfoWindow(getGPSInfo(data.points[0]), opts);
                                       // 点标记添加点击事件
                                       marker.addEventListener('click', function () {
                                          bm.openInfoWindow(infoWindow, point); // 开启信息窗口
                                       });
                                       bm.setCenter(data.points[0]);
                                      } */
                        };
                        //bm.clearOverlays();
                        var pointArr = [];
                        if (gps_node_list.length != 0) {
                           for (var i = 0; i < gps_node_list.length; i++) {
                              if (current_node_list[gps_node_list[i][0]] == null) {
                                 current_node_list[gps_node_list[i][0]] = new Queue();
                              }
                              var point = new BMap.Point(new Number(gps_node_list[i][1]), new Number(gps_node_list[i][2]));
                              pointArr.push(point);
                           };
                           var convertor = new BMap.Convertor();
                           convertor.translate(pointArr, 1, 5, translateCallback);
                        }
                        //           else {
                        //             current_node_list.clear();
                        //             bm.clearOverlays();
                                 marker = null;
                        //           }
                           }
                           gps_node_list = null;
                        };
                        /**
@@ -1168,6 +1172,8 @@
                        _this.context = draw.getContext('2d');
                        _this.canvas.height = wrap.offsetHeight;
                        _this.canvas.width = wrap.offsetWidth;
                        wrap.onclick = null;
                        _this.canvas.onclick = null;
                        loadImages(imgList, function (images) {
                           for (var key in images) {
@@ -1279,8 +1285,10 @@
                              };
                           };
                           can.drawImage(_this.cacheCanvas, 0, 0);
                           _this.cacheCanvas.onclick = null;
                        } else {
                           can.drawImage(_this.cacheCanvas, 0, 0);
                           _this.cacheCanvas.onclick = null;
                        };
@@ -1794,53 +1802,6 @@
                     },
                  }
                  /* var timeshow;
                  var weizhi;
                  setTimeout(function(){
                     setshow();
                     timeshow = setInterval(setshow, 3000);
                  },0)
                     function setshow () {
                        $.ajax({
                           async: false,
                           type: "POST",
                           url: "/hxzkoa/setshow.do",
                           dataType: 'json',
                           success (data) {
                              $("#ssc1").html('<span class="fonts1">' + data[0].type + '</span><br><span class="fonts">' + data[0].num + '</span>');
                              $("#ssc2").html('<span class="fonts1">' + data[1].type + '</span><br><span class="fonts">' + data[1].num + '</span>');
                              $("#ssc3").html('<span class="fonts1">' + data[2].type + '</span><br><span class="fonts">' + data[2].num + '</span>');
                           weizhi = data[0].num;
                           }
                        });
                     }
                     function myStopFunction () {
                     clearInterval(timeshow);
                     }
                           /* window.setInterval(function () {
                           getNewSeries(lastDate, {
                             min: 10,
                             max: 90
                           })
                           chart.updateSeries([{
                             data: weizhi
                           }])
                          }, 1000) */
                  /* var timeshow = setInterval(setweizhi, 5000);
                  function setweizhi () {
                     console.log('99999')
                     $.ajax({
                        async: false,
                        type: "POST",
                        url: "/hxzkoa/setweizhi.do",
                        dataType: 'json',
                     });
                  } */
                  /* var j = 4;
                  var i = 0;
                  var shebei = $("#shebei").val();
                  console.log("chushihua",shebei.toString()) */
                  $.ajax({
                     url: "/hxzkoa/setshebei.do",
                     type: "post",
@@ -1873,57 +1834,13 @@
                              i = 0;
                           }
                        }
                        // function shebeido() {
                        //    var j = i + 4
                        //    var html = ''
                        //    for (i; i < j; i++) {
                        //       console.log(i)
                        //       // console.log(data[i].zhuangtai)
                        //       if (data[i] == false) {
                        //          break;
                        //       } else {
                        //          html += '<tr align="center"><td class="noExl">' + data[i].zhuangtai + '</td><td>' + data[i].id + '</td><td>' + data[i].duixiang + '</td><td>' + data[i].banben + '</td><td>' + data[i].xiangqing + '</td><td>' + data[i].time + '</td></tr>'
                        //          // html += '<tr align="center" class="d"><td>' + item.id + '</td><td>' + item.receive_time + '</td><td>' + item.type + '</td><td>' + item.tagid + '</td><td>' + item.neirong + '</td></tr>'
                        //       }
                        //    }
                        //    console.log(html)
                        //    // console.log(i)
                        //    $("#nr").html(html)
                        //    if (i >= data.length) {
                        //       console.log('初始化了')
                        //       i = 0;
                        //    }
                        // }
                     }
                  });
                  // var timeshow = setInterval(sos, 4000);
                  // function sos() {
                  //    $.ajax({
                  //       url: "/hxzkoa/sosfence.do",
                  //       type: "POST",
                  //       dataType: "JSON",
                  //       success(data) {
                  //          if (data == null) {
                  //          } else {
                  //             var str = ""
                  //             alert(str)
                  //             audio.play()
                  //          }
                  //       }
                  //    })
                  // }
                  //alert('一自动开启告警提醒')
                  var audio1 = new Audio("/hxzkoa/hxzk/image/voice/sos.wav");
                  var audio2 = new Audio("/hxzkoa/hxzk/image/voice/warning.wav");
                  var current_floor;
                  function qufloor(floor) {
                     current_floor = floor
                  }
                  // var zaipan = []
                  // var sosgaojing1 = getRealPosition();
                  // for (var i = 0; i < sosgaojing1.length; i++) {
                  //    zaipan.push(false)
                  //var current_floor;
                  //function qufloor(floor) {
                  // current_floor = floor
                  // }
                  setInterval(baojing, 1000)
                  function baojing() {
@@ -1931,42 +1848,15 @@
                     for (var i = 0; i < sosgaojing.length; i++) {
                        if (sosgaojing[i][7] == 1) {
                           if (sosgaojing[i][8] == 1) {
                              // if (zaipan[i] == false) {
                              var str = '注意,编号[' + sosgaojing[i][0] + ']SOS告警'
                              // Audio1.click()
                              audio1.play()
                              //swal(str)
                              /* $.ajax({
                                 url: "/hxzkoa/sosgaojing.do",
                                 type: "POST",
                                 dataType: "JSON",
                                 data: {
                                    tagid: sosgaojing[i][0]
                                 }
                              }) */
                              // }
                           } if (sosgaojing[i][9] == 1) {
                              // if (zaipan[i] == false) {
                              var str = '注意,编号[' + sosgaojing[i][0] + ']进入危险区域'
                              // audio2.click()
                              audio2.play()
                              //swal(str)
                              /* $.ajax({
                                 url: "/hxzkoa/fencegaojing.do",
                                 type: "POST",
                                 dataType: "JSON",
                                 data: {
                                    tagid: sosgaojing[i][0]
                                 }
                              }) */
                              // }
                           }
                           // zaipan[i] = true
                        }
                        // } else {
                        //    zaipan[i] = false
                        // }
                     }
                     sosgaojing = null
                  }
               </script>