霍东伟
2019-03-05 54a44a172bcbafcf016ed971c12fedd832c1f481
提交内容
1个文件已修改
355 ■■■■■ 已修改文件
gx_tieta/WebRoot/endure.jsp 355 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/endure.jsp
@@ -164,7 +164,6 @@
                </div>
            </div>
            <table id="pageTbl" lay-filter="pageTbl"></table>
            <form id="export_excel" action="ExportTable.servlet" method="post">
                <input type="hidden" name="PageName" value="endure.jsp"/>
                <input type="hidden" id="table_th_arr" name="table_th_arr"/>
@@ -239,19 +238,18 @@
        <script type="text/javascript" src="src/layui.all.js"></script>
        <script type="text/javascript" src="pages/js/mylayui.js"></script>
        <script type="text/javascript">
        var Page={
            pageCurr:1,
            pageSize:10,
            pageAll:1,
        };
        var form  = layui.form;        // 获取form模块
        var table = layui.table;    // 获取table模块
        /* 分页信息模块 */
        /* 实时分页信息模块 */
        var crlPage = new TblPage();    // 实例化TblPage对象--验收的的审核信息
        crlPage.set(1, 0, 20);            // 初始化值
        /* 历史分页信息模块 */
        var hisPage = new TblPage();    // 实例化TblPage对象--验收的的审核信息
        hisPage.set(1, 0, 20);            // 初始化值
        
        // 页面dom对象
           var pagePageHis = new PagePage({
           var pagePage = new PagePage({
               search: $('#paging .search')        // 查询
               ,home: $('#page_home')                // 首页
               ,pre: $('#page_pre')
@@ -263,9 +261,32 @@
               ,size: $('#number')
               ,current: $('#current')
           });
           pagePageHis.init(hisPage, searchHis);
        // 默认显示实时续航能力的分页
           pagePage.init(crlPage, searchCrl);
           // 切换实时-历史改变状态
           var endurTypeEle = $('#endu_type');
           var endurType = endurTypeEle.val(); // 标记当前显示数据的状态
           // 切换实时和历史的是否
           form.on('select(endu_type)', function() {
               var _endurType = Number(endurTypeEle.val());
               if(endurType != _endurType) {
                   switch(_endurType) {
                       case 0:
                           pagePage.setPage(crlPage);
                           pagePage.setCallback(searchCrl);
                           break;
                       case 1:
                           pagePage.setPage(hisPage);
                           pagePage.setCallback(searchHis);
                           break;
                   }
               }
           });
        //arrTh = ['维护区', '机房名称', '电池组名称', '标称容量', '实际容量','剩余容量','实时电流', '续航时间'];
        arrTh = ['<s:text name="Maintenance_area"/>', '<s:text name="Computer_name"/>', '<s:text name="Nominal_capacity"/>(AH)', '<s:text name="Actual_capacity"/>(AH)', '<s:text name="real_time"/><s:text name="Current"/>(53)(A)', '<s:text name="real_time"/><s:text name="Current"/>(45)(A)', '<s:text name="Power_cut"/><s:text name="Endurance"/><s:text name="Time"/>'];
           // 表格模块
@@ -280,8 +301,32 @@
                ,{field:'batts_realcapstd', title:'电池组实际容量(AH)', templet: '#batts_realcapstd', align:'center', width: 210}
                ,{field: 'real_curr', title: '实时电流(53)(A)', align: 'center', width: 200}
                ,{field:'real_curr45', title:'实时电流(45)(A)', templet: '#real_curr45',align:'center', width: 200}
                ,{field:'batts_teststarttime', title:'核容开始时间', align:'center', width: 300}
                ,{field:'endur_time_long', title:'停电续航时间(min)', align:'center', minWidth: 210}
                ,{field:'batts_teststarttime', title:'核容时间', align:'center', width: 300}
                ,{field:'endur_time_long', title:'停电续航时间(min)', align:'center', minWidth: 200, width: 210}
            ]]
            ,data:[]
            ,limit: 10000
            ,page: false
            ,height: 'full-290'
        };
        // 实时表格模块
        var tOptionsCrl = {
            elem: '#pageTbl'
            ,toolbar: false
            ,defaultToolbar: []
            ,cellMinWidth: 80
            ,cols: [[
                {field:'StationName', title:'机房名称', align:'center',minWidth: 500}
                ,{field:'BattGroupName', title:'电池组名称', align:'center', width: 210}
                ,{field:'MonCapStd', title:'电池组标称容量(AH)', align:'center', width: 210}
                ,{field:'batts_realcapstd', title:'电池组实际容量(AH)', align:'center', width: 210}
                ,{field:'res_cap', title:'剩余容量(AH)',align:'center', width: 200}
                ,{field: 'real_curr', title: '实时电流(53)(A)', align: 'center', width: 200}
                ,{field:'real_curr45', title:'实时电流(45)(A)',align:'center', width: 200}
                ,{field:'batts_teststarttime', title:'核容时间', align:'center', width: 300}
                ,{field:'endur_time_long', title:'停电续航时间(min)', align:'center', minWidth: 200,width: 210}
            ]]
            ,data:[]
            ,limit: 10000
@@ -290,7 +335,7 @@
        };
        
        // 生成表格数据
        table.render(tOptions);
        table.render(tOptionsCrl);
        // 根据表格的的头部生成
        $(function() {
@@ -300,8 +345,14 @@
        
        // 查询历史信息
        function searchHis() {
            var temp = createSearchParamHis();
            var load = layer.load(1, '数据加载中...');
            // 判断当前状态
            if(endurType != endurTypeEle.val()) {
                hisPage.setCurr(1);
                endurType = endurTypeEle.val();
            }
            // 初始化表格选项
            tOptions.data = [];
            
@@ -316,7 +367,7 @@
                    var rs = JSON.parse(res.result);
                    if(rs.code == 1) {
                        var data = rs.data;
                        console.log(data);
                        //console.log(data);
                        for(var i=0; i<data.length; i++) {
                            var _data = data[i];
                            _data.endur_time_long = getEndurTimeLong(_data);
@@ -326,10 +377,10 @@
                        }
                        tOptions.data =data;
                    }else {
                        Page.setAll(0);
                        hisPage.setAll(0);
                    }
                    
                    pagePageHis.setVal();
                    pagePage.setVal();
                    // 生成表格数据
                    table.render(tOptions);
                },
@@ -338,7 +389,6 @@
                }
            });
        }
        // 构造查询条件
        function createSearchParamHis() {
            var temp = {
@@ -348,6 +398,71 @@
                stationName:$('#station_name').val(),                    // 机房名
                monvolstd: $('#monvolstd').val(),                         // 系统类型
                page: hisPage.getPage()
            };
            return temp;
        }
        // 查询电池组实时续航能力数据
        function searchCrl() {
            var temp = createSearchParamCrl();
            var load = layer.load(1, '数据加载中...');
            // 判断当前状态
            if(endurType != endurTypeEle.val()) {
                crlPage.setCurr(1);
                endurType = endurTypeEle.val();
            }
            // 初始化表格选项
            tOptionsCrl.data = [];
            // 请求后台
            $.ajax({
                type: "post",
                async: true,
                url: "Batttestdata_infAction!serchBattLifeNow",
                data: "json="+JSON.stringify(temp),
                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 _data = data[i];
                            var _temp = {
                                StationName: _data.binf.StationName,
                                BattGroupName: _data.binf.BattGroupName,
                                MonCapStd: _data.binf.MonCapStd,
                            }
                            // 设置分页信息
                            if(_data.binf.MonNum) {
                                crlPage.setAll(_data.binf.MonNum);
                            }
                            tOptionsCrl.data.push(_temp);
                        }
                    }else {
                        crlPage.setAll(0);
                    }
                    pagePage.setVal();
                    // 生成表格数据
                    table.render(tOptionsCrl);
                },
                complete: function() {
                    layer.close(load);
                }
            });
        }
        // 构造查询条件
        function createSearchParamCrl() {
            var temp = {
                StationName1:$('#station_name1').val(),                    // 省
                StationName5:$('#county').val(),                        // 区/县
                StationName2:$('#city').val(),                            // 市
                StationName:$('#station_name').val(),                    // 机房名
                MonVolStd: $('#monvolstd').val(),                         // 系统类型
                page: crlPage.getPage()
            };
            
            return temp;
@@ -629,208 +744,10 @@
            searchHome(true);
        });
        
        //构造查询条件
        function createSearchParam(){
            //alert($('#endu_type').val());
            var temp = {
                num:3,                                                    //电池状态
                BattGroupId:$("#endu_type").val(),                        //查询数据
                StationName:$('#station_name').val(),                    //机房名
                StationName5:$('#county').val(),                        // 区/县
                StationName2:$('#city').val(),                            //市
                StationName1:$('#station_name1').val(),                    //维护区
                BattProductDate:$('#starttime').val()+" 00:00:00",
                BattProductDate1:$('#endtime').val()+" 23:59:59",        //生产日期段
                MonVolStd: $('#monvolstd').val()                         // 系统类型
            };
            //console.info(temp);
            return temp;
        }
        var formjson;
        //查询电池组的历史续航能力
        function searchBattLife(){
            var jsontemp = $('#search_form').serialize();
            if(formjson != jsontemp){
                Page.pageCurr = 1;
                formjson = jsontemp;
            }
            var temp = createSearchParam();
            arrTd  = new Array();
            var load = layer.load(1);
            $.ajax({
                   type: "post",
                url: "Batttestdata_infAction!serchBattLife",
                async:true,
                dataType:'text',
                data:"result="+JSON.stringify(temp),
                success: function(data){
                    data = eval("("+data+")");
                    var model = eval("("+data.result+")");
                    //console.info(model);
                    if(model.code==1){
                        if(temp.BattGroupId == 0){
                            setRealdate(model.data,arrTd);
                        }else{
                            sethistorydata(model.data,arrTd);
                        }
                    }else{
                        Page.pageAll = 0;
                        noContent.showNoContent("暂无查询结果!");
                    }
                    var pageNum = Math.ceil(Page.pageAll/Page.pageSize);
                    $('#page_num').val(Page.pageCurr);
                    $('#current').text(Page.pageCurr+"/"+pageNum);
                    $('#total').text(Page.pageAll);
                    createAllTbl(tblHd, tblBd, arrTh, arrTd, tblStatus);
                    layer.close(load);
                },
                error:function(){
                    layer.close(load);
                    noContent.showNoContent("查询失败,请检查网络连接!");
                }
            });
        }
        //设置实时数据的表格数据
        function setRealdate(data,arr){
            console.info(data);
            var alldata = new Array();
            for(var i = 0;i<data.length;i++){
                var moncapstd = data[i].binf.MonCapStd;
                var monvolstd = data[i].binf.MonVolStd;
                var maxvol = data[i].bdata.mon_vol;
                var minvol = data[i].bdata.mon_tmp;
                var test_cap = data[i].bstate.batt_test_cap;
                var test_curr = data[i].bstate.group_curr.toFixed(1);
                var actionvalue = (GetMonomerCap(moncapstd,GetHourRate(moncapstd,test_curr),test_cap,maxvol,minvol,monvolstd,CapType_Real)).toFixed(0);
                var restvalue = (GetMonomerCap(moncapstd,GetHourRate(moncapstd,test_curr),test_cap,maxvol,minvol,monvolstd,CapType_Rest)).toFixed(0);
                var percent = (restvalue*100/moncapstd).toFixed(1);
                var restTime = test_curr==0?formartTime(0):formartTime(restvalue*60/test_curr);
                var temp = getObjByStationName(alldata, data[i].binf.StationName);
                //console.info(actionvalue+"=="+restvalue);
                if(temp == undefined){
                    alldata.push({
                        StationName1:data[i].binf.StationName1,
                        StationName:data[i].binf.StationName,
                        moncapstd: moncapstd,
                        actionvalue: parseInt(actionvalue),
                        restvalue: parseInt(restvalue),
                        test_curr:test_curr,
                    });
                }else{
                    temp.actionvalue +=parseInt(actionvalue);
                    temp.restvalue += parseInt(restvalue);
                }
            }
            for(var i = (Page.pageCurr-1)*Page.pageSize;i<alldata.length && i<Page.pageCurr*Page.pageSize;i++){
                arr.push(alldata[i].StationName1);        // 维护区
                arr.push(alldata[i].StationName);        // 机房名称
                arr.push(alldata[i].moncapstd);            // 标称容量
                arr.push(alldata[i].actionvalue);        // 实际容量
                arr.push(alldata[i].test_curr);            // 实际电流(53)
                arr.push(getRealCurr45(alldata[i].test_curr));            //实际电流(45)
                arr.push(alldata[i].test_curr==0?
                        formartTime(0):
                        formartTime(alldata[i].restvalue*60/alldata[i].test_curr));    // 停电续航时间
            }
            Page.pageAll = alldata.length;
        }
        // 根据实际电流53的值获取实际电流45的值
        function getRealCurr45(loadCurr) {
            return (loadCurr*53/45).toFixed(1);
        }
        //设置历史数据的表格数据
        function sethistorydata(data,arr){
            //console.info(data);
            var alldata = new Array();            //存放所有数据机房的数据
            for(var i=0;i<data.length;i++){
                var stationid = data[i].binf.StationId;
                   var moncapstd = data[i].binf.MonCapStd;
                var monvolstd = data[i].binf.MonVolStd;
                var maxvol = data[i].tdata.max_monvol;
                var minvol = data[i].tdata.min_monvol;
                var test_cap = data[i].tdata.test_cap;
                var test_curr = data[i].tdata.test_curr;
                var actionvalue = (GetMonomerCap(moncapstd,GetHourRate(moncapstd,test_curr),test_cap,maxvol,minvol,monvolstd,CapType_Real)).toFixed(0);
                var restvalue = (GetMonomerCap(moncapstd,GetHourRate(moncapstd,test_curr),test_cap,maxvol,minvol,monvolstd,CapType_Rest)).toFixed(0);
                //console.info(moncapstd+"==="+actionvalue+"==="+restvalue);
                var percent = (restvalue*100/moncapstd).toFixed(1);
                var restTime = test_curr==0?formartTime(0):formartTime(restvalue*60/test_curr);
                var temp = getObjByStationName(alldata, data[i].binf.StationName);
                //console.info(temp);
                if(temp == undefined){
                    alldata.push({
                        stationid:stationid,
                        StationName1:data[i].binf.StationName1,
                        StationName:data[i].binf.StationName,
                        moncapstd:moncapstd,
                        actionvalue:parseInt(actionvalue),
                        restvalue:parseInt(restvalue),
                        test_curr:test_curr,
                    });
                }else{
                    temp.actionvalue +=parseInt(actionvalue);
                    temp.restvalue += parseInt(restvalue);
                }
                //sconsole.info(alldata);
               }
               alldata = ascSort(alldata);
            for(var i = (Page.pageCurr-1)*Page.pageSize;i<alldata.length && i<Page.pageCurr*Page.pageSize;i++){
                arr.push(alldata[i].StationName1);        // 维护区
                arr.push(alldata[i].StationName);        // 机房名称
                arr.push(0);            // 电池组标称容量
                arr.push(alldata[i].actionvalue);        // 实际容量
                arr.push((alldata[i].test_curr).toFixed(1));            // 实时电流(53)
                arr.push(getRealCurr45(alldata[i].test_curr));    // 实时电流(45)
                arr.push(alldata[i].test_curr==0?formartTime(0):formartTime(alldata[i].actionvalue*60/alldata[i].test_curr));
            }
            Page.pageAll = alldata.length;
        }
        //判断station在list中是否存在
        function getObjByStationName(list,StationName){
            var obj = undefined;
            for(var i=0;list!=undefined && i<list.length;i++){
                if(list[i].StationName == StationName){
                    obj = list[i];
                    break;
                }
            }
            return obj;
        }
        //格式化时间
        function formartTime(value){
            value = Math.abs(parseInt(value));
            //console.info(value);
            var day_num = 0;
            var hour_num = 0;
            var min_num = 0;
            if(value>=24*60){
                day_num = Math.floor(value/(24*60));
                value = value%(24*60);
            }
            if(value>=60){
                hour_num = Math.floor(value/60);
                value = value%60;
            }
            min_num = value;
            return day_num+"天"+hour_num+"小时"+min_num+"分";
        }
        $('#export_table').click(function(){
            //console.info($('#tbHead .tbFixed thead th').length);
            exprotTable($('#tbHead table thead th'),$('#tbBrdw table tbody td'),$('#export_excel'),$('#table_th_arr'),$('#table_td_arr'));
            layer.msg("功能开发中...");
            //exprotTable($('#tbHead table thead th'),$('#tbBrdw table tbody td'),$('#export_excel'),$('#table_th_arr'),$('#table_td_arr'));
        });
        
        function exprotTable(eleTh,eleTd,eleform,eleTh_Text,eleTd_Text){
@@ -847,8 +764,6 @@
            }
            eleTh_Text.attr('value',ArrTh);
            eleTd_Text.attr('value',ArrTd);
            //console.info(ArrTh);
            //console.info(ArrTd);
            eleform.submit();
        }
        // 升序排序