From b1c9e5683cee961946e85297eb581f26cff694ef Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 09 四月 2026 15:00:07 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/CheckDiffItemController.java |   28 +++++++++++++++++++++++-----
 1 files changed, 23 insertions(+), 5 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 b3ddb91..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
@@ -13,16 +13,20 @@
 import com.vincent.rsf.server.common.domain.PageParam;
 import com.vincent.rsf.server.manager.entity.CheckDiff;
 import com.vincent.rsf.server.manager.entity.CheckDiffItem;
+import com.vincent.rsf.server.manager.entity.WkOrder;
 import com.vincent.rsf.server.manager.enums.CheckDiffExceStatus;
+import com.vincent.rsf.server.manager.enums.CheckExceStatus;
 import com.vincent.rsf.server.manager.service.CheckDiffItemService;
 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;
 
@@ -33,13 +37,17 @@
     private CheckDiffItemService checkDiffItemService;
     @Autowired
     private CheckDiffService checkDiffService;
+    @Autowired
+    private CheckOrderService checkOrderService;
 
     @PreAuthorize("hasAuthority('manager:checkDiff:list')")
     @PostMapping("/checkDiffItem/page")
     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')")
@@ -88,11 +96,23 @@
         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("鐩樼偣鍗曠姸鎬佹洿鏂板け璐ワ紒锛�");
+                }
+                // 浠呭湪鏈夊崟鏃舵洿鏂扮洏鐐瑰崟(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>()
@@ -102,8 +122,6 @@
                 }
             }
         }
-
-
         return R.ok("Update Success").add(checkDiffItem);
     }
 

--
Gitblit v1.9.1