自动化立体仓库 - WMS系统
#
LSH
2023-05-18 7be83adcdc6ee45fce42d14d7da2be33b1bcc216
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -132,19 +132,19 @@
                            }
                        }
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        try {
                            if(!Cools.isEmpty(orderDetl)){
                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
//                                    exceptionHandle("全板入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore){}
//                        // 更新订单完成数量
//                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
//                        try {
//                            if(!Cools.isEmpty(orderDetl)){
//                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
//                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
////                                    exceptionHandle("全板入库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
////                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
//                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                                    return FAIL.setMsg("全板入库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getLocNo() + "]");
//                                }
//                            }
//                        } catch (Exception ignore){}
                    }
                    // 修改库位状态 S ====>> F
@@ -154,7 +154,24 @@
                        locMast.setIoTime(now);
                        locMast.setModiTime(now);
                        locMast.setFireStatus(0);
                        locMast.setPackStatus(1);
                        if (locMast.getCrnNo()==1){
                            if (locMast.getLocType1()==1){
                                locMast.setPackStatus(1);
                            }else {
                                locMast.setPackStatus(0);
                            }
                        }else {
                            locMast.setPackStatus(5);
                            TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                                    .eq("barcode",locMast.getBarcode())
                                    .eq("status",4)
                            );
                            testMast.setStatus(5);
                            testMast.setModiTime(new Date());
                            if (!testMastService.update(testMast,new EntityWrapper<TestMast>().eq("barcode",locMast.getBarcode()).eq("status",4))){
                                throw new CoolException("更改测试状态失败");
                            }
                        }
                        if (!locMastService.updateById(locMast)) {
//                            exceptionHandle("全板入库 ===>> 修改库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -315,10 +332,17 @@
                    locMast.setIoTime(now);
                    locMast.setModiTime(now);
                    locMast.setFireStatus(0);
                    if (locMast.getLocType1()==sourceLoc.getLocType1()){
                    if (locMast.getLocType1().equals(sourceLoc.getLocType1())){
                        locMast.setPackStatus(packStatus);
                    }else if (locMast.getLocType1().equals((short)1) && sourceLoc.getLocType1().equals((short)3)){
                        locMast.setPackStatus(1);
                    }else {
                        locMast.setPackStatus(5); //5:静置中
                        if (locMast.getLocType1().equals((short)4)){
                            locMast.setPackStatus(4); //4:NG
                        }else {
                            locMast.setPackStatus(5); //5:静置中
                        }
                        if (locMast.getLocType1()==1 && sourceLoc.getLocType1()==2){
                            TestMast testMast = testMastService.selectOne(new EntityWrapper<TestMast>()
                                    .eq("loc_no",sourceLoc.getLocNo())
@@ -331,12 +355,6 @@
                                throw new CoolException("更改测试状态失败");
                            }
                        }
                        CombParam combParam = new CombParam();
                        combParam.setPackNo(locMast.getBarcode());
                        combParam.setLocNo(locMast.getLocNo());
                        combParam.setPackSts(5);
                        combParam.setRequestTime(DateUtils.convert(new Date()));
                        new PostMesDataUtils().postMesData("MES系统",mesUrl,inpath,combParam);
                    }
                    if (!locMastService.updateById(locMast)) {
//                        exceptionHandle("库位移转 ===>> 修改目标库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -388,38 +406,21 @@
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                        return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                    }
                    for (WrkDetl wrkDetl : wrkDetls101) {
                        Date date = new Date();
                        WaitPakin waitPakin = new WaitPakin();
                        waitPakin.setMatnr(wrkDetl.getMatnr());
                        waitPakin.setMaktx(wrkDetl.getMaktx());
                        waitPakin.setZpallet(wrkDetl.getZpallet());   // Pack码
                        waitPakin.setIoStatus("N");     // 入出状态
                        waitPakin.setAnfme(1.0);  // 数量
                        waitPakin.setStatus("Y");    // 状态
                        waitPakin.setManuDate(date.toString());
                        waitPakin.setAppeUser(null);
                        waitPakin.setAppeTime(date);
                        waitPakin.setModiUser(null);
                        waitPakin.setModiTime(date);
//                        waitPakin.setDeadWarn(wrkDetl.getSettingTimes());
                        if (!waitPakinService.insert(waitPakin)) {
                            throw new CoolException("保存入库通知档失败");
                        }
                        // 更新订单完成数量
                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        try {
                            if(!Cools.isEmpty(orderDetl)){
                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
//                                    exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
//                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                                    return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                                }
                            }
                        } catch (Exception ignore){}
                    }
//                    for (WrkDetl wrkDetl : wrkDetls101) {
//                        // 更新订单完成数量
//                        OrderDetl orderDetl = orderDetlService.selectItem(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
//                        try {
//                            if(!Cools.isEmpty(orderDetl)){
//                                if(!orderDetlService.increaseQtyByOrderNo(wrkDetl.getOrderNo(), wrkDetl.getMatnr(),
//                                        wrkDetl.getBatch(),wrkDetl.getAnfme())){
////                                    exceptionHandle("全板出库 ===>> 更新订单完成数量失败;[workNo={0}],[locNo={1}]",
////                                            wrkMast.getWrkNo(), wrkMast.getLocNo());
//                                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                                    return FAIL.setMsg("全板出库 ===>> 更新订单完成数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
//                                }
//                            }
//                        } catch (Exception ignore){}
//                    }
                    // 删除工作档源库位的库存明细
                    if (!locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()))) {
//                        exceptionHandle("全板出库 ===>> 删除库存明细失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
@@ -449,6 +450,8 @@
                        locMast.setBarcode("");
                        locMast.setModiTime(now);
                        locMast.setIoTime(now);
                        locMast.setFireStatus(0);
                        locMast.setPackStatus(0);
                        if (!locMastService.updateById(locMast)) {
//                            exceptionHandle("空板出库 ===>> 修改源库位状态失败;[workNo={0}],[sourceLocNo={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();