自动化立体仓库 - WMS系统
whycq
2023-08-26 82bcd0328dddbaad65933e2fada22bc68e82b3d5
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -86,7 +86,7 @@
                    }
                    // 遍历工作明细,更新库存明细和入库通知档
                    for (WrkDetl wrkDetl : wrkDetls) {
                        wrkDetl.setBatch("");
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        if (null != locDetl) {
                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
@@ -127,8 +127,10 @@
                    if (locMast.getLocSts().equals("S")) {
                        locMast.setLocSts("F");
                        locMast.setBarcode(wrkMast.getBarcode());
                        locMast.setFrozen(wrkMast.getFrozen());
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
                        locMast.setFrozenMemo(wrkMast.getMemo());
                        if (!locMastService.updateById(locMast)) {
                            exceptionHandle("全板入库 ===>> 修改库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                        }
@@ -145,7 +147,7 @@
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        if (null != locDetl) {
                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getManu(),wrkDetl.getMemo())) {
                                exceptionHandle("拣料入库 ===>> 修改库存明细数量失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                            }
                        }
@@ -207,6 +209,24 @@
                    if (wrkDetls57.isEmpty()) {
                        exceptionHandle("盘点入库 ===>> 工作明细档为空;[workNo={0}]", wrkMast.getWrkNo());
                    }
                    if(!Cools.isEmpty(locDetlService.selectByLocNo(wrkMast.getLocNo()))){
                        locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getLocNo()));
                    }
                    if (Cools.isEmpty(locDetlService.selectByLocNo(wrkMast.getLocNo()))){
                        for (WrkDetl wrkDetl:wrkDetls57){
                            LocDetl locDetl = new LocDetl();
                            locDetl.sync(wrkDetl);
                            locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                            locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            locDetl.setModiTime(now);
                            locDetl.setAppeTime(now);
                            if (!locDetlService.insert(locDetl)) {
                                exceptionHandle("盘点入库 ===>> 新增库存明细失败;[workNo={0}],[matnr={1}]", wrkMast.getWrkNo(), wrkDetl.getMatnr());
                            }
                        }
                    }
                    // 修改库位状态 Q ====>> F
                    if (locMast.getLocSts().equals("Q")) {
                        locMast.setLocSts(wrkMast.getFullPlt().equals("Y")?"F":"D");
@@ -218,8 +238,8 @@
                        }
                    }
                    break;
                // 库位移转
                case 11:
                case 11:// 库位移转
                case 111:// 库位移转(高频区域)
                    // 默认目标库位是空板
                    String locSts = "D";
                    // 库位移转判断是否为空板移转
@@ -329,8 +349,10 @@
                    if (locMast.getLocSts().equals("R")) {
                        locMast.setLocSts("O");
                        locMast.setBarcode("");
                        locMast.setFrozen(0);
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        locMast.setFrozenMemo("");
                        if (!locMastService.updateById(locMast)) {
                            exceptionHandle("全板出库 ===>> 修改源库位状态失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                        }