81041
2019-01-07 d69d8ff8efff43bf0c189a7f3cec28357e51f592
gx_tieta/WebRoot/batch-set-curr.jsp
@@ -558,6 +558,11 @@
              // 更新表格的对象
              var layuiTbl = new LayuiTbl(tOptions, layui, laytpl, table.cache.pageTbl);
              
              // 设备类型
              var devType = 0;      // 1U:12 2U:2
              // 查询正在放电的设备
              searchChargeDev(search, {}, false);
              // 点击添加电池组
              $('#setCurrIframe').data('setCurr', []);
              $('#batchAdd').click(function() {
@@ -569,8 +574,82 @@
               }
               $('#setCurrIframe').data('setCurr', []);
               // 弹出设置选择筛选条件
               search(structData);
               searchChargeDev(search, structData, true);
              });
              // 查询正在放电的设备
              function searchChargeDev(callback, cParam, isCallback) {
                 var rq = structAddData();      // 获取查询条件
                 var preDevType = $('#sysType').val();
                 // 判断当前设备的类型是否和上一次一致
                 if(preDevType != devType) {
                    var loading = layer.load(1);
                    devType = preDevType;
                    // 设备类型的条件改变清空表格
                    tOptions.data = [];
                    // 查询正在放电的内容
                    $.ajax({
                       type: 'post'
                       ,async: true
                       ,url: 'Fbs9100_stateAction_action_seachDischarge'
                       ,data: 'json='+JSON.stringify(rq)
                       ,dataType: 'json'
                       ,success:function(res) {
                          var rs = JSON.parse(res.result);
                          var rsData = [];
                          //console.log(rs);
                          if(rs.code == 1) {
                             data = rs.data;
                             var tmps = [];
                             for(var i=0; i<data.length; i++) {
                                var _tmp = {};
                                var _data = data[i];
                                _tmp.FBSDeviceId = _data.dev_id;      // 设备ID
                                _tmp.StationName = _data.stationName;   // 机房名称
                                _tmp.BattGroupId = _data.battgroupid;   // 机房ID
                                _tmp.BattGroupName = _data.note;      // 电池组名称
                                _tmp.StationName9 = _data.dev_version;            // 设备版本号
                                _tmp.GroupIndexInFBSDevice = _data.dev_testgroupnum-1;      // 电池组索引
                                _tmp.MonCount = _data.moncount;               // 单体数量
                                _tmp.MonCapStd = _data.moncapstd;               // 标称容量
                                _tmp.MonVolStd = _data.monvolstd;                     // 标称电压
                                tmps.push(_tmp);
                             }
                             rsData = tmps;
                          }
                          //console.log(rsData);
                          tOptions.data = rsData;
                          table.render(tOptions);
                          // 判断是否执行callback函数
                          if(isCallback) {
                             callback(cParam);
                          }else {
                             updateDevStatus();
                          }
                       }
                       ,complete: function() {
                          layer.close(loading);
                       }
                    });
                 }else {
                    // 设备类型的条件没有发生变化,向表格添加数据
                    callback(cParam);
                 }
              }
              // 构造查询正在放电的设备的条件
              function searchChargeDevRq() {
                 var temp = {
                    MonVolStd: $('#sysType').val()
                 };
                 return temp;
              }
              
              // 根据查询条件查询内容
              function search(temp) {
@@ -587,20 +666,50 @@
                       var rs = JSON.parse(res.result);
                       var data = [];
                       if(rs.code == 1) {
                          data = rs.data;
                       }else {
                          layer.msg('没有可设置的电池组!');
                          data = getFilterData(rs.data, tOptions.data);
                       }
                       console.log(data);
                       tOptions.data = data;
                       // 将数据添加到表格中
                       for(var i=0; i<data.length; i++) {
                          var _data = data[i];
                          tOptions.data.push(_data);
                       }
                       //console.log(tOptions.data);
                         // 生成表格数据
                     table.render(tOptions);
                         if(data.length != 0) {
                            table.render(tOptions);
                         }
                     updateDevStatus();
                    }
                    ,complete:function() {
                       layer.close(load);
                    }
                 });
              }
              // 根据设备对数据进行筛选
              function getFilterData(data, all) {
                 var rs = [];
                 // 遍历data的值
                 for(var i=0; i<data.length; i++) {
                    var isExist = false;
                    var _data = data[i];
                    // 遍历all
                    for(var k=0; k<all.length;k++) {
                       var _all = all[k];
                       // 判断设备id是否已经被添加
                       if(_data.FBSDeviceId == _all.FBSDeviceId) {
                          isExist = true;
                          break;
                       }
                    }
                    // 如果不存在添加数据
                    if(!isExist) {
                       rs.push(_data);
                    }
                 }
                 return rs;      // 返回结果集
              }
              
              // 点击添加构造查询
