From e9fb84276805a01d6e665bc04b0999c842433d55 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期四, 23 七月 2026 10:18:37 +0800
Subject: [PATCH] fix: 修复采购订单新增修改,报错

---
 src/main/java/com/ruoyi/safe/controller/SafeLineInspectionRecordController.java |   39 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/safe/controller/SafeLineInspectionRecordController.java b/src/main/java/com/ruoyi/safe/controller/SafeLineInspectionRecordController.java
index 0a1b4ad..b2e25f2 100644
--- a/src/main/java/com/ruoyi/safe/controller/SafeLineInspectionRecordController.java
+++ b/src/main/java/com/ruoyi/safe/controller/SafeLineInspectionRecordController.java
@@ -1,15 +1,20 @@
 package com.ruoyi.safe.controller;
 
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.framework.aspectj.lang.annotation.Log;
 import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.safe.pojo.SafeLineInspection;
 import com.ruoyi.safe.pojo.SafeLineInspectionRecord;
 import com.ruoyi.safe.service.SafeLineInspectionRecordService;
+import com.ruoyi.safe.service.SafeLineInspectionService;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
+import java.time.LocalDateTime;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -27,6 +32,7 @@
 public class SafeLineInspectionRecordController {
 
     private SafeLineInspectionRecordService safeLineInspectionRecordService;
+    private SafeLineInspectionService safeLineInspectionService;
 
     @GetMapping("/list/{inspectionId}")
     @Operation(summary = "鏍规嵁宸℃浠诲姟ID鏌ヨ璁板綍")
@@ -38,7 +44,36 @@
     @Log(title = "绾胯矾宸℃璁板綍", businessType = BusinessType.INSERT)
     @PostMapping()
     public R add(@RequestBody SafeLineInspectionRecord safeLineInspectionRecord) {
-        return R.ok(safeLineInspectionRecordService.save(safeLineInspectionRecord));
+        boolean saved = safeLineInspectionRecordService.save(safeLineInspectionRecord);
+        if (saved && safeLineInspectionRecord.getInspectionId() != null) {
+            updateInspectionStatus(safeLineInspectionRecord.getInspectionId());
+        }
+        return R.ok(saved);
+    }
+
+    private void updateInspectionStatus(Integer inspectionId) {
+        SafeLineInspection inspection = safeLineInspectionService.getById(inspectionId);
+        if (inspection != null && "寰呭贰妫�".equals(inspection.getStatus())) {
+            Long currentUserId = SecurityUtils.getUserId();
+            String currentUserIdStr = String.valueOf(currentUserId);
+
+            String inspectorId = inspection.getInspectorId();
+            if (inspectorId == null || inspectorId.isEmpty()) {
+                inspectorId = currentUserIdStr;
+            } else {
+                String[] ids = inspectorId.split(",");
+                boolean exists = Arrays.stream(ids).anyMatch(id -> id.trim().equals(currentUserIdStr));
+                if (!exists) {
+                    inspectorId = inspectorId + "," + currentUserIdStr;
+                }
+            }
+
+            inspection.setStatus("宸℃涓�");
+            inspection.setInspectorId(inspectorId);
+            inspection.setUpdateTime(LocalDateTime.now());
+            inspection.setUpdateUser(currentUserId.intValue());
+            safeLineInspectionService.updateById(inspection);
+        }
     }
 
     @Operation(summary = "鎵归噺鏂板绾胯矾宸℃璁板綍")
@@ -58,7 +93,7 @@
     @Operation(summary = "鍒犻櫎绾胯矾宸℃璁板綍")
     @Log(title = "绾胯矾宸℃璁板綍", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
-    public R delSafeLineInspectionRecord(@RequestBody List<Integer> ids) {
+    public R delSafeLineInspectionRecord(@PathVariable List<Integer> ids) {
         return R.ok(safeLineInspectionRecordService.removeBatchByIds(ids));
     }
 }

--
Gitblit v1.9.3