hdw
2018-11-14 5b91f290dea4d6b6c1f159e28e0159e32aa5ac53
gx_tieta/WebRoot/Top.jsp
@@ -64,7 +64,7 @@
         <div class="batt-state">
         
            <div class="list">
               <div class="list-contain"><s:text name='Computer_room'/><s:text name='Power_cut'/><s:text name='Num'/>:<a href="batt-state-manage.jsp" class="badge default" id="poweroff_num">0</a></div>      <!-- 机房停电数 -->
               <div class="list-contain"><s:text name='Power_cut'/><s:text name='Computer_room'/><s:text name='Num'/>:<a href="batt-state-manage.jsp?station_state=2" class="badge default" id="poweroff_num">0</a></div>      <!-- 机房停电数 -->
            </div>
            <div class="list">
               <div class="list-contain"><s:text name="Batt"/><s:text name="Alarm"/><s:text name="Num"/>:<a href="elewarn.jsp" class="badge danger" id="batt_alarm_num">0</a></div>                        <!-- 电池告警数 -->
@@ -84,7 +84,7 @@
            </c:forEach>
            <div class="list">
               <div class="list-contain">
                  核容测试设备:<a href="javascript:void(0);" class="badge default" id="nuclear_test">0</a>
                  核容测试设备数:<a href="javascript:void(0);" class="badge default" id="nuclear_test">0</a>
               </div>
            </div>
         </div>
@@ -127,9 +127,9 @@
            <div class="cell-list plan-ele">
               <img src="image/webStatus/plan_normal.gif" alt="放电计划监测线程" title="放电计划监测线程:正常">
            </div>
            <div class="cell-list break-ele">
            <div class="cell-list break-ele" style="display: none;">
               <img src="image/webStatus/break_ele_normal.gif" alt="机房停电监测线程" title="机房停电监测线程:正常">
            </div>
            </div>
            <div class="cell-list control">
               <img src="image/webStatus/control_normal.gif" alt="线程监控程序" title="线程监控程序运行:正常">
            </div>         
@@ -175,7 +175,7 @@
            <div class="navNuclearTest-header clearfix">
               <span class="navNuclearTest-title"><i class="fa fa-navicon mr5"></i>核容测试</span>
               <div class="navNuclearTest-close fr mr10">
                  <i class="fa fa-file-text-o mr10" title="更多详情"></i>
                  <!-- <i class="fa fa-file-text-o mr10" title="更多详情"></i> -->
                  <i class="fa fa-close"  title="关闭"></i>
               </div>
            </div>
