D:/workspace/chenjingjing/git/gx_tieta/gx_tieta/.gitignore
2019-01-18 2fe250ece8de95b3f70172fe5b45793ab6a3084a
gx_tieta/WebRoot/charge-test.jsp
@@ -24,6 +24,7 @@
<link href="css/charge_test_style.css" type="text/css" rel="stylesheet" />
<link href="css/loading.css" type="text/css" rel="stylesheet" />
<link href="jqueryui/jquery-ui.css" type="text/css" rel="stylesheet" />
<link rel="stylesheet" href="src/css/layui.css">
<link href="css/collapse.css" type="text/css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="css/confirm.css">
<link rel="stylesheet" href="css/common.css">
@@ -63,6 +64,9 @@
      height: 100%;
      z-index: 99;
      background-color: #FFFFFF;
   }
   .myconfirm {
      z-index: 999998
   }
</style>
</head>
@@ -383,8 +387,6 @@
   <div id="right_menu">
      <ul>
         <li><a href="javascript:"><s:text name="Check_the_battery_card"></s:text></a></li>                  <!-- 查看电池组机历卡 -->
         <li><a href="upload.jsp" target="_blank"><s:text name="Upload_FBO/IDC_data"></s:text></a></li>                  <!-- 上传'FBO/IDC'数据 -->
         <li><a href="uploadresis.jsp" target="_blank"><s:text name="Upload_resistance_conductivity_data"></s:text></a></li>         <!-- 上传电阻电导数据 -->
         <li><a href="eleBrdwMaint.jsp" target="_blank"><s:text name="Batt_failure_maintenance_record_query" /></a></li>            <!-- 电池故障维护记录查询 -->
         <li><a href="javascript:targetBattReport();"><s:text name="Battery_statistical_analysis_queries"></s:text></a></li>      <!-- 电池统计分析查询-->
         <!-- <li><a href="eleMonomer.jsp"><s:text name="Batt_statistical_analysis_query"></s:text></a></li>             电池单体统计分析查询 -->
@@ -396,7 +398,6 @@
            </div>
         </li> -->
         <li style="display:none;"><a href="javascript:"><s:text name="Search_engine_or_the_batt_group"></s:text></a></li>            <!-- 搜索机房或电池组-->
         <li><a href="javascript:" id="all_show"><s:text name="Expand_all"></s:text></a></li>                           <!-- 全部展开 -->
         <li><a href="javascript:" id="all_hide"><s:text name="Collapse_all"></s:text></a></li>                        <!-- 全部收缩 -->
      </ul>
   </div>
@@ -486,6 +487,10 @@
            <tr>
               <td><s:text name="Head"/></td>                           <!-- 负责人 -->
               <td></td>
            </tr>
            <tr>
               <td>安装人员</td>                           <!-- 负责人 -->
               <td id="installUser"></td>
            </tr>
         </table>
      </div>
@@ -730,12 +735,17 @@
   </div>
   <input type="hidden" id="lineStatus" value="0">
   <input type="hidden" id="testrecordcout" value="-1"/>   <!-- 记录当前显示的数据是第几笔 -->
   <!-- iframe数据临时存储位置 -->
   <div id="homeInfoIframeData"></div>
</body>
<script type="text/javascript" src="jqueryui/jquery-ui.js"></script>
<!-- 引入layui框架 -->
<script type="text/javascript" src="src/layui.all.js"></script>
<script type="text/javascript" src="js/collapse.js"></script>
<script type="text/javascript" src="js/charge.js"></script>
<script type="text/javascript" src="js/myConfirm.js"></script>            <!-- 确认框 -->
<script type="text/javascript" src="js/popup.js"></script>
<script type="text/javascript" src="pages/js/pages/homeInfo.js"></script>
<script type="text/javascript" src="pages/js/pages/siderbar.js"></script>
<script type="text/javascript">
   var permits;
@@ -1320,7 +1330,7 @@
             var min = getMinFromArr(batt_test_voldata);
             var new_Monnum_list = getArrByStatus(Monnum_list);
             var new_batt_test_voldata =  getArrByStatus(batt_test_voldata);
            CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_voldata,max,min,thrname);      //生成右下折线图
            CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_voldata,max,min,thrname, 'V');      //生成右下折线图
            var opt = myLineChart.getOption();
            //console.info(opt.title);
            opt.title[0].text = '单体电压折线图';
