自动化立体仓库 - WMS系统
zc
2024-09-03 b196900d48deefb0129e28df0a842fadc3d6bff1
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -59,7 +59,7 @@
    @Override
    public void checkComplete(String orderNo) {
        Order order = this.selectByNo(orderNo);
        if (order.getSettle() >= 4L) {
        if (Cools.isEmpty(order) || order.getSettle() >= 4L) {
            return;
        }
        List<OrderDetl> orderDetls = orderDetlMapper.selectList(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()));
@@ -74,22 +74,68 @@
            // 出库订单重新整理明细
            DocType docType = docTypeService.selectById(order.getDocType());
            if (null != docType && docType.getPakout() == 1) {
                if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
                    throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                }
                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
                for (WrkDetl wrkDetl : wrkDetls) {
                    OrderDetl orderDetl = new OrderDetl();
                    orderDetl.sync(wrkDetl);
                    orderDetl.setQty(orderDetl.getAnfme());
                    orderDetl.setOrderId(order.getId());
                    orderDetl.setOrderNo(orderNo);
                    orderDetl.setCreateTime(order.getCreateTime());
                    orderDetl.setCreateBy(order.getCreateBy());
                    orderDetl.setUpdateTime(order.getUpdateTime());
                    orderDetl.setUpdateBy(order.getUpdateBy());
                    if (!orderDetlService.insert(orderDetl)) {
                        throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                if (orderDetls.size() == wrkDetls.size()) {
                    for (WrkDetl wrkDetl : wrkDetls) {
                        OrderDetl orderDetl = new OrderDetl();
                        orderDetl.sync(wrkDetl);
                        orderDetl.setQty(orderDetl.getAnfme());
                        orderDetl.setOrderId(order.getId());
                        orderDetl.setOrderNo(orderNo);
                        orderDetl.setStatus(1);
                        orderDetl.setCreateTime(order.getCreateTime());
                        orderDetl.setCreateBy(order.getCreateBy());
                        orderDetl.setUpdateTime(order.getUpdateTime());
                        orderDetl.setUpdateBy(order.getUpdateBy());
                        if (!orderDetlService.insert(orderDetl)) {
                            throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                        }
                    }
                } else {
                    for (OrderDetl orderDetl : orderDetls) {
                        for (WrkDetl wrkDetl : wrkDetls) {
                            if (Cools.isEmpty(orderDetl.getBatch()) || Cools.isEmpty(wrkDetl.getBatch())) {
                                if (orderDetl.getMatnr().equals(wrkDetl.getMatnr())) {
                                    OrderDetl newOrderDetl = new OrderDetl();
                                    newOrderDetl.sync(wrkDetl);
                                    newOrderDetl.setAnfme(orderDetl.getAnfme());
                                    newOrderDetl.setQty(orderDetl.getAnfme());
                                    newOrderDetl.setOrderId(order.getId());
                                    newOrderDetl.setOrderNo(orderNo);
                                    newOrderDetl.setStatus(1);
                                    newOrderDetl.setCreateTime(order.getCreateTime());
                                    newOrderDetl.setCreateBy(order.getCreateBy());
                                    newOrderDetl.setUpdateTime(order.getUpdateTime());
                                    newOrderDetl.setUpdateBy(order.getUpdateBy());
                                    if (!orderDetlService.insert(newOrderDetl)) {
                                        throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                                    }
                                    break;
                                }
                            } else {
                                if (orderDetl.getMatnr().equals(wrkDetl.getMatnr()) && orderDetl.getBatch().equals(wrkDetl.getBatch())) {
                                    OrderDetl newOrderDetl = new OrderDetl();
                                    newOrderDetl.sync(wrkDetl);
                                    newOrderDetl.setAnfme(orderDetl.getAnfme());
                                    newOrderDetl.setQty(orderDetl.getAnfme());
                                    newOrderDetl.setOrderId(order.getId());
                                    newOrderDetl.setOrderNo(orderNo);
                                    newOrderDetl.setStatus(1);
                                    newOrderDetl.setCreateTime(order.getCreateTime());
                                    newOrderDetl.setCreateBy(order.getCreateBy());
                                    newOrderDetl.setUpdateTime(order.getUpdateTime());
                                    newOrderDetl.setUpdateBy(order.getUpdateBy());
                                    if (!orderDetlService.insert(newOrderDetl)) {
                                        throw new CoolException("重整出库订单【orderNo = " + order.getOrderNo() + "】明细失败");
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
            }
@@ -139,9 +185,13 @@
                if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                    throw new CoolException("修改单据明细数量失败");
                }
                // 修改订单作业数量
                if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
                    throw new CoolException("修改单据作业数量失败");
                }
            }
        } catch (Exception e) {
            log.error("", e);
            log.error("saveHandlerOrder===>>", e);
            return false;
        }
        return true;
@@ -155,4 +205,34 @@
        orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", orderId));
    }
    @Override
    public List<Order> selectComplete() {
        return this.baseMapper.selectComplete();
    }
    @Override
    public List<Order> selectComplete8() {
        return this.baseMapper.selectComplete8();
    }
    @Override
    public boolean addToLogTable(Order order) {
        return this.baseMapper.addToLogTable(order) > 0;
    }
    @Override
    public List<Order> selectorderNoL(String orderNo) {
        return this.baseMapper.selectorderNoL(orderNo);
    }
    @Override
    public Order selectOrderMoveStatus() {
        return this.baseMapper.selectOrderMoveStatus();
    }
    @Override
    public Order selectOrderMoveStatusInitial() {
        return this.baseMapper.selectOrderMoveStatusInitial();
    }
}