81041
2019-01-02 b2f21d080425b0ab6e5e6170914ca2c615e5d185
gx_tieta/WebRoot/batch-set-curr.jsp
@@ -15,7 +15,7 @@
      <meta http-equiv="expires" content="0">    
      <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
      <meta http-equiv="description" content="This is my page">
       <title>批量设置信息</title>
       <title>批量核容测试</title>
      <link rel="stylesheet" type="text/css" href="pages/css/base.css">
      <link rel="stylesheet" type="text/css" href="jqueryui/jquery-ui.css">
       <link rel="stylesheet" type="text/css" href="src/css/layui.css">
@@ -55,7 +55,7 @@
        <div class="layui-page-container">
           <!-- 条件筛选 -->
            <div class="layui-page-filter">
                <div class="page-filter-header layui-page-filter-fweight">批量设置信息</div>
                <div class="page-filter-header layui-page-filter-fweight">批量核容测试</div>
                <div class="page-filter-content">
                    <table>
                        <tr class="layui-page-filter-tbl-header layui-page-filter-fweight">
@@ -93,7 +93,7 @@
                               <div class="layui-form" lay-filter="countyFilter">
                                  <div class="layui-form-item">
                                     <div class="layui-input-block">
                                        <select name="county" id="county" lay-filter="county">
                                        <select name="county" id="county" lay-filter="county"  lay-search="">
                                    <option value="">请选择区/县</option>
                                 </select>
                                     </div>
@@ -159,7 +159,6 @@
                  <button class="layui-btn layui-btn-sm mrl8" id="batchAdd"><i class="fa fa-plus mrr8"></i>添加电池组</button>
                     <button class="layui-btn layui-btn-sm" id="batchSetCurr">批量设置放电参数</button>
                     <button class="layui-btn layui-btn-sm" id="startTest">批量启动测试</button>
                     <button class="layui-btn layui-btn-sm" id="lookSetCurr">查询放电参数</button>
                  </div>
               </div>
               <!-- 表格内容 -->
@@ -187,7 +186,7 @@
                        <td><input id="distime" type="text" value="600"><i class="fa fa-frown-o error-img" title="数据格式错误"></i></td>
                     </tr>
                     <tr>
                        <th><s:text name="Discharging"/><s:text name="Hourly_rate"/>(0~300%)<!-- 放电小时率 --></th>
                        <th>放电电流百分比(0~300%)<!-- 放电小时率 --></th>
                        <th>放电容量百分比(0~300%)</th>
                     </tr>
                     <tr>
