| | |
| | | return R.ok().add(list); |
| | | } |
| | | |
| | | @GetMapping("/list/auth") |
| | | @ManagerAuth(memo = "站点信息表") |
| | | public R crnList(){ |
| | | List<SiteTableVo> list = new ArrayList<>(); |
| | | // 内存数据 |
| | | Map<Integer, StaProtocol> station = new HashMap<>(); |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); |
| | | station.putAll(devpThread.getStation()); |
| | | } |
| | | // 持久数据 |
| | | List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>().orderBy("dev_no")); |
| | | for (BasDevp devp : basDevps) { |
| | | SiteTableVo vo = new SiteTableVo(); |
| | | vo.setDevNo(devp.getDevNo()); // 站点编号 |
| | | list.add(vo); |
| | | StaProtocol staProtocol = station.get(devp.getDevNo()); |
| | | if (null == staProtocol) { continue; } |
| | | vo.setWorkNo(staProtocol.getWorkNo()); // 工作号 |
| | | vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 自动 |
| | | vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 有物 |
| | | vo.setInEnable(staProtocol.isInEnable()?"Y":"N"); // 可入 |
| | | vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 可出 |
| | | vo.setPakMk(staProtocol.isPakMk()?"Y":"N"); // 入库标记 |
| | | vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N"); // 空板信号 |
| | | vo.setStaNo(staProtocol.getStaNo()); // 目标站 |
| | | // vo.setLocType1(staProtocol.isHigh() != staProtocol.isLow() && staProtocol.isLow() ? "低" : "高"); //高低库位 |
| | | vo.setLocType1(devp.getDevNo()==102 ? "高" : "低"); |
| | | } |
| | | return R.ok().add(list); |
| | | } |
| | | |
| | | @PostMapping("/table/plc/errors") |
| | | @ManagerAuth(memo = "输送设备plc异常信息表") |
| | | public R plcErrorTable(){ |
| | |
| | | var tableData; |
| | | // 定义一个变量来保存滚动条的位置 |
| | | var scrollLeft = 0; |
| | | var scrollTop = 0; |
| | | layui.config({ |
| | | base: baseUrl + "/static/wms/layui/lay/modules/" |
| | | }).use(['table','laydate', 'form', 'admin'], function(){ |
| | |
| | | |
| | | // 数据渲染 |
| | | tableIns = table.render({ |
| | | elem: '#crn', |
| | | elem: '#pipeline', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | url: baseUrl+'/crn/list/auth', |
| | | url: baseUrl+'/site/list/auth', |
| | | page: false, |
| | | limit: 500, |
| | | limits: [15, 30, 50, 100, 200, 500], |
| | |
| | | cellMinWidth: 100, |
| | | height: 'full-120', |
| | | cols: [[ |
| | | {field: 'crnNo', align: 'center',title: '堆垛机'} |
| | | {field: 'devNo', align: 'center',title: '站号'} |
| | | ,{field: 'workNo', align: 'center',title: '工作号'} |
| | | ,{field: 'statusType', align: 'center',title: '模式'} |
| | | ,{field: 'wrkStatus', align: 'center',title: '任务状态',width: 120} |
| | | ,{field: 'deviceStatus', align: 'center',title: '设备状态'} |
| | | ,{field: 'autoing', align: 'center',title: '自动'} |
| | | ,{field: 'loading', align: 'center',title: '有物'} |
| | | ,{field: 'bay', align: 'center',title: '列'} |
| | | ,{field: 'lev', align: 'center',title: '层'} |
| | | ,{field: 'warnCode', align: 'center',title: '故障代码'} |
| | | ,{field: 'alarm', align: 'center',title: '故障描述'} |
| | | ,{field: 'sourceStaNo', align: 'center',title: '源站'} |
| | | ,{field: 'inEnable', align: 'center',title: '可入'} |
| | | ,{field: 'outEnable', align: 'center',title: '可出'} |
| | | ,{field: 'pakMk', align: 'center',title: '入库标记'} |
| | | ,{field: 'emptyMk', align: 'center',title: '空板信号'} |
| | | ,{field: 'staNo', align: 'center',title: '目标站'} |
| | | ,{field: 'sourceLocNo', align: 'center',title: '源库位'} |
| | | ,{field: 'locNo', align: 'center',title: '目标库位'} |
| | | ,{field: 'forkOffset', align: 'center',title: '货叉定位'} |
| | | ,{field: 'liftPos', align: 'center',title: '载货台定位'} |
| | | ,{field: 'walkPos', align: 'center',title: '走行在定位'} |
| | | ,{field: 'xspeed', align: 'center',title: '走行速度(m/min)'} |
| | | ,{field: 'yspeed', align: 'center',title: '升降速度(m/min)'} |
| | | ,{field: 'zspeed', align: 'center',title: '叉牙速度(m/min)'} |
| | | ,{field: 'xdistance', align: 'center',title: '走行距离(Km)'} |
| | | ,{field: 'ydistance', align: 'center',title: '升降距离(Km)'} |
| | | ,{field: 'xduration', align: 'center',title: '走行时长(H)'} |
| | | ,{field: 'yduration', align: 'center',title: '升降时长(H)'} |
| | | |
| | | // ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120} |
| | | ,{field: 'locType1', align: 'center',title: '高低库位'} |
| | | ,{title:'操作', align: 'center', toolbar: '#operate', width:120} |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | |
| | | }); |
| | | |
| | | // 监听排序事件 |
| | | table.on('sort(crn)', function (obj) { |
| | | table.on('sort(pipeline)', function (obj) { |
| | | var searchData = {}; |
| | | $.each($('#search-box [name]').serializeArray(), function() { |
| | | searchData[this.name] = this.value; |
| | |
| | | }); |
| | | |
| | | // 监听头工具栏事件 |
| | | table.on('toolbar(crn)', function (obj) { |
| | | table.on('toolbar(pipeline)', function (obj) { |
| | | var checkStatus = table.checkStatus(obj.config.id).data; |
| | | switch(obj.event) { |
| | | case 'addData': |
| | |
| | | }); |
| | | |
| | | // 监听行工具事件 |
| | | table.on('tool(crn)', function(obj){ |
| | | table.on('tool(pipeline)', function(obj){ |
| | | var data = obj.data; |
| | | switch (obj.event) { |
| | | case 'edit': |
| | |
| | | admin.open({ |
| | | type: 1, |
| | | area: '600px', |
| | | title: (mData ? '修改' : '添加') + '接口配置', |
| | | title: (mData ? '修改' : '添加') + '输送设备', |
| | | content: $('#editDialog').html(), |
| | | success: function (layero, dIndex) { |
| | | layDateRender(mData); |
| | |
| | | form.on('submit(editSubmit)', function (data) { |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/apiConfig/"+(mData?'update':'add')+"/auth", |
| | | url: baseUrl+"/site//detl/update", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: data.field, |
| | | data: { |
| | | siteId: $('#devNo').val(), |
| | | workNo: $('#workNo').val(), |
| | | staNo: $('#staNo').val(), |
| | | pakMk: $('#pakMk').val() |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | | layer.close(loadIndex); |
| | | if (res.code === 200){ |
| | | layer.close(dIndex); |
| | | layer.msg(res.msg, {icon: 1}); |
| | | tableReload(); |
| | | layer.msg("修改成功",{icon: 1,}); |
| | | } else if (res.code === 403){ |
| | | top.location.href = baseUrl+"/"; |
| | | }else { |
| | |
| | | |
| | | setInterval(() => { |
| | | // 获取当前滚动条位置 |
| | | scrollLeft = $("#crn").next('.layui-table-view').find('.layui-table-body').scrollLeft(); |
| | | scrollLeft = $("#pipeline").next('.layui-table-view').find('.layui-table-body').scrollLeft(); |
| | | scrollTop = $("#pipeline").next('.layui-table-view').find('.layui-table-body').scrollTop(); |
| | | $.ajax({ |
| | | url: baseUrl+"/crn/list/auth", |
| | | url: baseUrl+"/site/list/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: {}, |
| | | dataType:'json', |
| | |
| | | success: function (res) { |
| | | console.log(res) |
| | | table.render({ |
| | | elem: '#crn', |
| | | elem: '#pipeline', |
| | | headers: {token: localStorage.getItem('token')}, |
| | | data: res.data, |
| | | page: false, |
| | |
| | | cellMinWidth: 100, |
| | | height: 'full-120', |
| | | cols: [[ |
| | | {field: 'crnNo', align: 'center',title: '堆垛机'} |
| | | {field: 'devNo', align: 'center',title: '站号'} |
| | | ,{field: 'workNo', align: 'center',title: '工作号'} |
| | | ,{field: 'statusType', align: 'center',title: '模式'} |
| | | ,{field: 'wrkStatus', align: 'center',title: '任务状态',width: 120} |
| | | ,{field: 'deviceStatus', align: 'center',title: '设备状态'} |
| | | ,{field: 'autoing', align: 'center',title: '自动'} |
| | | ,{field: 'loading', align: 'center',title: '有物'} |
| | | ,{field: 'bay', align: 'center',title: '列'} |
| | | ,{field: 'lev', align: 'center',title: '层'} |
| | | ,{field: 'warnCode', align: 'center',title: '故障代码'} |
| | | ,{field: 'alarm', align: 'center',title: '故障描述'} |
| | | ,{field: 'sourceStaNo', align: 'center',title: '源站'} |
| | | ,{field: 'inEnable', align: 'center',title: '可入'} |
| | | ,{field: 'outEnable', align: 'center',title: '可出'} |
| | | ,{field: 'pakMk', align: 'center',title: '入库标记'} |
| | | ,{field: 'emptyMk', align: 'center',title: '空板信号'} |
| | | ,{field: 'staNo', align: 'center',title: '目标站'} |
| | | ,{field: 'sourceLocNo', align: 'center',title: '源库位'} |
| | | ,{field: 'locNo', align: 'center',title: '目标库位'} |
| | | ,{field: 'forkOffset', align: 'center',title: '货叉定位'} |
| | | ,{field: 'liftPos', align: 'center',title: '载货台定位'} |
| | | ,{field: 'walkPos', align: 'center',title: '走行在定位'} |
| | | ,{field: 'xspeed', align: 'center',title: '走行速度(m/min)'} |
| | | ,{field: 'yspeed', align: 'center',title: '升降速度(m/min)'} |
| | | ,{field: 'zspeed', align: 'center',title: '叉牙速度(m/min)'} |
| | | ,{field: 'xdistance', align: 'center',title: '走行距离(Km)'} |
| | | ,{field: 'ydistance', align: 'center',title: '升降距离(Km)'} |
| | | ,{field: 'xduration', align: 'center',title: '走行时长(H)'} |
| | | ,{field: 'yduration', align: 'center',title: '升降时长(H)'} |
| | | |
| | | // ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120} |
| | | ,{field: 'locType1', align: 'center',title: '高低库位'} |
| | | ,{title:'操作', align: 'center', toolbar: '#operate', width:120} |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | |
| | | limit(); |
| | | tableData = table.cache.crn; |
| | | // 恢复滚动条位置 |
| | | $("#crn").next('.layui-table-view').find('.layui-table-body').scrollLeft(scrollLeft); |
| | | $("#pipeline").next('.layui-table-view').find('.layui-table-body').scrollLeft(scrollLeft); |
| | | $("#pipeline").next('.layui-table-view').find('.layui-table-body').scrollTop(scrollTop); |
| | | |
| | | $(".layui-table-tool").hide() |
| | | } |
| | |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | <table class="layui-hide" id="crn" lay-filter="crn"></table> |
| | | <table class="layui-hide" id="pipeline" lay-filter="pipeline"></table> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <script type="text/html" id="operate"> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a> |
| | | <!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a>--> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/wms/js/jquery/jquery-3.3.1.min.js"></script> |
| | |
| | | <div class="layui-row"> |
| | | <div class="layui-col-md12"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">api地址: </label> |
| | | <label class="layui-form-label">站号: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="url" placeholder="请输入api地址"> |
| | | <input class="layui-input" id="devNo" name="devNo" disabled placeholder=""> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">状态: </label> |
| | | <label class="layui-form-label">工作号: </label> |
| | | <div class="layui-input-block"> |
| | | <select name="status"> |
| | | <option value="">请选择状态</option> |
| | | <option value="0">正常</option> |
| | | <option value="1">禁用</option> |
| | | </select> |
| | | <input class="layui-input" id="workNo" name="workNo" placeholder=""> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">备注: </label> |
| | | <label class="layui-form-label">目标站: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" name="memo" placeholder="请输入备注"> |
| | | <input class="layui-input" id="staNo" name="staNo" placeholder=""> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">入库标记: </label> |
| | | <div class="layui-input-block"> |
| | | <input class="layui-input" id="pakMk" name="pakMk" placeholder=""> |
| | | </div> |
| | | </div> |
| | | |