didiyu
2018-11-29 400f7686beb33fbaa712260d8e79d29422b868e3
Merge branch 'dev_lxw' of https://didiyu@gitlab.com/whyclxw1/gx_tieta.git into dev_lxw
8个文件已修改
405 ■■■■ 已修改文件
gx_tieta/WebRoot/batt-state-statistical.jsp 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/batt-station-update1.jsp 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/css/basic-layout.css 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/equip-stats-change.jsp 197 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/pages/js/pages/homeInfo.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dao/BattTestData.java 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dao/impl/Fbsdev_Statechange_infImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dto/Fbsdev_Statechange_inf.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/batt-state-statistical.jsp
@@ -342,11 +342,9 @@
                    tmp.push(_data.station_event_type_tempup);        // 温度上限
                    tmp.push(_data.station_event_type_templow);    // 温度下限
                    tmp.push(_data.station_event_type_dampup);        // 湿度上限
                    tmp.push(_data.station_event_type_damplow);        // 湿度下限
                    tmp.push(_data.station_event_type_damplow);        // 湿度下限
                    rs.push(tmp);
                }
                }
                return rs;
            }
            
gx_tieta/WebRoot/batt-station-update1.jsp
@@ -380,10 +380,11 @@
                        ,{field:'stationid', title:'机房ID', align:'center'}
                        ,{field:'stationname', title:'机房名称', align:'center', width: 400}
                        ,{field:'fbsid', title:'设备ID', align:'center'}
                        ,{field:'fbsname', title:'设备名称', align:'center'}
                        ,{field:'updatestatus', title:'升级状态', align:'center'}
                        ,{field: 'version', title: '版本号', align: 'center'}
                        ,{field:'filename', title:'升级文件名', align:'center'}
                        ,{field:'status', title:'读写状态', align:'center'}
                        ,{field:'progress', title:'上传进度', align: 'center', templet:'#upProgress'}
                        ,{field:'progress', title:'读/写进度', align: 'center', templet:'#upProgress'}
                        ,{field:'datapackage', title:'当前数据包', align:'center'}
                        ,{fixed: 'right', title:'操作', align:'center', toolbar: '#barDemo', width:100}
                    ]]