@@ -241,13 +240,37 @@
        <!-- 存储set-curr.html的信息 -->
       <div id="setCurrIframe"></div>
       <div id="setCurrBtn"></div>
       <!-- 设备工作状态 -->
       <script type="text/html" id="devStatus">
         {{# if(d.devStatus) { }}
            {{d.devStatus}}
         {{# }else{ }}
            状态:???,告警:???,组端电压(V):???,电流(A):???,容量(AH):???
         {{# } }}
      </script>
      <!-- 已测时长 -->
      <script type="text/html" id="testTime">
         {{# if(d.testTime) { }}
            {{d.testTime}}
         {{# }else{ }}
            00:00:00
         {{# } }}
      </script>
      <!-- 通信计数signalNum -->
      <script type="text/html" id="signalNum">
         {{# if(d.signalNum) { }}
            {{d.signalNum}}
         {{# }else{ }}
            ???
         {{# } }}
      </script>
        <script type="text/html" id="setStatus">
         {{# if(d.setCurr == 1){ }}
            <button class="layui-btn layui-btn-sm">设置放电参数成功</button>
            <button class="layui-btn layui-btn-sm">设置成功</button>
         {{# }else if(d.setCurr == 2){ }}
            <button class="layui-btn layui-btn-sm layui-btn-danger">设置放电参数失败</button>
            <button class="layui-btn layui-btn-sm layui-btn-danger">设置失败</button>
         {{# }else { }}
            <button class="layui-btn layui-btn-sm layui-btn-normal">未设置放电参数</button>
            <button class="layui-btn layui-btn-sm layui-btn-normal">未设置</button>
         {{# } }}
      </script>
       <script type="text/javascript" src="js/jquery-1.8.3.js"></script>
@@ -510,24 +533,22 @@
               ,cellMinWidth: 80
               ,cols: [[
                  {type:'checkbox',fixed: 'left'}
                  ,{field:'FBSDeviceId', title:'设备ID', align:'center', width: 160}
                  ,{field:'StationName', title:'机房名称', align:'center', width: 470}
                  ,{field:'FBSDeviceName', title:'FBS设备名称', align:'center', width: 160}
                  ,{field:'GroupIndexInFBSDevice', title:'FBS设备索引', align:'center', width: 160}
                  ,{field:'StationName9', title:'设备版本号', align:'center', width: 160}
                  ,{field:'BattGroupId', title:'电池组ID', align:'center', width: 160}
                  ,{field:'BattGroupName', title:'电池组名称', align:'center', width: 160}
                  ,{field:'devStatus', title:'设备状态', templet: '#devStatus', align:'center', width: 600}
                  ,{field:'testTime', title:'已测时长', templet: '#testTime', align:'center', width: 140}
                  ,{field:'signalNum', title:'通信计数', templet: '#signalNum', align:'center', width: 140}
                  ,{field:'StationName9', title:'设备版本号', align:'center', width: 160}
                  ,{field:'MonCount', title:'单体数量', align:'center', width: 100}
                  ,{field:'MonCapStd', title:'标称容量', align:'center', width: 100}
                  ,{field:'MonVolStd', title:'标称单体电压', align:'center', width: 140}
                  ,{field:'MonResStd', title:'标称单体内阻', align:'center', width: 140}
                  ,{field:'MonSerStd', title:'标称单体电导', align:'center', width: 140}
                  ,{field:'Load_curr', title:'负载电流', align:'center', width: 140}
                  ,{field:'DisCurrMax', title:'最大核容电流', align:'center', width: 140}
                  ,{field:'doThings', fixed: 'right', title: '设置状态', toolbar: '#setStatus', align: 'center', width: 160}
                ]]
               ,data:[]
               ,limit: 20
                ,page: true
               ,limit: 10000
                ,page: false
                ,height: 'full-252'
            };
            
@@ -570,10 +591,11 @@
                       }else {
                          layer.msg('没有可设置的电池组!');
                       }
                       console.log(data);
                       tOptions.data = data;
                         // 生成表格数据
                     table.render(tOptions);
                     updateDevStatus();
                    }
                    ,complete:function() {
                       layer.close(load);
@@ -659,6 +681,7 @@
               
               // 请求设置参数
               function ajaxSetParam(param) {
                  console.log(param);
                  var load = layer.load(1);
                  // 请求后台
                  $.ajax({
@@ -668,7 +691,6 @@
                     ,data: 'json='+JSON.stringify(param)
                     ,dataType: 'json'
                     ,success: function(res) {
                        console.log(res);
                        var rs = JSON.parse(res.result);
                        if(rs.code == 1) {
                           layer.msg('设置完成!');
@@ -678,13 +700,20 @@
                           var rsList = [];
                           for(var i=0; i<data.length; i++) {
                              var _data = data[i];
                              rsList.push(_data);
                           }
                           var trIndex = getSetCurrIndex(data, tOptions.data);
                           // 被设置参数的机房
                           for(var i=0; i<trIndex.length; i++) {
                              var _data = data[i];
                              var _trIndex = trIndex[i];
                              var _temp = {'doThings':''};
                              if(_data.num==1) {
                                 _temp.setCurr = 1;
                              }else {
                                 _temp.setCurr = 2;
                              }
                              rsList.push(_data);
                              layuiTbl.updateTr(i, _temp);
                           }
                           
@@ -702,6 +731,7 @@
               
               // 构造批量设置放电参数的方法
               function getSetCurrParam(data, ratio) {
                  //console.log(data);
                  var rs = [];
                  for(var i=0; i<data.length; i++) {
                     var _data = data[i];
@@ -714,7 +744,7 @@
                     var temp= {
                        num: 0
                        ,dev_id: _data.FBSDeviceId         // 设备id
                        ,op_cmd: setParamCmd            //  设置参数命令
                        ,op_cmd: setParamCmd            // 设置参数命令
                        ,TestCmd: ratio.testType         // 测试类型   
                        ,HourRate: ratio.hourrate         // 小时率
                        ,DisCurr: disCurr               // 放电电流
@@ -727,7 +757,8 @@
                        ,OnlineLowAction: ratio.OnlineVolLowAction   // 在线电压低处理
                        ,ChargeCurrSet: chargeCurr         // 充电电流
                        ,DCVolHighLimit: ratio.DCVolHighLimit // 升压上限
                        ,BattGroupNum: _data.MonCount      // 电池个数
                        ,BattGroupNum: _data.GroupIndexInFBSDevice+1      // 电池组的索引
                        ,StationName: _data.StationName            // 机房名称
                     }
                     
                     rs.push(temp);
@@ -835,24 +866,6 @@
               setBTSPopupStatus($(this).attr('id'), $(this).val());
            });
            
            // 显示已经修改的参数
            $('#lookSetCurr').click(function() {
               var rsList = $('#setCurrIframe').data('setCurr');
               if(rsList.length == 0) {
                  layer.msg('暂无查看内容,请先设置放电参数!');
                  return;
               }
               // 显示面板
               layer.open({
                  type: 2
                  ,area: ['1200px', '500px']
                  ,resize: false
                  ,content: 'iframe/setcurr.html'
               });
            });
            // 启动测试
            $('#startTest').click(function() {
               var rsList = $('#setCurrIframe').data('setCurr');
@@ -861,53 +874,17 @@
                  return;
               }
               
               // 是否确定启动
               layer.confirm('是否确定启动测试', {icon: 3, title: '系统提示'}, function(index) {
                  var param = getStartTestParam(rsList);
                  // 启动测试
                  ajaxStartTest(param);
               // 显示面板
               layer.open({
                  type: 2
                  ,area: ['1200px', '500px']
                  ,resize: false
                  ,maxmin: true
                  ,fixed: true
                  ,content: 'iframe/setcurr.html'
               });
               
            });
            // 构造启动测试的参数
            function getStartTestParam(param) {
               for(var i=0; i<param.length; i++) {
                  param[i].op_cmd = startTest;
                  param[i].num = 0;
               }
               return param;
            }
            // 启动测试请求
            function ajaxStartTest(param) {
               var load = layer.load(1)
               // 请求后台
                  $.ajax({
                     type: 'post'
                     ,async: true
                     ,url: 'Fbs9100_setparamAction_action_updatePro_dis'
                     ,data: 'json='+JSON.stringify(param)
                     ,dataType: 'json'
                     ,success: function(res) {
                        var rs = JSON.parse(res.result);
                        if(rs.code == 1) {
                           var data = rs.data;
                           console.log(data)
                           layer.msg('启动成功');
                        }else {
                           layer.msg('启动失败');
                        }
                     }
                     ,complete: function() {
                        layer.close(load);
                     }
                  });
            }
            
            // 初始化设置参数的按钮
            var BTSBtn = {
@@ -965,6 +942,84 @@
                  BTSBtn.active();
               }
            }
            // 获取设置放电参数的下标
            function getSetCurrIndex(setData, allData) {
               var rs = [];
               // 遍历setData
               for(var i=0; i<setData.length; i++) {
                  var _setData = setData[i];
                  var setDevId = _setData.dev_id;
                  // 遍历allData
                  for(var k=0; k<allData.length; k++) {
                     var _allData = allData[i];
                     var allDevId = _allData.FBSDeviceId;
                     if(setDevId == allDevId) {
                        rs.push(k);
                     }
                  }
               }
               return rs;
            }
            //  更新设备状态
            var BTS9100 = GLOBAL.BTS9100;
            var workStates = BTS9100.workstates;
            var alarmStates = BTS9100.alarmstates;
            function updateDevStatus() {
               var battlist = tOptions.data;
               clearInterval(updateDevStatus.timer);
               if(battlist.length > 0){
                  $.ajax({
                       type: "post",
                       url: "Fbs9100_setparamAction_action_serchByInfo",
                       async:true,
                       dataType:'text',
                       data:"json="+JSON.stringify(battlist),
                       dataType: 'json',
                       success: function(res){
                        var rs = JSON.parse(res.result);
                        if(rs.code == 1) {
                           var data = rs.data;
                           // console.log(data);
                           for(var i=0; i<data.length; i++) {
                              var obj = data[i];
                              if(obj.fstate.num > 0){
                                 var str = '';
                                 var index = obj.fstate.dev_workstate;
                                 // 内阻测试(工作状态为0, 内阻测试不为0)
                                 if(obj.fstate.dev_workstate ==0 && obj.fstate.dev_res_test_state != 0) {
                                    index = 3;
                                 }
                                 // 设置文本值
                                 str = "状态:"   + workStates[index]+
                                      ",告警:"+alarmStates[obj.fstate.dev_alarmstate]+
                                      ",组端电压(V):"+obj.fstate.dev_captest_groupvol+
                                      ",电流(A):"+obj.fstate.dev_captest_curr+
                                      ",容量(AH):"+obj.fstate.dev_captest_cap;
                                  if(index == 3){
                                     str = "状态:"+workStates[index]+
                                          ",组号:"+obj.fstate.dev_testgroupnum+
                                          ",当前单体编号:"+(obj.fstate.dev_restest_monindex+1)+
                                          ",被测单体总数:"+obj.fstate.dev_restest_moncount;
                                  }
                                  var temp = {
                                     devStatus: str         // 设备状态
                                     ,testTime: formatSeconds(obj.fstate.dev_captest_timelong)      // 测试时长
                                     ,signalNum: obj.fstate.dev_commcount
                                  }
                                 layuiTbl.updateTr(i, temp);
                              }
                           }
                        }
                        updateDevStatus.timer = setTimeout(updateDevStatus, 4000);
                     },
                  });
               }
            }
           });
        </script>
    </body>