From b011b1368c2f8813ef2684a4a63914e6e59b5e15 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 05 六月 2025 17:06:51 +0800 Subject: [PATCH] DO单优化 出库单优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java index 70e07a5..ee49baf 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/OutStockServiceImpl.java +++ b/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("涓诲崟淇敼澶辫触锛侊紒"); -- Gitblit v1.9.1