自动化立体仓库 - WMS系统
#
野心家
2023-06-08 5a0592f51e21bebc2155fb94e5058deb0604299c
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()); // 托盘条码
@@ -344,12 +351,13 @@
                        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() + "]");
                        }
                    }