@@ -968,8 +1077,10 @@
            var BTS9100 = GLOBAL.BTS9100;
            var workStates = BTS9100.workstates;
            var alarmStates = BTS9100.alarmstates;
            function updateDevStatus() {
            function updateDevStatus1() {
               var battlist = tOptions.data;
               var battIdList = updateDevStatusRq();
               console.log(battIdList);
               clearInterval(updateDevStatus.timer);
               if(battlist.length > 0){
                  $.ajax({    
@@ -981,6 +1092,7 @@
                       dataType: 'json',      
                       success: function(res){ 
                        var rs = JSON.parse(res.result);
                        console.log(rs);
                        if(rs.code == 1) {
                           var data = rs.data;
                           // console.log(data);
@@ -1018,6 +1130,89 @@
                     },               
                  });
               }
            }
            // 获取设备实时状态的参数
            function updateDevStatus() {
               var battIdList = updateDevStatusRq();      // 获取电池id列表
               // 判断如果battIdList长度为0不执行请求后台
               if(battIdList.length == 0) {
                  return;
               }
               clearInterval(updateDevStatus.timer);
               // 请求后台
               $.ajax({
                  type: 'post'
                  ,async:true
                  ,url: 'Fbs9100_stateAction_action_freshenDischarge'
                  ,data: 'json='+JSON.stringify(battIdList)
                  ,dataType: 'json'
                  ,success: function(res) {
                     var rs = JSON.parse(res.result);
                     //console.log(rs);
                     // 如果有查询结果
                     if(rs.code == 1) {
                        var data = rs.data;
                        for(var i=0; i<data.length; i++) {
                           var _data = data[i];
                           _data = _data[0];
                           var str = '';      // 设备工作状态
                           var index = _data.dev_workstate; // 设备状态
                           // 内阻测试(工作状态为0, 内阻测试不为0)
                           if(_data.dev_workstate ==0 && _data.dev_res_test_state != 0) {
                              index = 3;
                           }
                           // 设置设备状态字符串
                           str = "状态:"   + workStates[index]+
                                ",告警:"+alarmStates[_data.dev_alarmstate]+
                                ",组端电压(V):"+_data.dev_captest_groupvol+
                                ",电流(A):"+_data.dev_captest_curr+
                                ",容量(AH):"+_data.dev_captest_cap;
                           // 设置设备内阻测试的字符串
                           if(index == 3){
                               str = "状态:"+workStates[index]+
                                    ",组号:"+_data.dev_testgroupnum+
                                    ",当前单体编号:"+(_data.dev_restest_monindex+1)+
                                    ",被测单体总数:"+_data.dev_restest_moncount;
                            }
                           // 构造更新表格数据对象
                           var temp = {
                               devStatus: str         // 设备状态
                               ,testTime: formatSeconds(_data.dev_captest_timelong)      // 测试时长
                               ,signalNum: _data.dev_commcount
                            }
                            // 更新表格
                            layuiTbl.updateTr(i, temp);
                        }
                     }
                  }
                  ,complete: function() {
                     // 轮询查看内容
                     updateDevStatus.timer = setTimeout(updateDevStatus, 4000);
                  }
               });
            }
            // 构造查询设备实时状态的参数
            function updateDevStatusRq() {
               var data = tOptions.data;
               var rs = [];
               // 遍历data的值构造对象
               for(var i=0; i<data.length; i++) {
                  var _data = data[i];
                  var tmp = {
                     BattGroupId: _data.BattGroupId
                  };
                  rs.push(tmp);
               }
               return rs;
            }            
            
           });