@@ -1335,7 +1345,7 @@
             var min = getMinFromArr(batt_test_tmpdata);
             var new_Monnum_list = getArrByStatus(Monnum_list);
             var new_batt_test_tmpdata =  getArrByStatus(batt_test_tmpdata);
            CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_tmpdata,max,min,thrname);      //生成右下折线图
            CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_tmpdata,max,min,thrname, '℃');      //生成右下折线图
            var opt = myLineChart.getOption();
            //console.info(opt.title);
            opt.title[0].text = '单体温度折线图';
@@ -1617,7 +1627,9 @@
             var battinf=getBattinfById();
             var arr = batt_test_data[slide_index];
             //console.info("MonCapStd:"+battinf.MonCapStd+";test_curr:"+list.test_curr+";test_cap:"+list.test_cap+";maxvol:"+Math.max.apply(null, Monvol_list)+";minvol:"+Math.min.apply(null, Monvol_list)+";monvolstd:"+battinf.MonVolStd);
             var over_cap=GetMonomerCap(battinf.MonCapStd,GetHourRate(battinf.MonCapStd,list.test_curr),list.test_cap,Math.max.apply(null, arr),Math.min.apply(null, arr),battinf.MonVolStd,CapType_Rest);
             //console.info(list);
             var avg_curr = list.test_timelong>0?list.test_cap*3600/list.test_timelong:list.test_curr;
             var over_cap=GetMonomerCap(battinf.MonCapStd,GetHourRate(battinf.MonCapStd,avg_curr),list.test_cap,Math.max.apply(null, arr),Math.min.apply(null, arr),battinf.MonVolStd,CapType_Rest);
             //console.info(over_cap);
             if(list.test_type == 2){
                over_content.value="---";
@@ -1654,25 +1666,30 @@
      var oChargeThrInfor=document.getElementById("charge_thr_infor");
      var batteststopDataList = new Array();
      //根据指定的测试数据查询结束时的指定电池组的数据
      function findtestdatastop(record_count){
      function findtestdatastop(record_count){
         Monnum_list = new Array();   //初始化电池编号数组
         Monvol_list = new Array();   //初始化电池电压数组
         checkArray  = new Array();
         var arr = new Array();
         var batt = getBattinfById();
         //console.info(batt);
         for(var i=0;i<batt.MonCount;i++){
            Monnum_list[i]="#"+(i+1);
            Monvol_list[i]= (0).toFixed(3);
            checkArray.push(1);
            arr[i] = (0).toFixed(3);
         }
         $ajax("post","BatttestdatastopAction_findByInfo","btds.BattGroupId="+BattGroupId+"&btds.test_record_count="+record_count, function(data){
            data=eval("("+data+")");
            data=data.result;
            data=eval("("+data+")");
            //console.info(data);
            if(data.code==1){
               data=data.data;
               batteststopDataList = data;
               var batt = getBattinfById();
               batteststopDataList = data;
               //console.info(batt);
               var moncount = batt.MonCount;
               Monnum_list = new Array();   //初始化电池编号数组
               Monvol_list = new Array();   //初始化电池电压数组
               checkArray  = new Array();
               var arr = new Array();
               for(var i=0;i<moncount;i++){
               for(var i=0;i<moncount;i++){
                  Monnum_list[i]="#"+(i+1);
                  if(data[i] != undefined){                  
                     Monvol_list[i]=data[i].mon_vol.toFixed(3);
@@ -1680,21 +1697,20 @@
                     Monvol_list[i]= (0).toFixed(3);      
                  }
                  arr[i]=Monvol_list[i];
                  checkArray.push(1);
               }         
      
               //console.info(arr);
               //console.info(arrTh[li_index]);
               $('#charge_thr_th').find('tr th').eq(1).text(arrTh[li_index]);
               //updataSecCol($('#charge_thr_th'), arrTh[li_index], arr);                        
               createBattVoltable(arr);
               //reflushBattStatus(data[0]);               
            }else{
               var obj = getBattinfById();
               for(var i = 1;i<=obj.MonCount;i++){
                  Monnum_list.push("#"+i);
                  Monnum_list[i-1] = "#"+i;
               }
            }                        
            createBattVoltable(arr);
         });
      
      
@@ -2013,7 +2029,8 @@
            //console.info(batt);
            for(var i=0;i<list.length;i++){
               index = (list[i].mon_num/10).toFixed(0)-1;               
               Monnum_list[index]="#"+(index+1);
               //Monnum_list[index]="#"+(index+1);
               console.info(index);
               //percentage_list[index]=list[i].conn_res.toFixed(1);
               monres_list[index]=list[i].mon_res.toFixed(3);
               montmp_list[index]=list[i].mon_tmp.toFixed(1);
@@ -2214,45 +2231,48 @@
         batt_test_evary_record = new Array();      //记录当前测试记录的每笔的组端测试值
         batt_tmp_data = new Array();
         //console.info(AllTestData);
         if(AllTestData!=undefined){
         var batt =  getBattinfById();
         if(AllTestData!=undefined && AllTestData.length>0){
            if(Monnum_list != undefined && Monnum_list.length>0){
               AllData=new Array();
               //console.info(Monnum_list);
               for(var i=0;i<Monnum_list.length;i++){
               for(var i=0;i<batt.MonCount;i++){
                  batt_test_voldata[i] = new Array();
                  batt_test_tmpdata[i] = new Array();
               }
               max=Number.NEGATIVE_INFINITY;         //无穷小值
               min=Number.POSITIVE_INFINITY;         //无穷大值
               var test_record_num = 0;
               //console.info(AllTestData.length);
               var batt_index = -1;
               
               //console.info(Monnum_list);
               //console.info("***************");
               var start_record_num = AllTestData[0].record_num;
               BattGroupVol[0] = new Array();
               BattGroupVol[1] = new Array();
               for(var i=0;i<AllTestData.length;i++){
                  if(AllTestData[i].record_num != test_record_num){
                     //console.info(AllTestData[i]);
                     BattGroupVol[0].push(AllTestData[i].group_vol.toFixed(2));      //组端电压
                     BattGroupVol[1].push(AllTestData[i].online_vol.toFixed(2));      //在线电压
                     BattGroupVol[0].push(AllTestData[i].online_vol.toFixed(2));      //在线电压
                     BattGroupVol[1].push(AllTestData[i].group_vol.toFixed(2));      //组端电压
                     BattGroupCurr.push(AllTestData[i].test_curr.toFixed(1));      //组端电流
                     TestTime.push(formatSeconds(AllTestData[i].test_timelong));
                     batt_test_evary_record.push(AllTestData[i]);
                     
                     batt_test_data[++batt_index] = new Array();
                     test_record_num = AllTestData[i].record_num;
                     if(test_record_num > 1){
                     if(test_record_num > start_record_num){
                        batt_test_data[batt_index]=batt_test_data[batt_index-1].slice(0);
                        setArrayvalue(batt_test_voldata,batt_index);
                        setArrayvalue(batt_test_tmpdata,batt_index);                        
                     }else{
                        //第一笔充放电数据
                        var batt = getBattinfById();
                        for(var k =0;k<batt.MonCount;k++){
                           batt_test_data[batt_index][k] = 0;
                           batt_test_voldata[k][batt_index] = 0;
                           batt_test_tmpdata[k][batt_index] = 0;
                           batt_test_data[0][k] = 0;
                           batt_test_voldata[k][0] = 0;
                           batt_test_tmpdata[k][0] = 0;
                        }
                     }
                  }
@@ -2281,7 +2301,7 @@
            var title=getTitle(Monvol_list,"Voltage");            
            reflushBattStatus(AllTestData[AllTestData.length-1]);
            
            var batt =  getBattinfById();
            //console.info(Monvol_list);
            var tempmin = Math.floor(getMinFromArr(Monvol_list)*0.9);
            //var tempmax = (batt.MonVolStd*1.25).toFixed(3);
@@ -2301,11 +2321,11 @@
            if(line_status == 0) {   // 生成单体电压折线图
               max = getMaxFromArr(batt_test_voldata);
                min = getMinFromArr(batt_test_voldata);
               CreateLineEchart('myLineChart',oRBottom,Monnum_list,TestTime,batt_test_voldata,max,min,thrname);      //生成右下折线图
               CreateLineEchart('myLineChart',oRBottom,Monnum_list,TestTime,batt_test_voldata,max,min,thrname, 'V');      //生成右下折线图
            }else {   // 生成单体
               max = getMaxFromArr(batt_test_tmpdata);
                min = getMinFromArr(batt_test_tmpdata);
               CreateLineEchart('myLineChart',oRBottom,Monnum_list,TestTime,batt_test_tmpdata,max+20,0,thrname);      //生成右下折线图
               CreateLineEchart('myLineChart',oRBottom,Monnum_list,TestTime,batt_test_tmpdata,max+20,0,thrname, '℃');      //生成右下折线图
               var opt = myLineChart.getOption();
               //console.info(opt.title);
               opt.title[0].text = '单体温度折线图';
@@ -2335,8 +2355,10 @@
               var vol_list = batt_test_data[i];
               var max_vol = Math.max.apply(null, vol_list);
               for(var j=0;j<vol_list.length;j++){
                  var actionvalue = GetMonomerCap(batt.MonCapStd,GetHourRate(batt.MonCapStd,batt_test_evary_record[i].test_curr),batt_test_evary_record[i].test_cap,max_vol,vol_list[j],batt.MonVolStd,CapType_Real);
                  var restvalue = GetMonomerCap(batt.MonCapStd,GetHourRate(batt.MonCapStd,batt_test_evary_record[i].test_curr),batt_test_evary_record[i].test_cap,max_vol,vol_list[j],batt.MonVolStd,CapType_Rest);
                  //console.info(batt_test_evary_record[i]);
                  var avg_curr = batt_test_evary_record[i].test_timelong>0?batt_test_evary_record[i].test_cap*3600/batt_test_evary_record[i].test_timelong:batt_test_evary_record[i].test_curr;
                  var actionvalue = GetMonomerCap(batt.MonCapStd,GetHourRate(batt.MonCapStd,avg_curr),batt_test_evary_record[i].test_cap,max_vol,vol_list[j],batt.MonVolStd,CapType_Real);
                  var restvalue = GetMonomerCap(batt.MonCapStd,GetHourRate(batt.MonCapStd,avg_curr),batt_test_evary_record[i].test_cap,max_vol,vol_list[j],batt.MonVolStd,CapType_Rest);
                  //console.info(vol_list);
                  batt_actionCap_list[i].push(actionvalue.toFixed(0));            //实际容量 数组
                  batt_restCap_list[i].push(restvalue.toFixed(0));               //剩余容量数组
@@ -3036,7 +3058,8 @@
               //console.info(title);
            }else{ 
               if("Voltage"==units){
                  Titleobj.setAvg((sum/array.length).toFixed(3));
                  Titleobj.setAvg((sum/array.length).toFixed(3));
                  Titleobj.setSum(sum);
                  var low=getLow(1,1);
                  if(low.low_method==0){
                     //根据标称值计算
@@ -3316,7 +3339,7 @@
             // 获取全部单体电压数据的最值
             var lineMax = getMaxFromArr(new_batt_test_voldata);
             var lineMin = getMinFromArr(new_batt_test_voldata);
            CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_voldata,lineMax,lineMin,thrname);      //生成右下折线图
            CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_voldata,lineMax,lineMin,thrname, 'V');      //生成右下折线图
            $('#lineStatus').val('0');
            //console.info(Monvol_list);
         };break;
@@ -3328,7 +3351,7 @@
            // 更新右下方的折线图为单体温度折线图
            var new_Monnum_list = getArrByStatus(Monnum_list);
             var new_batt_test_tmpdata =  getArrByStatus(batt_test_tmpdata);
            CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_tmpdata,max+10,0,thrname);      //生成右下折线图
            CreateLineEchart('myLineChart',oRBottom,new_Monnum_list,TestTime,new_batt_test_tmpdata,max+10,0,thrname, '℃');      //生成右下折线图
            var opt = myLineChart.getOption();
            //console.info(opt.title);
            opt.title[0].text = '单体温度折线图';
@@ -3365,7 +3388,7 @@
   var Residual_capacity = '<s:text name="Residual_capacity" />';   //剩余容量
   var Actual_capacity = '<s:text name="Actual_capacity" />';     //实际容量
   var Percent_total_capacity = '<s:text name="Percent_total_capacity" />';    //容量百分比
   var group_vol = ['<s:text name="Group_voltage"/>','<s:text name="On-line_voltage"/>'];
   var group_vol = ['<s:text name="On-line_voltage"/>', '<s:text name="Group_voltage"/>'];   // 在线电压, 组端电压
   var batt_curr = '<s:text name="Batt_current"/>';
   
   // 更新表格第二列
@@ -3413,7 +3436,8 @@
         var city = batt.StationName2;
         var county = batt.StationName5;
         var home = batt.StationName;
         $(this).attr('href', 'control.jsp?province='+province+'&city='+city+'&county='+county+'&home='+home);
         var battid = batt.BattGroupId;
         $(this).attr('href', 'control.jsp?province='+province+'&city='+city+'&county='+county+'&home='+home+'&battid='+battid);
      });
   }); 
   
@@ -3760,8 +3784,8 @@
   //跳转到指定的电池组统计分析查询
   function targetBattReport(){
      var batt = getBattinfById();
      //console.info(batt);
      window.open("eleAnalyse.jsp?battgroupId="+BattGroupId+"&stationId="+batt.StationId);
      var url = skipUrl("eleAnalyse.jsp",batt.StationName1,batt.StationName2,batt.StationName5,batt.StationName,batt.BattGroupId);
      window.open(url);
   }
   
   // 使用jquery实现左导航的显示和隐藏
@@ -3880,16 +3904,6 @@
            }
            
         });
      });
      //全部收缩
      $('#all_hide').click(function(){
         $('.fir').next().slideUp();
         //$('.sec').next().slideUp();
         $("#lside").scrollTop(0);
         $(".arrow").removeClass("up");
         $(".arrow").addClass("down");
         $(".mark").text("+");
         $(".mark").removeClass("black");
      });
   });
   
