自动化立体仓库 - WMS系统
#
1
7 小时以前 53f87c2ff10f7ab71d6b0340a5a4811089d7cd1e
src/main/java/com/zy/asrs/task/handler/WrkMastAgvHandler.java
@@ -111,6 +111,16 @@
                    if (!locDetls2.isEmpty()) {
                        locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", basAgvMast.getLocNo()));
                    }
                    LocMast locMast2 = locMastService.selectById(basAgvMast.getLocNo());
                    // 修改库位状态 S ====>> F
                    if (locMast2.getLocSts().equals("S")) {
                        locMast2.setLocSts("F");
                        locMast2.setIoTime(now);
                        locMast2.setModiTime(now);
                    } else {
                        return FAIL.setMsg("库位状态异常");
                    }
                    List<LocDetl> locDetlList1 = new ArrayList<>();
                    List<LocDetl> locDetlList2 = new ArrayList<>();
                    List<BasAgvLocDetl> basAgvLocDetlList = basAgvLocDetlService.selectList(new EntityWrapper<BasAgvLocDetl>().eq("loc_no", basAgvMast.getSourceLocNo()));
@@ -123,59 +133,50 @@
                        }
                    } else if (!basAgvWrkDetlList.isEmpty()){
                        for (BasAgvWrkDetl wrkDetl : basAgvWrkDetlList){
                            LocDetl locDetl = new LocDetl();
                            locDetl.sync(wrkDetl);
                            locDetl.setLocNo(basAgvMast.getLocNo()); // 库位号
                            locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                            locDetl.setModiTime(now);
                            locDetl.setAppeTime(now);
                            locDetl.setOrigin("在库");
                            locDetlList2.add(locDetl);
                            LocDetl locDetl = locDetlService.selectItem(basAgvMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand()
                                    ,wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3(),wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3());
                        }
                    } else {
                        locMast2.setLocSts("D");
                    }
                    if (!locMastService.updateById(locMast2)) {
                        return FAIL;
                    }
                    if (!locDetlList1.isEmpty()){
                        for (LocDetl locDetlold : locDetlList1) {
                            LocDetl locDetl = locDetlService.selectItem(basAgvMast.getLocNo(), locDetlold.getMatnr(), locDetlold.getBatch(),locDetlold.getBrand()
                                    ,locDetlold.getStandby1(),locDetlold.getStandby2(),locDetlold.getStandby3(),locDetlold.getBoxType1(),locDetlold.getBoxType2(),locDetlold.getBoxType3());
                            if (null != locDetl) {
                                if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), basAgvMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(),wrkDetl.getBrand(),wrkDetl.getStandby1(),wrkDetl.getStandby2(),wrkDetl.getStandby3()
                                        ,wrkDetl.getBoxType1(),wrkDetl.getBoxType2(),wrkDetl.getBoxType3())) {
//                                exceptionHandle("全板入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("全板入库 ===>> 更新库存明细失败; [workNo=" + basAgvMast.getTaskNo() + "],[locNo=" + basAgvMast.getLocNo() + "]");
                                if (!locDetlService.updateAnfme(locDetlold.getAnfme(), basAgvMast.getLocNo(), locDetlold.getMatnr(), locDetlold.getBatch(),locDetlold.getBrand(),locDetlold.getStandby1(),locDetlold.getStandby2(),locDetlold.getStandby3()
                                        ,locDetlold.getBoxType1(),locDetlold.getBoxType2(),locDetlold.getBoxType3())) {
                                }
                            } else {
                                locDetl = new LocDetl();
                                locDetl.sync(wrkDetl);
                                locDetl.setLocNo(basAgvMast.getLocNo()); // 库位号
                                locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                                locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
                                locDetl.setModiTime(now);
                                locDetl.setAppeTime(now);
                                locDetl.setOrigin("在库");
                                if (!locDetlService.insert(locDetl)) {
//                                exceptionHandle("全板入库 ===>> 添加库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("入库 ===>> 添加库存明细失败; [workNo=" + basAgvMast.getTaskNo() + "],[locNo=" + basAgvMast.getLocNo() + "]");
                                if (!locDetlService.insert(locDetlold)) {
                                }
                            }
                        }
                    }
                    LocMast locMast2 = locMastService.selectById(basAgvMast.getLocNo());
                    // 修改库位状态 S ====>> F
                    if (locMast2.getLocSts().equals("S")) {
                        locMast2.setLocSts("F");
                        locMast2.setIoTime(now);
                        locMast2.setModiTime(now);
                        if (!locMastService.updateById(locMast2)) {
//                            exceptionHandle("全板入库 ===>> 修改库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                            return FAIL.setMsg("全入库 ===>> 修改库位状态失败; [TaskNo=" + basAgvMast.getTaskNo() + "],[locNo=" + basAgvMast.getLocNo() + "]");
                        }
                    }
                    if (!locDetlList1.isEmpty()){
                        for (LocDetl locDetl : locDetlList1) {
                            locDetlService.insert(locDetl);
                        }
                    }
                    if (!locDetlList2.isEmpty()){
                        for (LocDetl locDetl : locDetlList2) {
                            locDetlService.insert(locDetl);
                        for (LocDetl locDetlold : locDetlList2) {
                            LocDetl locDetl = locDetlService.selectItem(basAgvMast.getLocNo(), locDetlold.getMatnr(), locDetlold.getBatch(),locDetlold.getBrand()
                                    ,locDetlold.getStandby1(),locDetlold.getStandby2(),locDetlold.getStandby3(),locDetlold.getBoxType1(),locDetlold.getBoxType2(),locDetlold.getBoxType3());
                            if (null != locDetl) {
                                if (!locDetlService.updateAnfme(locDetlold.getAnfme(), basAgvMast.getLocNo(), locDetlold.getMatnr(), locDetlold.getBatch(),locDetlold.getBrand(),locDetlold.getStandby1(),locDetlold.getStandby2(),locDetlold.getStandby3()
                                        ,locDetlold.getBoxType1(),locDetlold.getBoxType2(),locDetlold.getBoxType3())) {
                                }
                            } else {
                                if (!locDetlService.insert(locDetlold)) {
                                }
                            }
                        }
                    }