From c96d7cac4e3ed8d8ab3d2ef4fbee8be372f1a3b0 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 22 七月 2025 13:27:50 +0800
Subject: [PATCH] no message

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
index 2780e06..0f6db5a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaCheckOrderServiceImpl.java
@@ -161,17 +161,24 @@
                 if (null == diffItem) {
                     return R.error("鏁版嵁閿欒锛屾湭鎵惧埌宸紓鍗曟槑缁�");
                 }
+                diffItem.setCheckQty(ckDiffItem.getCheckQty()).setReason(ckDiffItem.getReason()).setMemo(ckDiffItem.getMemo());
             }
 
             diffItem.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
             if (!checkDiffItemService.updateById(diffItem)) {
                 throw new CoolException("鏇存柊宸紓鍗曟槑缁嗗け璐�");
             }
-            Double checkQty = Math.round((checkDiff.getCheckQty() + diffItem.getCheckQty()) * 10000) / 10000.0;
-            checkDiff.setCheckQty(checkQty);
+//            Double checkQty = Math.round((checkDiff.getCheckQty() + diffItem.getCheckQty()) * 10000) / 10000.0;
+//            checkDiff.setCheckQty(checkQty);
         }
-        checkDiff.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val);
 
+        List<CheckDiffItem> diffItems = checkDiffItemService.list(new LambdaQueryWrapper<CheckDiffItem>()
+                .eq(CheckDiffItem::getCheckId, checkDiff.getId()));
+        if (diffItems.isEmpty()) {
+            throw new CoolException("鐩樼偣宸紓鍗曟槑缁嗕笉瀛樺湪锛侊紒");
+        }
+        Double sum = diffItems.stream().mapToDouble(CheckDiffItem::getCheckQty).sum();
+        checkDiff.setExceStatus(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_HOLD.val).setCheckQty(sum);
         if (!checkDiffService.updateById(checkDiff)) {
             throw new CoolException("鏇存柊宸紓鍗曞け璐�");
         }

--
Gitblit v1.9.1