hdw
2018-10-11 5eccf7914f844961d5d0a63071d1c89c0b5b32f1
修改
4个文件已修改
381 ■■■■ 已修改文件
gx_tieta/WebRoot/ele-match-group.jsp 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/iframe/set-match-group.html 287 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/set-match-group.jsp 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/src/com/fgkj/dao/BaseDAOFactory.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
gx_tieta/WebRoot/ele-match-group.jsp
@@ -233,7 +233,7 @@
                        if(rs.code == 1) {
                            var data = rs.data;
                            var num = 0;
                            console.log(data);
                            //console.log(data);
                            var rsData = formaterTblData(data);
                            // 设置表格的数据
                            num = rsData.length;
gx_tieta/WebRoot/iframe/set-match-group.html
@@ -58,7 +58,7 @@
                                </div>
                            </div>
                            <button class="layui-btn layui-btn-sm layui-btn-normal" id="search"><i class="fa fa-search"></i> 查询</button>
                            <button class="layui-btn layui-btn-sm layui-btn-normal" id="replace"><i class="fa fa-reply"></i> 更换</button>
                            <button class="layui-btn layui-btn-sm layui-btn-normal" id="matchGroup"><i class="fa fa-reply"></i> 配组</button>
                        </div>
                    </div>
@@ -73,84 +73,203 @@
    <script type="text/javascript" src="../src/layui.js"></script>
    <script type="text/javascript" src="../src/layui.js"></script>
    <script type="text/javascript" src="../pages/js/mylayui.js"></script>
    <script type="text/javascript" src="../js/base.js"></script>
    <script type="text/javascript">
        layui.use(['layer', 'table', 'form', 'laytpl', 'element'],function() {
            var layer = layui.layer     // 获取layer模块
                ,table = layui.table     // 获取table模块
                ,form = layui.form
                ,laytpl = layui.laytpl
                ,element = layui.element;
                // 表格数据配置项
                var tOptions = {
                    elem: '#groupTbl'
                    ,toolbar: true
                    ,defaultToolbar: ['exports', 'filter']
                    ,cellMinWidth: 80
                    ,cols: [[
                        {type: 'radio', fixed: 'left'}
                        ,{field:'stationname', title:'机房名称', align:'center', width: 380}
                        ,{field:'groupname', title:'电池组名称', align:'center'}
                        ,{field:'monnum', title:'单体编号', align:'center'}
                        ,{field:'brandname', title:'品牌名称', align:'center'}
                        ,{field:'nominalcap', title:'标称容量', align:'center'}
                        ,{field:'monvol', title:'标称电压(V)', align:'center'}
                    ]]
                    ,data:[]
                    ,page: {
                        layout:['count', 'prev', 'page', 'next']
                    }
                    ,height: 'full-0'
                };
                // 生成表格数据
                table.render(tOptions);
                ,form = layui.form;
            var parentData = parent.$('#setMatchGroupData').data('data');        // 父容器存储的值
            // 表格数据配置项
            var tOptions = {
                elem: '#groupTbl'
                ,toolbar: true
                ,defaultToolbar: ['exports', 'filter']
                ,cellMinWidth: 80
                ,cols: [[
                    {type: 'radio', fixed: 'left'}
                    ,{field:'stationname', title:'机房名称', align:'center', width: 380}
                    ,{field:'groupname', title:'电池组名称', align:'center'}
                    ,{field:'monnum', title:'单体编号', align:'center'}
                    ,{field:'brandname', title:'品牌名称', align:'center'}
                    ,{field:'nominalcap', title:'标称容量', align:'center'}
                    ,{field:'monvol', title:'标称电压(V)', align:'center'}
                ]]
                ,data:[]
                ,page: {
                    layout:['count', 'prev', 'page', 'next']
                }
                ,height: 'full-0'
            };
            // 生成表格数据
            table.render(tOptions);
                // 点击查询根据查询条件获取电池组的单体列表
                $('#search').click(function() {
                    var data = [{stationname: 'xxx'},{stationname: 'enen'}];
                    var num = data.length;
                    tOptions.data = data;
                    // 设置分页信息
                    // tOptions.page.layout = ['count', 'prev', 'page', 'next'];  //自定义分页布局
                    tOptions.page.limit = num;
                    tOptions.page.limits = [num]
                    // 重新绘制表格
                    table.reload('groupTbl', tOptions);
                });
                // 切换筛选条件模块
                form.on('select(group)', function(data) {
                    var dom = data.elem;
                    var $dom = $(dom);
                    console.log($dom.find('option:selected').data());
                });
                // 点击表格工具栏更换
                table.on('tool(groupTbl)', function(obj) {
                    var event = obj.event;
                    switch(event) {
                        case 'replace':
                            console.log(obj);
                            showReplacePanel();
                        break;
            // 点击查询根据查询条件获取电池组的单体列表
            $('#search').click(function() {
                var groupData = $('#group').find('option:selected').data('data');
                // 判断是否已经选中电池组
                if(groupData) {
                    searchData(groupData);
                }else {
                    tOptions.data = [];
                    table.render(tOptions);
                    layer.msg('请选择一组电池');
                }
            });
            // 查询电池组下所有的单体
            function searchData(obj) {
                // 添加等待框
                var loading = layer.load(0, {shade: [0.1,'#fff']}); //0代表加载的风格,支持0-2
                var structData = structSearchData(obj);
                $.ajax({
                    type: 'post',
                    async: true,
                    url:'BattInfAction!serchGroupByInfor',
                    data: 'json='+JSON.stringify(structData),
                    dataType: 'json',
                    success: function(result) {
                        layer.close(loading);    // 关闭等待框
                        var rs = JSON.parse(result.result);
                        if(rs.code == 1) {
                            var data = rs.data;
                            var num = 0;
                            var rsData = formaterTblData(data);
                            num = rsData.length;
                            tOptions.data = rsData;
                            // 设置分页信息
                            tOptions.page.layout = ['count', 'prev', 'page', 'next'];  //自定义分页布局
                            tOptions.page.limit= num;
                            tOptions.page.limits = [num];
                        }
                        // 重新绘制表格内容
                        table.reload('groupTbl', tOptions);
                    }
                });
            }
            // 构造查询对象
            function structSearchData(data) {
                var obj = {};
                obj.StationName1 = '';
                obj.StationName2 = '';
                obj.StationName3 = '';
                obj.BattGroupName = '';
                obj.BattGroupId = data.BattGroupId;
                return obj;
            }
            // 构造生成表格数据的方法
            function formaterTblData(data) {
                var rs = [];    // 结果集
                // 遍历查询的结果根据查询结果生成指定的格式
                for(var i=0; i<data.length; i++) {
                    var _data = data[i];
                    var obj = {};
                    obj.stationname = _data.StationName;            // 机房名称
                    obj.groupname = _data.BattGroupName;            // 电池组名称
                    obj.monvol = _data.MonVolStd;                    // 标称电压
                    obj.nominalcap = Number(_data.MonCapStd);        // 标称容量
                    obj.monnum = '#'+_data.MonNum;                    // 单体编号
                    obj.brandname = _data.BattProducer;                // 品牌
                    // 不显示内容
                    obj.num = _data.MonNum;                            // 单体编号不加#
                    obj.battgroupid = _data.BattGroupId;            // 电池组id
                    obj.stationid = _data.StationId;                // 机房id
                    rs.push(obj);
                }
                return rs;    // 返回结果集
            }
                // 获取模板
                var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
            // 获取模板
            var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
                // 点击替换
                $('#replace').click(function() {
                    var checkStatus = table.checkStatus('groupTbl'); //test即为基础参数id对应的值
                    console.log(checkStatus);
                    var data = parent.$('#setMatchGroupData').data();
                    console.log(data);
                    //parent.layer.close(index);
            // 点击配组
            $('#matchGroup').click(function() {
                var checkStatus = table.checkStatus('groupTbl'); //test即为基础参数id对应的值
                var data = checkStatus.data;
                //console.log(checkStatus.data);
                if(data.length == 0) {
                    layer.msg('请选择表格中的电池单体!');
                }else {
                    var _data = data[0];
                    console.log(_data);
                    console.log(parentData);
                    matchGroup(_data, parentData);
                }
            });
            // 根据构造结果进行配组
            function matchGroup(oData, nData) {
                var old_cap = oData.nominalcap;
                var old_vol = oData.monvol;
                var new_cap = nData.nominalcap;
                var new_vol = nData.monvol;
                var isTrue = (old_cap==new_cap && old_vol==new_vol);
                if(!isTrue) {
                    layer.msg('<span style="font-weight: bold; color: orange">标称容量或标称电压不一致,无法配组!</span>');
                    return;
                }
                // 符合配组的基本要求
                parent.layer.confirm('是否确认配组?',{
                    btn: ['确认','取消'] //按钮
                }, function(){
                    enMatchGroup(oData, nData);
                }, function(){
                });
            }
            // 确认配组
            function enMatchGroup(oData, nData) {
                var matchGroupData = structMatchGroupData(oData, nData);
                // 更具构造参数进行配组
                $.ajax({
                    type: 'post',
                    async: true,
                    url: 'BattInf_RebuildAction!add',
                    data: 'json='+JSON.stringify(matchGroupData),
                    dataType: 'json',
                    success:function(result) {
                        console.log(result);
                    }
                });
                parent.layer.close(parent.layer.index);
            }
            // 构造进行配组的参数
            function structMatchGroupData(oData, nData) {
                var obj = {};                                // 结果对象
                var nowTime = new Date().format('yyyy-MM-dd hh:mm:ss');    // 当前时间
                // 当前电池单体的信息
                obj.old_stationname = oData.stationname;    // 机房名称
                obj.old_battgroupname = oData.groupname;    // 电池组名称
                obj.old_battproducer = oData.brandname;        // 单体的品牌
                obj.old_stationid = oData.stationid;        // 机房id
                obj.old_battgroupid = oData.battgroupid;    // 电池组id
                obj.old_monnum = oData.num;                    // 单体编号
                
                // 被配组单体的信息
                obj.new_stationname = nData.stationname;    // 机房名称
                obj.new_battgroupname = nData.groupname;    // 电池组名称
                obj.new_battproducer = nData.brandname;        // 单体的品牌
                obj.new_stationid = nData.stationid;        // 机房id
                obj.new_battgroupid = nData.battgroupid;    // 电池组id
                obj.new_monnum = nData.num;                    // 单体编号
                
                // 查询省下拉框
                // 公共信息
                obj.rebuild_time = nowTime;
                obj.rebuild_address = '';
                obj.rebuild_clear_type = 1;
                console.info(obj);
                return obj;
            }
            // 查询省下拉框
            searchProvince();
            // 查询省
            function searchProvince() {
@@ -256,6 +375,7 @@
                    data: "json = "+JSON.stringify(tmp),
                    success: function(result) {
                        var rs = JSON.parse(result.result);
                        var stationid = parentData.stationid;    // 获取父元素选中机房的id,用户剔除已经选中的机房
                        var list = [];                // option结果集
                        var ele = $('#home');    // 目标select
                        if(rs.code == 1) {
@@ -264,11 +384,14 @@
                            // 遍历查询结果
                            for(var i=0; i<data.length; i++) {
                                var _data = data[i];
                                var _attr = {
                                    StationId: _data.StationId
                                };
                                var _tmp = getLayuiSelect(_data.StationName3, _data.StationName, _attr, _data);
                                list.push(_tmp);
                                // 没有与父机房重复
                                if(_data.StationId != stationid) {
                                    var _attr = {
                                        StationId: _data.StationId
                                    };
                                    var _tmp = getLayuiSelect(_data.StationName, _data.StationName, _attr, _data);
                                    list.push(_tmp);
                                }
                            }
                        }else {
                            list.push(getLayuiSelect('暂无机房', '', {}, undefined));
@@ -310,20 +433,24 @@
                        var rs = JSON.parse(result.result);
                        var list = [];                // option结果集
                        var ele = $('#group');        // 目标select
                        var stationid = parentData.stationid;    // 获取父元素选中机房的id,用户剔除已经选中的机房
                        if(rs.code == 1) {
                            var data = rs.data;
                            list.push(getLayuiSelect('请选择电池组', '', {}, undefined));
                            // 遍历查询结果
                            for(var i=0; i<data.length; i++) {
                                var _data = data[i];
                                var _attr = {
                                    stationname: _data.StationName,
                                    dev_id: _data.FBSDeviceId,
                                    batt_num: _data.GroupIndexInFBSDevice+1
                                };
                                var txt = _data.BattGroupName+'(共'+_data.MonCount+'节)';
                                var _tmp = getLayuiSelect(txt, _data.BattGroupId, _attr, _data);
                                list.push(_tmp);
                                // 没有与父机房重复
                                if(_data.StationId != stationid) {
                                    var _attr = {
                                        stationname: _data.StationName,
                                        dev_id: _data.FBSDeviceId,
                                        batt_num: _data.GroupIndexInFBSDevice+1
                                    };
                                    var txt = _data.BattGroupName+'(共'+_data.MonCount+'节)';
                                    var _tmp = getLayuiSelect(txt, _data.BattGroupId, _attr, _data);
                                    list.push(_tmp);
                                }
                            }
                        }else {
                            list.push(getLayuiSelect('暂无机房', '', {}, undefined));
gx_tieta/WebRoot/set-match-group.jsp
@@ -97,15 +97,13 @@
    <script type="text/javascript" src="src/layui.js"></script>
    <script type="text/javascript" src="pages/js/mylayui.js"></script>
    <script type="text/html" id="toolBar">
        <a class="layui-btn layui-btn-xs" lay-event="replace">更换</a>
        <a class="layui-btn layui-btn-xs" lay-event="matchGroup">配组</a>
    </script>
    <script type="text/javascript">
        layui.use(['layer', 'table', 'form', 'laytpl', 'element'],function() {
            var layer = layui.layer     // 获取layer模块
                ,table = layui.table     // 获取table模块
                ,form = layui.form
                ,laytpl = layui.laytpl
                ,element = layui.element;
                ,form = layui.form;
            // 表格数据配置项
            var tOptions = {
                elem: '#groupTbl'
@@ -136,35 +134,99 @@
                var groupData = $('#group').find('option:selected').data('data');
                // 判断是否已经选中电池组
                if(groupData) {
                    $('#setMatchGroupData')
                    console.log(groupData);
                    tOptions.data = [{}];
                    table.render(tOptions);
                    searchData(groupData);
                }else {
                    tOptions.data = [];
                    table.render(tOptions);
                    layer.msg('请选择一组电池');
                }
            });
            // 查询电池组下所有的单体
            function searchData(obj) {
                // 添加等待框
                var loading = layer.load(0, {shade: [0.1,'#fff']}); //0代表加载的风格,支持0-2
                var structData = structSearchData(obj);
                $.ajax({
                    type: 'post',
                    async: true,
                    url:'BattInfAction!serchGroupByInfor',
                    data: 'json='+JSON.stringify(structData),
                    dataType: 'json',
                    success: function(result) {
                        layer.close(loading);    // 关闭等待框
                        var rs = JSON.parse(result.result);
                        if(rs.code == 1) {
                            var data = rs.data;
                            var num = 0;
                            var rsData = formaterTblData(data);
                            num = rsData.length;
                            tOptions.data = rsData;
                            // 设置分页信息
                            tOptions.page.layout = ['count', 'prev', 'page', 'next'];  //自定义分页布局
                            tOptions.page.limit= num;
                            tOptions.page.limits = [num];
                        }
                        // 重新绘制表格内容
                        table.reload('groupTbl', tOptions);
                    }
                });
            }
            // 构造查询对象
            function structSearchData(data) {
                var obj = {};
                obj.StationName1 = '';
                obj.StationName2 = '';
                obj.StationName3 = '';
                obj.BattGroupName = '';
                obj.BattGroupId = data.BattGroupId;
                return obj;
            }
            // 构造生成表格数据的方法
            function formaterTblData(data) {
                var rs = [];    // 结果集
                console.log(data);
                // 遍历查询的结果根据查询结果生成指定的格式
                for(var i=0; i<data.length; i++) {
                    var _data = data[i];
                    var obj = {};
                    obj.stationname = _data.StationName;            // 机房名称
                    obj.groupname = _data.BattGroupName;            // 电池组名称
                    obj.monvol = _data.MonVolStd;                    // 标称电压
                    obj.nominalcap = Number(_data.MonCapStd);        // 标称容量
                    obj.monnum = '#'+_data.MonNum;                    // 单体编号
                    obj.brandname = _data.BattProducer;                // 品牌
                    // 不显示内容
                    obj.num = _data.MonNum;                            // 单体编号不加#
                    obj.battgroupid = _data.BattGroupId;            // 电池组id
                    obj.stationid = _data.StationId;                // 机房id
                    rs.push(obj);
                }
                return rs;    // 返回结果集
            }
            // 点击表格工具栏更换
            table.on('tool(groupTbl)', function(obj) {
                var event = obj.event;
                switch(event) {
                    case 'replace':
                        showReplacePanel(obj.data);
                    case 'matchGroup':
                        showMatchGroupPanel(obj.data);
                    break;
                }
            });
            // 显示更换电池单体面板
            function showReplacePanel(obj) {
            function showMatchGroupPanel(obj) {
                $('#setMatchGroupData').data('data', obj);
                // 设置弹出框的title的值
                var txt = obj.stationname+'-'+obj.groupname+'-'+obj.monnum+'('+obj.brandname+')';
                // 显示面板
                layer.open({
                    type: 2,
                    title: '更换电池',
                    title: '<span style="font-weight:bold">配组:</span>'+txt,
                    area: ['1200px', '500px'],
                    fixed: false, //不固定
                    maxmin: true,
@@ -289,7 +351,7 @@
                                var _attr = {
                                    StationId: _data.StationId
                                };
                                var _tmp = getLayuiSelect(_data.StationName3, _data.StationName, _attr, _data);
                                var _tmp = getLayuiSelect(_data.StationName, _data.StationName, _attr, _data);
                                list.push(_tmp);
                            }
                        }else {
gx_tieta/src/com/fgkj/dao/BaseDAOFactory.java
@@ -9,6 +9,7 @@
import com.fgkj.dao.impl.BattDischarge_planImpl;
import com.fgkj.dao.impl.BattInfAgainImpl;
import com.fgkj.dao.impl.BattInfImpl;
import com.fgkj.dao.impl.BattInf_RebuildImpl;
import com.fgkj.dao.impl.BattMap_informationImpl;
import com.fgkj.dao.impl.BattPower_offImpl;
import com.fgkj.dao.impl.BattTest_ResImpl;
@@ -184,6 +185,7 @@
            case 85:return new Battalarm_data_historyImpl();
            case 86:return new Batt_devalarm_data_historyImpl();
            case 87:return new Batt_enduranceImpl();
            case 88:return new BattInf_RebuildImpl();
            default :return null;
        }
    }