skyouc
2 天以前 b011b1368c2f8813ef2684a4a63914e6e59b5e15
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java
@@ -193,12 +193,15 @@
            List<AsnOrderItem> orderItems = new ArrayList<>();
            listMap.get(key).forEach(item -> {
                AsnOrderItem orderItem = new AsnOrderItem();
                Double anfme = Math.round((item.getAnfme() - item.getWorkQty() - item.getQty()) * 10000) / 10000.0;
                BeanUtils.copyProperties(item, orderItem);
                orderItem.setId(null)
                        .setPoCode(order.getPoCode())
                        .setMaktx(item.getMaktx())
                        .setMatnrCode(item.getMatnrCode())
                        .setFieldsIndex(item.getFieldsIndex())
                        .setAnfme(anfme)
                        .setWorkQty(0.0)
                        .setAsnId(order.getId())
                        .setAsnCode(order.getCode())
                        .setStockUnit(item.getUnit())
@@ -221,7 +224,7 @@
            Double sum = orderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
            //修改计划数量
            order.setAnfme(sum);
            order.setAnfme(sum).setWorkQty(0.0);
            if (!this.saveOrUpdate(order)) {
                throw new CoolException("主单数量修改失败!!");
            }
@@ -229,8 +232,13 @@
                throw new CoolException("明细保存失败!!");
            }
            Short exceStatus = POExceStatus.PO_EXCE_STATUS_SECTION_DONE.val;
            if (delivery.getAnfme().compareTo(order.getAnfme()) <= 0) {
                exceStatus = AsnExceStatus.ASN_EXCE_STATUS_TASK_DONE.val;
            }
            if (!deliveryService.update(new LambdaUpdateWrapper<Delivery>()
                    .set(Delivery::getExceStatus, POExceStatus.PO_EXCE_STATUS_EXCE_ING.val)
                    .set(Delivery::getExceStatus, exceStatus)
                    .set(Delivery::getWorkQty, sum)
                    .eq(Delivery::getId, key))) {
                throw new CoolException("主单修改失败!!");