自动化立体仓库 - WMS系统
#
whycq
2024-01-12 ef106c9a6002872892de9db355ef7cd37512dba5
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -93,8 +93,14 @@
                    }
                    // 遍历工作明细,更新库存明细和入库通知档
                    for (WrkDetl wrkDetl : wrkDetls) {
                        LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch());
                        LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
                                .eq("loc_no" , locMast.getLocNo())
                                .and()
                                .eq("matnr",wrkDetl.getMatnr())
                                .and()
                                .eq("batch",wrkDetl.getBatch())
                                .and()
                                .eq("order_no",wrkDetl.getOrderNo()));
                        if (null != locDetl) {
                            if (!locDetlService.updateAnfme(wrkDetl.getAnfme(), wrkMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch())) {
//                                exceptionHandle("全板入库 ===>> 更新库存明细失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
@@ -104,6 +110,7 @@
                        } else {
                            locDetl = new LocDetl();
                            locDetl.sync(wrkDetl);
                            locDetl.setOrderNo(wrkDetl.getOrderNo());//订单编号
                            locDetl.setLocNo(wrkMast.getLocNo()); // 库位号
                            locDetl.setAnfme(wrkDetl.getAnfme()); // 数量
                            locDetl.setZpallet(wrkDetl.getZpallet()); // 托盘条码
@@ -265,6 +272,7 @@
                case 11:
                    // 默认目标库位是空板
                    String locSts = "D";
                    Long modiUser = wrkMast.getModiUser();
                    // 库位移转判断是否为空板移转
                    if (wrkMast.getEmptyMk().equals("N")) {
                        locSts = "F";
@@ -282,6 +290,7 @@
                        sourceLoc.setLocSts("O");
                        sourceLoc.setModiTime(now);
                        sourceLoc.setIoTime(now);
                        sourceLoc.setModiUser(modiUser);
                        if (!locMastService.updateById(sourceLoc)) {
//                            exceptionHandle("库位移转 ===>> 修改源库位状态失败;[workNo={0}],[sourceLoc={1}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -293,6 +302,7 @@
                    locMast.setBarcode(wrkMast.getBarcode());
                    locMast.setIoTime(now);
                    locMast.setModiTime(now);
                    locMast.setModiUser(modiUser);
                    if (!locMastService.updateById(locMast)) {
//                        exceptionHandle("库位移转 ===>> 修改目标库位状态失败;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                        TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -344,13 +354,14 @@
                        return FAIL.setMsg("全板出库 ===>> 工作明细档为空; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                    }
                    Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo());
                    if (finsihed) {
                        Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo());
                        if (mastFinished) {
                            Order order = orderService.selectByNo(wrkDetls101.get(0).getOrderNo());
                            orderService.updateSettle(order.getId(),4L,1L);
                        }
                    for (WrkDetl w: wrkDetls101) {
                        //更改订单数量
//                        OrderDetl orderDetl=orderDetlService.selectItem(w.getOrderNo(),w.getMatnr(),w.getBatch());
//                        orderDetl.setQty(orderDetl.getQty()+w.getAnfme());
//                        if(!orderDetlService.updateById(orderDetl)){
//                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
//                            return FAIL.setMsg("全板出库 ===>> 修改订单数量失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
//                        }
                    }
                    // 删除工作档源库位的库存明细