@@ -4158,7 +4172,7 @@
    function getBattStr() {
       var battInfo = getBattinfById();
       //console.info(battInfo);
       var battStr = battInfo.StationName+'-'+battInfo.BattGroupName;
       var battStr = battInfo.StationName+'-'+battInfo.BattGroupName+'-标称容量'+battInfo.MonCapStd+'AH';
       $('#address_infor').text(battStr);
    }
    
@@ -4267,10 +4281,10 @@
                 var test_groupvol_arr = new Array();
                 var test_onlinevol_arr = new Array();
                 var test_testcurr_arr = new Array(); */
                 console.info(model.data);
                 //console.info(model.data);
                 var rsData = analyzeLD9SearchData(model.data);
                 
                 console.info(rsData);
                 //console.info(rsData);
                 /* for(var i=0;i<model.data.length;i++){
                    var obj = model.data[i];
                    //console.info(obj);
@@ -4291,8 +4305,8 @@
                 
                 specialGroupVolOpts = $.extend(true, {}, specialGroupVolOpts, {
                    xdata: rsData.time,
                    sdata: [rsData.groupVol, rsData.onlineVol],
                    lname: ['组端电压', '在线电压']
                    sdata: [rsData.onlineVol, rsData.groupVol],
                    lname: ['在线电压', '组端电压']
                 });
                 
                 specialCurrOpts = $.extend(true, {}, specialCurrOpts, {
@@ -4660,8 +4674,8 @@
                 
                 specialGroupVolOpts = $.extend({}, specialGroupVolOpts, {
                    xdata: testtiem_arr,
                    sdata: [groupvol_arr, onlinevol_arr],
                    lname: ['组端电压', '在线电压']
                    sdata: [ onlinevol_arr, groupvol_arr],
                    lname: ['在线电压', '组端电压']
                 });
                 
                 specialCurrOpts = $.extend({}, specialCurrOpts, {
@@ -4862,6 +4876,39 @@
         $('#testrecordcout').val('-1');
      });
      
      // 右键菜单显示
      treeView.ele.on('mousedown', '.eleGroup', function(e) {
         //利用jquery的方式获取当前点击的是否是右键
             if(e.which==3)
             {
                BattGroupId=$(this).attr("id");
                var disX=(e||event).clientX+10;         //得到鼠标点击X的位置
              var disY=(e||event).clientY+10;         //得到鼠标点击Y的位置
              var scrollY=$(window).scrollTop();      //获取浏览器滚动的高度
            //console.log(scrollY);
              var oRightMenu=document.getElementById("right_menu");
              $(this).click();
              //显示菜单内容
              $("#right_menu").show();
              $("#right_menu .more_menu").hide();
              $("#right_menu .angle").hide();
              //console.log(disX+"***"+disY);
              //使菜单跟随鼠标位置
              oRightMenu.style.left= disX+'px';
              oRightMenu.style.top= disY+scrollY+'px';
              setPosition($("#right_menu"),disX, disY);
             }
      });
      //全部收缩
      $('#all_hide').click(function(){
         treeView.ele.find('li').removeClass('sider-menu-open');
      });
      // 电池充放电数据监控
      var batt_list = $('.batt-listen .batt-list');
      batt_list.on('click', 'a', function(){
@@ -4894,8 +4941,11 @@
            homeid: batt.StationId,
            battid: batt.BattGroupId
         };
         findBattinfByBattGroupId(batt.BattGroupId);
         findStationInfoByStation(batt);
         // findBattinfByBattGroupId(batt.BattGroupId);
         // findStationInfoByStation(batt);
         // 显示基站机历卡
         console.log(batt);
         showHomeInfo(batt.StationId);
         // 根据数据定位
         localSideBar(treeView, treeView.container, tmp);
      });