From 523365960513f297024a419f94b2b42eccd9456f Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 09 四月 2026 11:21:41 +0800
Subject: [PATCH] #

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 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..df5b9d7 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
@@ -20,12 +20,13 @@
 import com.vincent.rsf.server.manager.service.CheckDiffService;
 import com.vincent.rsf.server.manager.service.CheckOrderService;
 import com.vincent.rsf.server.manager.service.impl.CheckDiffServiceImpl;
+import com.vincent.rsf.server.manager.utils.buildPageRowsUtils;
 import com.vincent.rsf.server.system.controller.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -44,7 +45,9 @@
     public R page(@RequestBody Map<String, Object> map) {
         BaseParam baseParam = buildParam(map, BaseParam.class);
         PageParam<CheckDiffItem, BaseParam> pageParam = new PageParam<>(baseParam, CheckDiffItem.class);
-        return R.ok().add(checkDiffItemService.page(pageParam, pageParam.buildWrapper(true)));
+        PageParam<CheckDiffItem, BaseParam> page = checkDiffItemService.page(pageParam, pageParam.buildWrapper(true));
+        buildPageRowsUtils.userNameMap(page.getRecords());
+        return R.ok().add(page);
     }
 
     @PreAuthorize("hasAuthority('manager:checkDiff:list')")
@@ -93,18 +96,24 @@
         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) {
+                    WkOrder order = checkOrderService.getById(checkDiff.getOrderId());
+                    if (order == null) {
+                        throw new CoolException("鐩樼偣鍗曚笉瀛樺湪锛侊紒");
+                    }
+                    order.setExceStatus(CheckExceStatus.CHECK_ORDER_STATUS_EXCE_DONE.val);
+                    if (!checkOrderService.updateById(order)) {
+                        throw new CoolException("鐩樼偣鍗曟墽琛岀姸鎬佷慨鏀瑰け璐ワ紒锛�");
+                    }
                 }
-
             } else {
                 if (!checkDiffService.update(new LambdaUpdateWrapper<CheckDiff>()
                         .eq(CheckDiff::getId, checkDiffItem.getCheckId())

--
Gitblit v1.9.1