| src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/OrderDetlPakoutMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/static/js/locAroundBind/locAroundBind.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/webapp/views/locAroundBind/locAroundBind.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -466,8 +466,7 @@ LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>() .in("loc_no", locs) .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type) .orderAsc(Arrays.asList("loc_no")) .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY")); .orderAsc(Arrays.asList("loc_no"))); if (Objects.isNull(locMasts)) { binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>() @@ -478,10 +477,10 @@ locMasts = locMastService.selectOne(new EntityWrapper<LocMast>() .in("loc_no", nlocs) .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type) .orderAsc(Arrays.asList("loc_no")) .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY")); .orderAsc(Arrays.asList("loc_no"))); if (Objects.isNull(locMasts)) { throw new CoolException("暂无可用工作位!!"); } } LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", locMasts.getLocNo())); @@ -490,6 +489,12 @@ if (!locAroundBindService.updateById(bLocNo)) { throw new CoolException("工位预约失败!!"); } locMasts.setLocSts(LocStsType.LOC_STS_TYPE_S.type); locMasts.setModiUser(userId); locMasts.setModiTime(now); if (!locMastService.updateById(locMasts)) { throw new CoolException("预约库位状态失败,库位号:" + locMasts.getLocNo()); } List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locMasts.getLocNo(), 1); @@ -542,7 +547,7 @@ wrkDetl.setIoTime(now); wrkDetl.setWrkNo(workNo); wrkDetl.setOrderNo(locDto.getOrderNo()); wrkDetl.setAnfme(locDto.getAnfme()); // 数量 // wrkDetl.setAnfme(locDto.getAnfme()); // 数量 wrkDetl.setStandby1(locDto.getStandby1()); LocDetl locDel = locDetlService.selectOne(new EntityWrapper<LocDetl>() .eq("loc_no", locDto.getLocNo()) @@ -557,7 +562,7 @@ wrkDetl.setUnit(locDel.getUnit()); wrkDetl.setSpecs(locDel.getSpecs()); wrkDetl.setBatch(locDel.getBatch()); // wrkDetl.setAnfme(locDel.getAnfme()); wrkDetl.setAnfme(locDel.getAnfme()); wrkDetl.setAppeTime(now); wrkDetl.setAppeUser(userId); wrkDetl.setModiTime(now); @@ -1206,11 +1211,20 @@ if (!Objects.isNull(wrkMast.getWrkCode())) { LocAroundBind aroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getSourceLocNo())); if (!Objects.isNull(aroundBind)) { aroundBind.setLocType(LocStsType.LOC_STS_TYPE_O.type); aroundBind.setLocType(LocStsType.LOC_STS_TYPE_F.type); if (!locAroundBindService.updateById(aroundBind)) { throw new CoolException("工位状态修改失败!!"); } } LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo())); if (!Objects.isNull(locMast)) { locMast.setLocSts(LocStsType.LOC_STS_TYPE_F.type); if (!locMastService.updateById(locMast)) { throw new CoolException("库位状态修改失败!!"); } } } // 出库取消(修改源库位) } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) { src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -6,10 +6,7 @@ import com.zy.asrs.entity.*; import com.zy.asrs.enums.LocStsType; import com.zy.asrs.service.*; import com.zy.asrs.service.impl.BasStationServiceImpl; import com.zy.asrs.service.impl.LocCacheServiceImpl; import com.zy.asrs.service.impl.OrderPakinServiceImpl; import com.zy.asrs.service.impl.TaskDetlServiceImpl; import com.zy.asrs.service.impl.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import lombok.extern.slf4j.Slf4j; @@ -58,6 +55,8 @@ private BasStationServiceImpl basStationService; @Autowired private WorkService workService; @Autowired private LocAroundBindService locAroundBindService; public ReturnT<String> start(WrkMast wrkMast) { // 4.入库完成 @@ -489,7 +488,8 @@ } private ReturnT<String> doOut(WrkMast wrkMast) { @Transactional(rollbackFor = Exception.class) public ReturnT<String> doOut(WrkMast wrkMast) { Date now = new Date(); LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); try { @@ -507,7 +507,18 @@ if (!Objects.isNull(wrkMast.getWrkCode())) { //TODO 移库 // workService.locMove(wrkMast.getSourceLocNo(), wrkMast.getLocNo(), wrkMast.getAppeUser()); movLoc(wrkMast); //修改工位库态 LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getLocNo())); if (Objects.isNull(bLocNo)) { throw new CoolException("数据错误, 目标工位不存在!!"); } bLocNo.setLocType(LocStsType.LOC_STS_TYPE_F.type); if (!locAroundBindService.updateById(bLocNo)) { throw new CoolException("工位状态修改失败!!"); } } else { // // 出库确认信号位 // if (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N")) { src/main/resources/mapper/OrderDetlPakoutMapper.xml
@@ -57,7 +57,9 @@ <sql id="standbyAll"> and batch = #{batch} <if test="brand != null and brand != ''"> and brand = #{brand} </if> and standby1 = #{standby1} and standby2 = #{standby2} and standby3 = #{standby3} src/main/webapp/static/js/locAroundBind/locAroundBind.js
@@ -30,7 +30,7 @@ , { field: 'blocNo', align: 'center', title: '工位' } ,{field: 'locType$', align:'center', title: '工位状态'} , { field: 'def$', align: 'center', title: '工位类型' } , { fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 120 } , {fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 240} ]], request: { pageName: 'curr', @@ -149,6 +149,21 @@ } }); // iframe物料详情 function locDetlToLayer(val) { locNo = val; layer.open({ type: 2, title: '库存明细', maxmin: true, area: [top.detailWidth, top.detailHeight], shadeClose: true, content: '../report/locDetl.html', success: function(layero, index){ } }); } // 初始化保存 form.on('submit(initDo)', function (data) { $.ajax({ @@ -181,6 +196,17 @@ break; case "del": del([data.id]); break; // 查看明细 case 'locDetl': if (data.locType.trim() === '' || data.locType.trim() === 'S' || data.locType.trim() === 'D' || data.locType.trim() === 'O') { layer.msg("工位的状态不存在物料"); return; } locDetlToLayer(data.blocNo); break; } }); @@ -270,6 +296,7 @@ }, 300); } layDateRender(); }); src/main/webapp/views/locAroundBind/locAroundBind.html
@@ -44,13 +44,16 @@ <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button> <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">删除</button> <button class="layui-btn layui-btn-primary" id="btn-init" lay-event="init">初始化</button> <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出</button> <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出 </button> </div> </script> <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-xs loc-detl" lay-event="locDetl">查看明细</a> </script> <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> @@ -68,7 +71,8 @@ <div class="layui-form-item"> <label class="layui-form-label layui-form-required">机台: </label> <div class="layui-input-block"> <input class="layui-input" name="devNo" placeholder="请输入机台号" lay-vertype="tips" lay-verify="required"> <input class="layui-input" name="devNo" placeholder="请输入机台号" lay-vertype="tips" lay-verify="required"> </div> </div> <div class="layui-form-item"> @@ -80,7 +84,8 @@ <div class="layui-form-item"> <label class="layui-form-label layui-form-required">工位: </label> <div class="layui-input-block"> <input class="layui-input" name="blocNo" placeholder="请输入库位码" lay-vertype="tips" lay-verify="required"> <input class="layui-input" name="blocNo" placeholder="请输入库位码" lay-vertype="tips" lay-verify="required"> </div> </div> <div class="layui-form-item"> @@ -97,7 +102,8 @@ <label class="layui-form-label">工位状态</label> <div class="layui-input-inline cool-auto-complete"> <input id="locType" name="locType" class="layui-input" type="text" style="display: none"> <input id="locType$" name="locType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" <input id="locType$" name="locType$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="工位状态" onfocus=this.blur()> <div class="cool-auto-complete-window"> <input class="cool-auto-complete-window-input" data-key="basLocStsQueryBylocSts"