自动化立体仓库 - WMS系统
zjj
2023-06-28 248f0106cb099a5d6c21b9b7bd648cd0b61a3db0
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -37,6 +37,8 @@
    private OrderDetlService orderDetlService;
    @Autowired
    private OrderService orderService;
    @Autowired
    private ManPakOutService manPakOutService;
    public ReturnT<String> start(WrkMast wrkMast) {
        // 4.入库完成
@@ -180,6 +182,19 @@
                                }
                            }
                        } catch (Exception ignore){}
                        //更新拣货单完成数量
                        EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
                        manPakOutEntityWrapper.eq("doc_num",wrkDetl.getOrderNo());
                        manPakOutEntityWrapper.eq("matnr",wrkDetl.getMatnr());
                        ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
                        if (manPakOut.getCount() + wrkDetl.getAnfme() >= manPakOut.getAnfme()){
                            manPakOut.setStatus(1);
                        }
                        manPakOut.setCount(manPakOut.getCount() + wrkDetl.getAnfme());
                        if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
                            return FAIL.setMsg("更新拣货单完成数量失败");
                        }
                    }
                    // 修改库位状态 Q ====>> F
@@ -367,20 +382,37 @@
                            return FAIL.setMsg("全板出库 ===>> 修改源库位状态失败; [workNo=" + wrkMast.getWrkNo() + "],[locNo=" + wrkMast.getSourceLocNo() + "]");
                        }
                    }
                    EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
                    orderDetlEntityWrapper.eq("order_no",wrkDetls101.get(0).getOrderNo());
                    orderDetlEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
                    if (!wrkDetls101.get(0).getOrderNo().isEmpty()){
                        //更新订单完成数量
                        EntityWrapper<OrderDetl> orderDetlEntityWrapper = new EntityWrapper<>();
                        orderDetlEntityWrapper.eq("order_no",wrkDetls101.get(0).getOrderNo());
                        orderDetlEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
                    OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
                        OrderDetl orderDetl = orderDetlService.selectOne(orderDetlEntityWrapper);
                    OrderDetl orderDetl1 = new OrderDetl();
                    orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme());
                    orderDetl1.setUpdateTime(now);
                    if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
                        return FAIL.setMsg("更新订单完成数量失败");
                        OrderDetl orderDetl1 = new OrderDetl();
                        orderDetl1.setQty(orderDetl.getQty() + wrkDetls101.get(0).getAnfme());
                        orderDetl1.setUpdateTime(now);
                        if (!orderDetlService.update(orderDetl1,orderDetlEntityWrapper)){
                            return FAIL.setMsg("更新订单完成数量失败");
                        }
                        //更新拣货单完成数量
                        EntityWrapper<ManPakOut> manPakOutEntityWrapper = new EntityWrapper<>();
                        manPakOutEntityWrapper.eq("doc_num",wrkDetls101.get(0).getOrderNo());
                        manPakOutEntityWrapper.eq("matnr",wrkDetls101.get(0).getMatnr());
                        ManPakOut manPakOut = manPakOutService.selectOne(manPakOutEntityWrapper);
                        if (manPakOut.getCount() + wrkDetls101.get(0).getAnfme() >= manPakOut.getAnfme()){
                            manPakOut.setStatus(1);
                        }
                        manPakOut.setCount(manPakOut.getCount() + wrkDetls101.get(0).getAnfme());
                        if (!manPakOutService.update(manPakOut,manPakOutEntityWrapper)){
                            return FAIL.setMsg("更新拣货单完成数量失败");
                        }
                    }
                    Boolean finsihed = orderDetlService.checkAllDetlFinish(wrkDetls101.get(0).getOrderNo());
                    if (finsihed) {
                        Boolean mastFinished = wrkMastService.checkFinishByOrder(wrkDetls101.get(0).getOrderNo());