@@ -495,17 +496,19 @@
                                var formaterData = formaterAddData(rs.data, allData);        //解析数据
                                if(formaterData.length) {
                                    // 遍历formaterData
                                    //console.log(formaterData);
                                    for(var i=0; i<formaterData.length; i++) {
                                        var _formaterData = formaterData[i];
                                        var tmp = {};
                                        tmp.stationid = _formaterData.StationId;        // 机房id
                                        tmp.stationname = _formaterData.StationName;    // 机房名称
                                        tmp.fbsid = _formaterData.FBSDeviceId;            // 设备id
                                        tmp.fbsname = _formaterData.FBSDeviceName;        // 设备名称
                                        tmp.filename = getFnameByVer(_formaterData.StationIp);        // 升级文件名称
                                        tmp.updatestatusnum = 0;                        // 0 等待升级
                                        tmp.updatestatus = '等待升级';                        // 升级状态
                                        tmp.status = '写';                                // 读写状态
                                        tmp.datapackage = 1;                            // 当前数据包
                                        tmp.version = _formaterData.StationIp;            // 版本号
                                        tmp.isNewAdd = true;
                                        //console.log(tmp);
                                        allData.push(tmp);
@@ -622,12 +625,16 @@
                                status: [],
                                datapackage: []
                            };
                            //console.log(rs);
                            console.log(rs);
                            if(rs.code == 1 && rs.data.length>0){
                                var tblData = tOptions.data;
                                for(var i=0; i<rs.data.length; i++) {
                                    var _data = rs.data[i];
                                    var num = -1;
                                    // 计算进度
                                    var currentPer = getStrPercent(_data.dfu_data_blocknum, _data.dfu_data_blocklen, _data.dfu_file_len, _data.dfu_wr_stat);
                                    updateTblPorgress(_data.dev_id, currentPer);
                                    //console.log(currentPer);
                                    // 遍历现有的tblData/根据表格的设别id对获取到值进行排序以便对应表格内容
                                    for(var k=0; k<tblData.length;k++) {
                                        var _tblData = tblData[k];
@@ -696,7 +703,7 @@
                }
                
                
                //验证设备是否允许设备进行远程升级
                // 验证设备是否允许设备进行远程升级
                function checkStationState(temp, all){
                    $.ajax({     
                        type: "post",                 
@@ -710,12 +717,12 @@
                            if(rs.code == 1) {
                                var data = rs.data;
                                var updateData = checkUpdating(data, all);
                                var errorUpdate = checkErrorUpdate(data, all);
                                $('#updateIframeData').data('update', updateData);                // 可更新的设备信息
                                $('#updateIframeData').data('errorUpdate', errorUpdate);    // 无法更新的设备信息
                                $('#updateIframeData').data('update', updateData.good);                // 可更新的设备信息
                                $('#updateIframeData').data('errorUpdate', updateData.bad);    // 无法更新的设备信息
                                
                                console.log(updateData);
                                // 判断是否有升级的设备
                                if(updateData.length == 0) {
                                if(updateData.good.length == 0) {
                                    if(temp.length == 1) {
                                        layer.msg('当前设备无法升级!');
                                    }else {
@@ -735,18 +742,24 @@
                                    content: 'iframe/batt-station-update.html',
                                    btn: ['确认升级', '取消'],
                                    yes: function(index, layero) {
                                        var updateData = $('#updateIframeData').data('update');    // 获取可升级设备的信息
                                        var goodUpdateData = $('#updateIframeData').data('update');    // 获取可升级设备的信息
                                        // 根据可升级设备的信息构造查询条件
                                        var updateList = [];
                                        for(var i=0; i<updateData.length; i++) {
                                        for(var i=0; i<goodUpdateData.length; i++) {
                                            var _data  = goodUpdateData[i];
                                            //var filename = getFnameByVer(_data.version);
                                            var _tmp = {
                                                dev_id: updateData[i].fbsid
                                                dev_id: _data.fbsid
                                                ,dfu_file: _data.filename
                                            };
                                            console.log(_data);
                                            // 添加到设备升级列表中
                                            updateList.push(_tmp);
                                            if(_data.filename && _data.filename.length != 0) {
                                                updateList.push(_tmp);
                                            }
                                        }
                                        //console.log(updateList);
                                        // 关闭弹出面板
                                        layer.close(index);
                                        
@@ -771,34 +784,12 @@
                
                }
                
                // 从返回的可升级的设备中剔除正在升级的设备
                // 格式话升级的设备
                function checkUpdating(rsData, all) {
                    var rs = [];
                    // 遍历all
                    for(var i=0; i<all.length; i++) {
                        var _all = all[i];
                        var isError = true;
                        for(var k=0; k<rsData.length; k++) {
                            var _rsData = rsData[k];
                            // 判断当前设备是否正在升级
                            if(_all.updatestatusnum == 1) {
                                isError = false;
                            }
                        }
                        // 根据isError判读是否是不可添加的机房
                        if(isError) {
                            rs.push(_all);
                        }
                    }
                    return rs;
                }
                // 获取无法升级的设备
                function checkErrorUpdate(rsData, all) {
                    var rs = [];
                    var rs = {
                        good: []
                        ,bad: []
                    };
                    // 遍历all
                    for(var i=0; i<all.length; i++) {
                        var _all = all[i];
@@ -816,7 +807,9 @@
                        
                        // 根据isError判读是否是不可添加的机房
                        if(isError) {
                            rs.push(_all);
                            rs.bad.push(_all);
                        }else {
                            rs.good.push(_all);
                        }
                    }
                    
@@ -868,6 +861,8 @@
                                    tmp.fbsid = _data.dev_id;                    // 设备id
                                    tmp.fbsname = _data.fBSDeviceName;            // 设备名称
                                    tmp.updatestatusnum = 1;                    // 0 等待升级 1正在升级
                                    tmp.version = _data.note;                    // 版本号
                                    tmp.filename = _data.dfu_file;                // 升级文件名称
                                    tmp.updatestatus = '升级中';                    // 升级状态
                                    tmp.status = _data.dfu_wr_stat == 1?'写':_data.dfu_wr_stat == 2?'读':_data.dfu_wr_stat == 3?'完成':'';                            // 读写状态
                                    tmp.datapackage = _data.dfu_data_blocknum;                        // 当前数据包
@@ -878,11 +873,11 @@
                                
                                // 更新表格
                                table.render(tOptions);
                                renderTblPorgess(allData);
                            }
                        }
                    });
                }
                
                // 渲染进度条
                function renderTblPorgess(tblData) {
@@ -895,6 +890,54 @@
                    }
                    
                }
                // 更新进度条
                function updateTblPorgress(fbsid, percent) {
                    // 更新进度条
                    element.progress('upload'+fbsid, percent);
                }
                // 计算进度
                function getStrPercent(current, blocklen, all, status) {
                    var rs = '0%';
                    if(all != 0) {
                        var num = Math.ceil(current*blocklen*100/all);
                        if(num>=100) {
                            num = status == 1?'写完成':'升级完成';
                        }
                        rs = num+'%';
                    }
                    return rs;
                }
                //console.log(getFnameByVer('D:8,V2.53.40'));
                // 更具版本号获取文件的名称
                function getFnameByVer(version) {
                    var fileList = [
                        {
                            filename: 'avr_dfu.uc3'
                            ,pattern: /^.*\.24\.[0-9]*$/
                        }
                        ,{
                            filename: 'E51_DFU.SM5'
                            ,pattern: /^.*\.53\.[0-9]*$/
                        }
                    ];
                    // 遍历并获取filename
                    var filename = undefined;
                    for(var i=0; i<fileList.length; i++) {
                        var _fileList = fileList[i];
                        if(_fileList.pattern.test(version)) {
                            filename = _fileList.filename;
                        }
                    }
                    return filename;
                }
            });
        </script>
    </body>
gx_tieta/WebRoot/css/basic-layout.css
@@ -39,7 +39,7 @@
}
.page-content .content-item.side-bar-container {
    width: 240px;
    width: 360px;
    background-color: #fff;
}
.page-content .content-item.data-show {
gx_tieta/WebRoot/equip-stats-change.jsp
@@ -16,11 +16,12 @@
    <link rel="stylesheet" type="text/css" href="css/loading.css">
    <link rel="stylesheet" type="text/css" href="css/basic-layout.css"/>
    <link rel="stylesheet" href="css/common.css">
    <link rel="stylesheet" type="text/css" href="css/popup-tbl.css">
    <link rel="stylesheet" href="src/css/layui.css">
    <style>
        #lside {
            position: absolute;
            top: 0;
            top: 30px;
            left: 0;
            bottom: 0;
            right: 0;
@@ -36,6 +37,13 @@
    <jsp:include page="nav.jsp" flush="true"/>
    <div class="page-content">
        <div class="content-item side-bar-container">
            <div class="siderbar-tools">
                <div class="siderbar-tools-right">
                    <i class="fa fa-file-text-o" title="机历卡" id="siderbarToolsCard"></i>
                    <i class="fa fa-search" title="查询机房" id="siderbarToolsSearch"></i>
                    <i class="fa fa-outdent" title="全部收缩" id="siderbarToolsHide"></i>
                </div>
            </div>
            <div class="lside" id="lside"></div>
        </div>
        <div class="content-item data-show">
@@ -109,12 +117,43 @@
            </div>
        </div>
    </div>
    <div class="popup"></div>
    <!-- 导航定位  -->
    <div class="popup w500 mr250" id="localNav">
        <div class="popup-title"><span>机房查询</span><a href="javascript:;" class="close">X</a></div>
        <div class="popup-content">
            <div class="popup-tbl">
                <table>
                    <tbody>
                        <tr>
                            <th>机房名称/机房id</th>
                        </tr>
                        <tr>
                            <td>
                                <input name="popupHomeName" id="popupHomeName" type="text">
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
        </div>
        <div class="popup-footer">
            <input type="button" name="" id="localNav_en" class="status-change-btn" value="确定" > <!-- 确定 -->
            <input type="button" name="" class="close" value="取消" >                <!-- 取消 -->
        </div>
    </div>
    <!-- iframe数据临时存储位置 -->
    <div id="homeInfoIframeData"></div>
    <script type="text/javascript" src="src/layui.all.js"></script>
    <script type="text/javascript" src="jqueryui/jquery-ui.min.js"></script>
    <script type="text/javascript" src="js/equip-stats-change.jquery.ui.js"></script>
    <script type="text/javascript" src="js/basic-layout.js"></script>
    <script type="text/javascript" src="pages/js/pages/siderbar.js"></script>
    <script type="text/javascript" src="js/pageUtil.js"></script>
    <script type="text/javascript" src="src/layui.all.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">
        var arrTh = [];
        var arrTd = [];
@@ -125,9 +164,20 @@
        };
        var layerMsg;
        
        var localNav = new Popup($('#localNav'));
        // 初始化localNav弹出框
        $('#localNav').find('.close').bind('click', function() {
            localNav.hidePopup();    // 隐藏localNav弹出框和遮罩层
        });
        // 窗口大小改变
        $(window).resize(function() {
            localNav.hidePopup();
        });
        // 生成页面中的表格
        $(function () {
            arrTh = ['设备Id', '机房名称', '变迁前状态', '变迁后状态', '变迁原因', '变迁时间'];
            arrTh = ['设备Id', '机房名称', '事件类型', '变迁前状态', '变迁后状态', '变迁原因','模块编号','变迁时间'];
            createFullTbl($('.tbl-header'), $('.tbl-body'), arrTh, arrTd);
            var stop_types = [
                '手动停止', '暂停', '正在放电测试', '正在等待放电', '正在限流放电', 
@@ -183,15 +233,18 @@
                success: function(data){ 
                    data = eval('('+data+')');
                    var model = eval('('+data.result+')');
                    //console.info(model);
                    console.info(model);
                    if(model.code == 1){
                        for(var i=0;i<model.data.length;i++){
                            arrTd.push(model.data[i].dev_id);                        //设备id
                            arrTd.push(model.data[i].note);                            //机房名称
                            arrTd.push(model.data[i].last_stat_name);                //变换前状态
                            arrTd.push(model.data[i].now_stat_name);                //变化后状态
                            arrTd.push(model.data[i].state_change_reason_name);        //变换原因
                            arrTd.push(model.data[i].rec_time);                        //变换时间
                        for(var i=0;i<model.data.length;i++){
                            var _data = model.data[i];
                            arrTd.push(_data.dev_id);                        //设备id
                            arrTd.push(_data.note);                            //机房名称
                            arrTd.push(_data.eve_type_name);                //变迁前事件类型
                            arrTd.push(_data.last_stat_name);                //变换前状态
                            arrTd.push(_data.now_stat_name);                //变化后状态
                            arrTd.push(_data.state_change_reason_name);        //变换原因
                            arrTd.push(_data.module_num);                                            //模块编号
                            arrTd.push(_data.rec_time);                        //变换时间
                            
                            if(model.data[i].page != undefined){                            
                                Page.pageAll = model.data[i].page.pageAll;            //总记录条数
@@ -209,6 +262,28 @@
                    createFullTbl($('.tbl-header'), $('.tbl-body'), arrTh, arrTd);            
                }                 
            });
        }
        // 事件类型
        function getTextByVal(num) {
            var _num = Number(num);
            var rs = '';
            switch(_num){
                case 0:
                    rs = 'BTS工作状态:';
                break;
                case 11:
                    rs = 'SD卡故障:';
                break;
                case 12:
                    rs = '电池离线状态:';
                break;
                case 20:
                    rs = 'DCDC模块告警状态:';
                break;
            }
            return rs;
        }
        
        /**
@@ -318,6 +393,7 @@
            var third = GLOBAL.pages.siderbar.third;    // 三级导航
            var fourth = GLOBAL.pages.siderbar.fourth;    // 四级导航
            var fifth = GLOBAL.pages.siderbar.fifth;    // 五级导航
            var localSideBar = GLOBAL.pages.siderbar.localSideBar;    // 定位机房
            var treeView = new TreeView($('#lside'));
            $('#lside').width($('#ele_content').width());
            treeView.setContainer();
@@ -372,10 +448,107 @@
            // 电池组
            treeView.ele.on('click', '.eleGroup', function() {
                var eleGroup = $(this).data('attr');
                searchDevHistoryRecord();
            });
            // 工具条-全部收缩
            $('#siderbarToolsHide').click(function(){
                treeView.ele.find('li').removeClass('sider-menu-open');
            });
            // 工具条-机历卡
            $('#siderbarToolsCard').click(function(){
                var batt = getBatt();
                var tmp = {
                    province: batt.StationName1,
                    city: batt.StationName2,
                    county: batt.StationName5,
                    home: batt.StationName,
                    homeid: batt.StationId,
                    battid: batt.BattGroupId
                };
                // 显示基站机历卡
                showHomeInfo(batt.StationId);
                // 根据数据定位
                localSideBar(treeView, treeView.container, tmp);
            });
            // 工具条-查询
            $('#siderbarToolsSearch').click(function(){
                localNav.homeInfo = undefined;
                $('#popupHomeName').val('');
                localNav.showPopup();
            });
            // 点击面板的确定按钮
            $('#localNav_en').click(function() {
                // 定位
                if(localNav.homeInfo) {
                    localNav.hidePopup();
                    localSideBar(treeView, treeView.container, localNav.homeInfo);
                }else {
                }
            });
            // 查询机房并更新source
            var homeSource = [];
            findHome();
            // 定义机房查询信息
            $( "#popupHomeName" ).autocomplete({
                source: homeSource,
                select: function(event, ui) {
                    localNav.homeInfo = ui.item;    // 设置机房信息内容
                }
            });
            // 查询机房
            function findHome() {
                var tmp = {
                    StationName1:'',
                    StationName2: '',
                    StationName5:''
                };
                // 查询将信息
                $.post("BattInfAction!serchStationName3","json="+JSON.stringify(tmp),function(result){
                    var rs = JSON.parse(result.result);
                    if(rs.code==1){
                        homeSource = [];
                        var data = rs.data;
                        for(var i=0; i<data.length; i++) {
                            var _data = data[i];
                            var tmp = {
                                label: _data.StationName+'('+_data.StationId+')',
                                province: _data.StationName1,
                                city: _data.StationName2,
                                county: _data.StationName5,
                                home: _data.StationName,
                                homeid: _data.StationId,
                                battid: undefined
                            };
                            // 添加到资源
                            homeSource.push(tmp);
                        }
                        $( "#popupHomeName" ).autocomplete('option', 'source', homeSource);
                    }
                });
            }
        });
        //根据当前选中的电池组id获取当前电池组的信息
        function getBatt(){
            var activeFile = $('.whyc-sider-menu .sider-menu-file.active');
            if(activeFile.length == 1) {
                return activeFile.data('attr');
            }else {
                return undefined;
            }
        }
    </script>
  </body>
</html>
gx_tieta/WebRoot/pages/js/pages/homeInfo.js
@@ -15,7 +15,7 @@
            var rs = JSON.parse(result.result);
            if(rs.code == 1) {
                var data = rs.data;
                //console.log(data);
                console.log(data);
                var rsData = formatHomeInfo(data);
                $('#homeInfoIframeData').data('data', rsData);
                // 显示面板
gx_tieta/src/com/fgkj/dao/BattTestData.java
@@ -261,13 +261,45 @@
        return stop_type; 
    }
    //设备状态变换对应关系
    public static String getFbsdev_Statechange(int state){
        String state_name="停止";
        switch(state){
              case 0:state_name="停止";break;
              case 1:state_name="放电";break;
              case 2:state_name="充电";break;
           }
    public static String getFbsdev_Statechange(int eve_type,int state){
        String state_name="未知";
        if(eve_type==0){
            if(state==0){
                state_name="在线监测";
            }else if(state==1){
                state_name="放电测试";
            }else if(state==2){
                state_name="充电测试";
            }else if(state==3){
                state_name="升压续航";
            }
        }else if(eve_type==11){
            if(state==0){
                state_name="正常";
            }else if(state==1){
                state_name="故障";
            }
        }else if(eve_type==12){
            if(state==0){
                state_name="在线";
            }else if(state==1){
                state_name="离线";
            }
        }else if(eve_type==20){
            state_name="0x"+Integer.toHexString(state);
        }
        return state_name;
    }
    //设备状态变换对应eve_type
    public static String getEve_type_name(int eve_type){
        String eve_type_name="未知";
        switch(eve_type){
              case 0:eve_type_name="BTS工作状态";break;
              case 11:eve_type_name="SD卡故障";break;
              case 12:eve_type_name="电池离线状态";break;
              case 20:eve_type_name="DCDC模块告警状态";break;
           }
        return eve_type_name;
    }
}
gx_tieta/src/com/fgkj/dao/impl/Fbsdev_Statechange_infImpl.java
@@ -83,13 +83,14 @@
                                state_inf.setDev_id(rs.getInt("dev_id"));
                                state_inf.setRec_time(rs.getTimestamp("rec_time"));
                                state_inf.setLast_stat(rs.getInt("last_stat"));
                                state_inf.setLast_stat_name(BattTestData.getFbsdev_Statechange(rs.getInt("last_stat")));
                                state_inf.setLast_stat_name(BattTestData.getFbsdev_Statechange(rs.getInt("eve_type"),rs.getInt("last_stat")));
                                state_inf.setNow_stat(rs.getInt("now_stat"));
                                state_inf.setNow_stat_name(BattTestData.getFbsdev_Statechange(rs.getInt("now_stat")));
                                state_inf.setNow_stat_name(BattTestData.getFbsdev_Statechange(rs.getInt("eve_type"),rs.getInt("now_stat")));
                                state_inf.setState_change_reason(rs.getInt("state_change_reason"));
                                state_inf.setState_change_reason_name(BattTestData.getStopType(BattTestData.TEST_LOADER_FBS9100S, rs.getInt("state_change_reason")));
                                state_inf.setDev_alarm(rs.getInt("dev_alarm"));
                                state_inf.setEve_type(rs.getInt("eve_type"));
                                state_inf.setEve_type_name(BattTestData.getEve_type_name(rs.getInt("eve_type")));
                                state_inf.setModule_num(rs.getInt("module_num"));
                                state_inf.setNote(rs.getString("stationName"));
                                list.add(state_inf);
gx_tieta/src/com/fgkj/dto/Fbsdev_Statechange_inf.java
@@ -17,6 +17,7 @@
    private Integer dev_alarm;
    private String dev_alarm_name;
    private int eve_type;
    private String eve_type_name;
    private int module_num;
    private String  note;
    private Page page;
@@ -153,6 +154,14 @@
    public void setModule_num(int module_num) {
        this.module_num = module_num;
    }
    public String getEve_type_name() {
        return eve_type_name;
    }
    public void setEve_type_name(String eve_type_name) {
        this.eve_type_name = eve_type_name;
    }
    @Override
    public String toString() {
@@ -164,11 +173,14 @@
                + state_change_reason + ", state_change_reason_name="
                + state_change_reason_name + ", dev_alarm=" + dev_alarm
                + ", dev_alarm_name=" + dev_alarm_name + ", eve_type="
                + eve_type + ", module_num=" + module_num + ", note=" + note
                + ", page=" + page + "]";
                + eve_type + ", eve_type_name=" + eve_type_name
                + ", module_num=" + module_num + ", note=" + note + ", page="
                + page + "]";
    }
    
}