From 11514b301466eb7598073d0126c6d9781daaa3ba Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 09 三月 2026 14:00:40 +0800
Subject: [PATCH] 盘点流程

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java
index 6e1052b..ba5b385 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java
@@ -93,18 +93,21 @@
         if (!diffItems.isEmpty()) {
             Map<Integer, List<CheckDiffItem>> listMap = diffItems.stream().collect(Collectors.groupingBy(CheckDiffItem::getExceStatus));
             List<CheckDiffItem> checkDiffItems = listMap.get(CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_END.val);
-            if (diffItems.size() == checkDiffItems.size()) {
+            if (checkDiffItems != null && diffItems.size() == checkDiffItems.size()) {
                 if (!checkDiffService.update(new LambdaUpdateWrapper<CheckDiff>()
                         .eq(CheckDiff::getId, checkDiffItem.getCheckId())
                         .set(CheckDiff::getExceStatus, CheckDiffExceStatus.CHECK_DIFF_EXCE_STATUS_END.val))) {
                     throw new CoolException("鐩樼偣鍗曠姸鎬佹洿鏂板け璐ワ紒锛�");
                 }
-
-                if (!checkOrderService.update(new LambdaUpdateWrapper<WkOrder>().eq(WkOrder::getId, checkDiffItem.getCheckId())
-                        .set(WkOrder::getExceStatus, CheckExceStatus.CHECK_ORDER_STATUS_EXCE_DONE.val))) {
-                    throw new CoolException("鐩樼偣鍗曟墽琛岀姸鎬佷慨鏀瑰け璐ワ紒锛�");
+                // 浠呭湪鏈夊崟鏃舵洿鏂扮洏鐐瑰崟(WkOrder)鎵ц鐘舵�侊紱鏃犲崟鐩樼偣鏃犵洏鐐瑰崟锛屼笉鏇存柊
+                CheckDiff checkDiff = checkDiffService.getById(checkDiffItem.getCheckId());
+                if (checkDiff != null && checkDiff.getOrderId() != null) {
+                    if (!checkOrderService.update(new LambdaUpdateWrapper<WkOrder>()
+                            .eq(WkOrder::getId, checkDiff.getOrderId())
+                            .set(WkOrder::getExceStatus, CheckExceStatus.CHECK_ORDER_STATUS_EXCE_DONE.val))) {
+                        throw new CoolException("鐩樼偣鍗曟墽琛岀姸鎬佷慨鏀瑰け璐ワ紒锛�");
+                    }
                 }
-
             } else {
                 if (!checkDiffService.update(new LambdaUpdateWrapper<CheckDiff>()
                         .eq(CheckDiff::getId, checkDiffItem.getCheckId())

--
Gitblit v1.9.1