自动化立体仓库 - WMS系统
zhangchao
2024-10-16 7f9a488ea0b82e1e09b1d92a5bd83e5127d060f4
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -93,6 +93,11 @@
    }
    @Override
    public boolean updateSettle2(Long orderId, Long settle, Integer plt) {
        return this.baseMapper.updateSettle2(orderId, settle, plt) > 0;
    }
    @Override
    public void checkComplete(String orderNo, String locNo) {
        Order order = this.selectByNo(orderNo);
        if (Cools.isEmpty(order)) {
@@ -110,11 +115,11 @@
                break;
            }
        }
        Integer pltType = null;
        //仓库编码
        if (Cools.isEmpty(order.getPltType())) {
            AgvLocMast locNo1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
            order.setPltType(locNo1.getPltType());
            super.updateById(order);
            pltType = locNo1.getPltType();
        }
        // 如果 作业数量等于单据总数量 && 工作明细档中无该单据的数据 && AGV工作明细档中无该单据的数据
        int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
@@ -126,7 +131,7 @@
        boolean manPakoutExist = Cools.isEmpty(manPakOut) || (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
        if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
            if (!this.updateSettle(order.getId(), 4L, null)) {
            if (!this.updateSettle2(order.getId(), 4L, pltType)) {
                throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败");
            }
        }