cl
2 天以前 c94101e403cdaf332e0b80cbedab747a03a5df93
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -178,7 +178,7 @@
                        .setMatnrCode(areaItem.getMatnrCode());
                WkOrder order = asnOrderService.getById(areaItem.getAsnId());
                if (order != null) {
                    pakinItem.setType(order.getType()).setWkType(StringUtils.isNotBlank(order.getWkType()) ? Short.parseShort(order.getWkType()) : null);
                    pakinItem.setType(order.getType()).setWkType(order.getWkType());
                }
                if (pakinItem1.getReceiptQty() == null || pakinItem1.getReceiptQty().compareTo(0.0) <= 0) {
                    throw new CoolException("组托数量不能小于等于零!!");
@@ -236,7 +236,11 @@
        for (PakinItem pakinItem1 : waitPakin.getItems()) {
            WaitPakinItem pakinItem = new WaitPakinItem();
            if (StringUtils.isBlank(pakinItem1.getAsnCode())) {
            // 原逻辑:if (StringUtils.isBlank(pakinItem1.getAsnCode())) { ... } else { 按单据限制 ... }
            // 只有单据号存在且能查到单据时才按单据限制
            WkOrder bindOrder = StringUtils.isBlank(pakinItem1.getAsnCode()) ? null :
                    asnOrderService.getOne(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getCode, pakinItem1.getAsnCode()));
            if (bindOrder == null) {
                if (Objects.isNull(pakinItem1.getMatnrId())) {
                    throw new CoolException("物料ID不能为空!!");
                }
@@ -279,9 +283,9 @@
                if (null == orderItem) {
                    throw new CoolException("订单明细不存在!!");
                }
                WkOrder order = asnOrderService.getById(orderItem.getOrderId());
                if (null == order) {
                    throw new CoolException("订单不存在!!");
                WkOrder order = bindOrder;
                if (orderItem.getOrderId() == null || !orderItem.getOrderId().equals(order.getId())) {
                    throw new CoolException("物料不在当前单据中,不能按单据组托!!");
                }
                pakinItem.setAnfme(QuantityUtils.roundToScale(orderItem.getAnfme()))
                        .setPakinId(waitPakin1.getId())
@@ -303,7 +307,7 @@
                        .setCreateBy(userId)
                        .setMatnrCode(orderItem.getMatnrCode());
                pakinItem.setType(null == order.getType() ? null : order.getType())
                        .setWkType(StringUtils.isNotBlank(order.getWkType()) ? Short.parseShort(order.getWkType()) : null);
                        .setWkType(order.getWkType());
                for (PakinItem waitPakinItem : waitPakin.getItems()) {
                    if (waitPakinItem.getId().equals(orderItem.getId())) {