verou
2025-04-08 aa0aaf8b2091c551a73c851ed692f6d908fea8fb
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/WaitPakinServiceImpl.java
@@ -80,7 +80,7 @@
        }
        pakin.setCode(ruleCode)
                //状态修改为入库中
                .setIoStatus(Short.parseShort(PakinIOStatus.QLY_ISPT_STAS_DONE.val))
                .setIoStatus(Short.parseShort(PakinIOStatus.PAKIN_IO_STATUS_DONE.val))
                .setAnfme(sum)
                .setBarcode(waitPakin.getBarcode());
        if (!this.save(pakin)) {
@@ -104,26 +104,25 @@
                    .setAsnId(item.getAsnId())
                    .setAsnCode(item.getAsnCode())
                    .setAsnItemId(item.getId())
                    .setMatnrCode(item.getMatnrCode())
                    .setBatch(item.getSplrBatch())
                    .setUnit(item.getStockUnit())
                    .setFieldsIndex(item.getFieldsIndex())
                    .setUnit(item.getStockUnit())
                    .setMatnrId(item.getMatnrId())
                    .setMaktx(item.getMaktx())
                    .setMatnrCode(item.getMatnrCode());
            for (PakinItem waitPakinItem : waitPakin.getItems()) {
                if (waitPakinItem.getTrackCode().equals(item.getTrackCode())) {
                    Double v = item.getWorkQty() + waitPakinItem.getReceiptQty();
                    pakinItem.setWorkQty(v)
//                    Double v = item.getWorkQty() + waitPakinItem.getReceiptQty();
                    pakinItem
                            .setWorkQty(waitPakinItem.getReceiptQty())
                            .setAnfme(waitPakinItem.getReceiptQty())
                            .setTrackCode(waitPakinItem.getTrackCode());
                    /**更新单据执行中库存*/
                    if (v.compareTo(item.getAnfme()) > 0) {throw new CoolException("执行中数量大于收货数量!!");}
                    if (!asnOrderItemService.update(new LambdaUpdateWrapper<AsnOrderItem>()
                            .eq(AsnOrderItem::getTrackCode, waitPakinItem.getTrackCode()).set(AsnOrderItem::getWorkQty, v))) {
                        throw new CoolException("执行中库存更新失败!!");
                    }
//                    if (v.compareTo(item.getAnfme()) > 0) {throw new CoolException("执行中数量大于收货数量!!");}
//                    if (!asnOrderItemService.update(new LambdaUpdateWrapper<AsnOrderItem>()
//                            .eq(AsnOrderItem::getTrackCode, waitPakinItem.getTrackCode()).set(AsnOrderItem::getWorkQty, v))) {
//                        throw new CoolException("执行中库存更新失败!!");
//                    }
                }
            }
            items.add(pakinItem);