自动化立体仓库 - WMS系统
13
zhang
昨天 55eb3d480594f4c0dd382eaeeb8548bf911d6ad7
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -69,9 +69,13 @@
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private OrderService orderService;
    private OrderPakoutService orderPakoutService;
    @Autowired
    private OrderDetlService orderDetlService;
    private OrderPakinService orderPakinService;
    @Autowired
    private OrderDetlPakoutService orderDetlPakoutService;
    @Autowired
    private OrderDetlPakinService orderDetlPakinService;
    @Autowired
    private WcsController wcsController;
    @Autowired
@@ -470,9 +474,9 @@
            if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
                continue;
            }
            OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            if (orderDetlPakout == null) {
                orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
                orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
            }
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetlPakout);
@@ -490,10 +494,10 @@
                throw new CoolException("保存工作档明细失败");
            }
            // 修改订单明细
            if (!orderDetlService.increaseWorkQtyById(orderDetlPakout.getId(), locDto.getAnfme())) {
            if (!orderDetlPakoutService.increaseWorkQtyById(orderDetlPakout.getId(), locDto.getAnfme())) {
                throw new CoolException("修改订单明细数量失败");
            }
            orderService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
            orderPakoutService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
        }
        // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
        locMast = locMastService.selectById(taskDto.getLocNo());
@@ -578,9 +582,9 @@
            if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
                continue;
            }
            OrderDetlPakout orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            OrderDetlPakout orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
            if (orderDetlPakout == null) {
                orderDetlPakout = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
                orderDetlPakout = orderDetlPakoutService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
            }
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(orderDetlPakout);
@@ -598,10 +602,10 @@
                throw new CoolException("保存工作档明细失败");
            }
            // 修改订单明细
            if (!orderDetlService.increaseWorkQty(orderDetlPakout.getOrderId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), locDto.getAnfme())) {
            if (!orderDetlPakoutService.increaseWorkQty(orderDetlPakout.getOrderId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), locDto.getAnfme())) {
                throw new CoolException("修改订单明细数量失败");
            }
            orderService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
            orderPakoutService.updateSettle(orderDetlPakout.getOrderId(), 2L, userId);
        }
        // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
        locMast = locMastService.selectById(taskDto.getLocNo());
@@ -1395,26 +1399,26 @@
            List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
            for (WrkDetl wrkDetl : wrkDetls) {
                if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
                    if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
                    if (!orderDetlPakoutService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
                        throw new CoolException("订单数据回滚失败");
                    }
                    //修改订单主表状态,没有作业数量时才可以修改
                    boolean flag = true;
                    List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo()));
                    List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_no", wrkDetl.getOrderNo()));
                    for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) {
                        if (orderDetlPakout.getWorkQty() > 0) {
                            flag = false;
                        }
                    }
                    if (flag) {
                        OrderPakin order = orderService.selectOne(new EntityWrapper<OrderPakin>().eq("order_no", wrkDetl.getOrderNo()));
                        OrderPakout order = orderPakoutService.selectOne(new EntityWrapper<OrderPakout>().eq("order_no", wrkDetl.getOrderNo()));
                        if (!Cools.isEmpty(order) && order.getSettle() == 2) {
                            order.setSettle(1L);
                            order.setUpdateBy(userId);
                            order.setUpdateTime(now);
                        }
                        if (!orderService.update(order, new EntityWrapper<OrderPakin>().eq("order_no", wrkDetl.getOrderNo()))) {
                        if (!orderPakoutService.update(order, new EntityWrapper<OrderPakout>().eq("order_no", wrkDetl.getOrderNo()))) {
                            throw new CoolException("修改订单状态失败");
                        }
                    }