From 162072ac75b009a24cb84569ea7000a782c0fa34 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期三, 14 五月 2025 16:00:48 +0800
Subject: [PATCH] 质检单问题修复

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
index 93a3df4..011bd52 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -305,9 +305,14 @@
                     .setMatnrId(matnr.getId());
             orderItems.add(orderItem);
 
-            
-//            purchaseItemService.update(new LambdaUpdateWrapper<>().set(PurchaseItem::getAnfme, ));
-
+            PurchaseItem purchaseItem = purchaseItemService.getOne(new LambdaQueryWrapper<PurchaseItem>().eq(PurchaseItem::getId, item.getId()));
+            if (Objects.isNull(purchaseItem)) {
+                throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�");
+            }
+            purchaseItem.setQty(purchaseItem.getQty() +  item.getAnfme());
+            if (!purchaseItemService.updateById(purchaseItem)) {
+                throw new CoolException("PO鍗曟槑缁嗕慨鏀瑰け璐ワ紒锛�");
+            }
         }
 
         double sum = orderItems.stream().mapToDouble(AsnOrderItem::getAnfme).sum();
@@ -317,7 +322,6 @@
         }
         //浠诲姟鎵ц瀹屾垚锛屼慨鏀瑰凡瀹屾垚鏁伴噺鍜孭O鍗曟墽琛岀姸鎬�
         purchase.setQty(sum + purchase.getQty())
-                .setAnfme(purchase.getAnfme() - sum)
                 .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val);
 
         if (!purchaseService.saveOrUpdate(purchase)) {
@@ -350,8 +354,7 @@
             list.forEach(item -> {
                 PurchaseItem purchaseItem = purchaseItemService.getById(item.getPoDetlId());
                 if (!Objects.isNull(purchaseItem)) {
-                    purchaseItem.setQty(purchaseItem.getQty() - item.getAnfme())
-                            .setAnfme(purchaseItem.getAnfme() + item.getAnfme());
+                    purchaseItem.setQty(purchaseItem.getQty() - item.getAnfme());
                 }
                 if (!purchaseItemService.updateById(purchaseItem)) {
                     throw new CoolException("PO鍗曟槑缁嗘洿鏂板け璐ワ紒锛�");
@@ -363,15 +366,12 @@
             Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>()
                     .eq(Purchase::getCode, list.stream().findFirst().get().getPoCode()));
             purchase.setQty(purchase.getQty() - sum)
-                    .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val)
-                    .setAnfme(purchase.getAnfme() + sum);
+                    .setExceStatus(POExceStatus.PO_EXCE_STATUS_EXCE_ING.val);
 
             if (!purchaseService.updateById(purchase)) {
                 throw new CoolException("PO鍗曟嵁鏇存柊澶辫触锛侊紒");
             }
         }
-
-
 
         if (!asnOrderItemService.remove(new LambdaQueryWrapper<AsnOrderItem>()
                 .in(AsnOrderItem::getAsnId, ids))) {

--
Gitblit v1.9.1