@@ -557,7 +557,7 @@
   
   //查询电池告警信息
   function searchBattAlarm(data){
      //console.info(data);
      console.info(data);
      $.ajax({    
           type:"post",             
           url: "Battalarm_dataAction!serchBatt_alarm",            
@@ -574,16 +574,17 @@
            var model = eval('('+data.result+')');
            if(model.code == 1){
               var obj = model.data[0];
               //console.info(obj);
               console.info(obj);
               if(obj.alm_cleared_type == 0){
                  //实时告警
                  window.open("elewarn.jsp?stationId="+obj.stationid+"&battgroupId="+obj.BattGroupId);
                  window.open("elewarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
               }else{
                  //历史告警
                  window.open("eleHistoryWarn.jsp?stationId="+obj.stationid+"&battgroupId="+obj.BattGroupId);
                  window.open("eleHistoryWarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
               }
            }else{
               alert("该告警已经被删除");
               alert("该告警已经恢复");
               //window.open("eleHistoryWarn.jsp?home="+obj.stationname+"&battid="+obj.BattGroupId);
            }            
          }             
      });
@@ -609,30 +610,62 @@
               var obj = model.data[0];
               console.info(obj);
               if(obj.alm_cleared_type == 0){
                  window.open("equipWarn1.jsp");
                  window.open("equipWarn1.jsp?home="+obj.stationName);
               }else{
                  window.open("equipHistWarn1.jsp?stationId="+obj.stationId);
                  window.open("equipHistWarn1.jsp?home="+obj.stationName);
               }
            }else{
               alert("该告警已经被删除");
               alert("该告警已经恢复");
            }      
          }             
      });
   }
   
   //查询最近30内的设备和电池告警并播报语音
   function searchRecentlyAlarm(){
      $.ajax({
             type: "post",
           url: "Battalarm_dataAction!serchIn30",
           async:true,
           dataType:'json',
           data:null,
           success: function(data){
              //console.info(data);
              var model = eval("("+data.result+")");
              //console.info(model);
              if(model.code == 1){
                 var alarm_str = "";
                 for(var i=0;i<model.data.length;i++){
                    var obj = model.data[i];
                    alarm_str += obj.note+";";
                 }
                 voice.play(alarm_str,searchRecentlyAlarm);
              }else{
                 setTimeout(searchRecentlyAlarm, 5000);
              }
           },
           error:function() {
              setTimeout(searchRecentlyAlarm, 5000);
           }
      });
   }
   // 核容测试模块
   $(function() {
      var arrTh = ['机房名称', '设备ID', '设备名称','设备状态', '在线电压(V)', '组端电压(V)', '组端电流(mA)','设备温度(℃)', '已测容量(AH)', '设备告警', '已测时间'];
      var arrTh = ['机房名称', '设备ID', '设备名称','设备状态', '在线电压(V)', '组端电压(V)', '组端电流(A)','设备温度(℃)', '已测容量(AH)', '设备告警', '已测时间'];
      var arrTd = [];
      var eleTh = $('#navNuclearTest-data .nuclearTest-tbl-header');
      var eleTd = $('#navNuclearTest-data .nuclearTest-tbl-body');
      var timer = new GLOBAL.Timer.timer({
         fun:search61850Nuclear_cap,
         fun:searchNuclear_cap,
         times: 4000
      });
      var isNew = true;
      var dev61850Alarms = GLOBAL.DEV61850.alarmstates;
      var dev61850Work = GLOBAL.DEV61850.workstates;
      var BTS_workstates = GLOBAL.BTS9100.workstates;
      var BTS_alarmstates = GLOBAL.BTS9100.alarmstates
      
      timer.start();
      // 点击核容测试条数
@@ -658,16 +691,17 @@
            alert('当前为详情页,不用跳转!');
         }
      });
      //查询当前用户管理的61850正在处于核容测试的设备记录
       function search61850Nuclear_cap(){
      //查询当前用户管理的BTS正在处于核容测试的设备记录
       function searchNuclear_cap(){
          $.ajax({    
              type:"post",       
              url: "Fbs9100_stateAction_action_seach6185Nuclear_cap",
              url: "Fbs9100_stateAction_action_seachNuclear_cap",
              async:true,            
              dataType:'json',
              data:null,      
              success: function(data){ 
               var model = eval('('+data.result+')');
               //console.info(model);
               if(model.code == 1){
                  $('#nuclear_test').text(model.data.length);
                  if(model.data.length != 0) {
@@ -686,60 +720,30 @@
                }             
         });
       }
      //查询最近30内的设备和电池告警并播报语音
      function searchRecentlyAlarm(){
         $.ajax({
                type: "post",
              url: "Battalarm_dataAction!serchIn30",
              async:true,
              dataType:'json',
              data:null,
              success: function(data){
                 console.info(data);
                 var model = eval("("+data.result+")");
                 console.info(model);
                 if(model.code == 1){
                    var alarm_str = "";
                    for(var i=0;i<model.data.length;i++){
                       var obj = model.data[i];
                       alarm_str += obj.note+";";
                    }
                    voice.play(alarm_str,searchRecentlyAlarm);
                 }else{
                    setTimeout(searchRecentlyAlarm, 5000);
                 }
              },
              error:function() {
                 setTimeout(searchRecentlyAlarm, 5000);
              }
         });
      }
       
       // 根据数据生成表格
       function createTblByModel(model) {
          //console.log(model);
          console.log(model);
          arrTd = [];
         for(var i=0; i<model.data.length; i++) {
            var data = model.data[i];
            arrTd.push(data.stationName);            // 机房名称
            arrTd.push(data.dev_id);               // 设备ID
            arrTd.push(data.deviceName);            // 设备名称
            arrTd.push(dev61850Work[data.dev_workstate]);            // 设备名称
            arrTd.push(data.dev_captest_onlinevol);            // 在线电压
            arrTd.push(data.dev_captest_groupvol);            // 组端电压
            arrTd.push(data.dev_captest_curr);            // 组端电流
            arrTd.push(data.dev_temp);               // 设备温度
            arrTd.push(data.dev_captest_cap);   // 已测容量
            arrTd.push(getAlarmsText(data.dev_61850alarms));   // 设备告警
            arrTd.push(formatSeconds(data.num));      // 已测时间
            arrTd.push(data.stationName);                              // 机房名称
            arrTd.push(data.dev_id);                                 // 设备ID
            arrTd.push(data.deviceName);                              // 设备名称
            arrTd.push(getStateByArray(data.dev_workstate,BTS_workstates));      // 设备名称
            arrTd.push(data.dev_captest_onlinevol);                        // 在线电压
            arrTd.push(data.dev_captest_groupvol);                        // 组端电压
            arrTd.push(data.dev_captest_curr);                           // 组端电流
            arrTd.push(data.dev_temp);                                 // 设备温度
            arrTd.push(data.dev_captest_cap);                           // 已测容量
            arrTd.push(getStateByArray(data.dev_alarmstate,BTS_alarmstates));   // 设备告警
            arrTd.push(formatSeconds(data.dev_captest_timelong));            // 已测时间
         }
         createFullTbl(eleTh, eleTd, arrTh, arrTd);
         
         // 根据告警值设置温度,k1电阻,导通压降的字体颜色
         var trList = eleTd.find('tbody tr');
         /* var trList = eleTd.find('tbody tr');
         for(var i=0; i<model.data.length; i++) {
            var alarms = model.data[i].dev_61850alarms.split(',');   // ['k1电阻', '通讯', '温度', '导通压降']
            
@@ -747,7 +751,16 @@
            if(alarms[2] == 'true') {
               trList.eq(i).find('td').eq(7).addClass('red');
            }
         }
         } */
       }
       //根据状态获取设备的状态
       function getStateByArray(state,statearr){
          var str = "未知";
          if(statearr && state < statearr.length){
             str = statearr[state];
          }
          return str;
       }
       
       // 获取告警参数
@@ -765,5 +778,51 @@
          return str;
       }
   });
   /**
     检测服务器连接是否正常
     程序功能: 通过请求后台程序如果三次都请求失败认为服务器挂掉,跳转到登陆页面
   */
   ;(function ($) {
      var url = window.location.href;
      var loginPatt = /\/login.jsp/;
      // 判断当前页面不是登陆页面开始执行检测服务器状态
      if(!loginPatt.test(url)) {
         checkServer();
      }
      var linkNum = 0;    // 测试服务器连接计数 =3 跳转到登陆页面
      function checkServer() {
          $.ajax({
              url:'User_infAction!checkService',
              type: 'post',
              async: true,
              success: function(rs) {
                  linkNum = 0;    // 初始化测试连接
                  setTimeout(checkServer, 200);
              },
              error:function() {
                   // 网络连接不正常
                  if(!navigator.onLine) {
                       linkNum = 0;
                       setTimeout(checkServer, 200);
                  }else{
                      linkNum++;
                       // 服务器连接不正常
                       if(linkNum == 3) {
                          console.info('出现第'+linkNum+"次测试服务器连接失败!跳转到登陆");
                          // 网络正常但服务器连续多次检测不正常跳转到登陆页面
                         alert('网络连接异常,请检查网络连接是否正常!');
                          window.location.replace("login.jsp");
                       }else {
                          console.info('出现第'+linkNum+"次测试服务器连接失败!");
                          checkServer();
                       }
                  }
              }
          });
      }
   })(jQuery);
  </script>
</html>