From 07496adb3a0c61e48c660e0cb4ee95d44782f05d 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/SafeFacilityInspectionController.java |   29 ++++++++++++++++++++++++++++-
 1 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/safe/controller/SafeFacilityInspectionController.java b/src/main/java/com/ruoyi/safe/controller/SafeFacilityInspectionController.java
index cf5627e..67e86c8 100644
--- a/src/main/java/com/ruoyi/safe/controller/SafeFacilityInspectionController.java
+++ b/src/main/java/com/ruoyi/safe/controller/SafeFacilityInspectionController.java
@@ -1,11 +1,14 @@
 package com.ruoyi.safe.controller;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+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.SafeFacilityInspection;
+import com.ruoyi.safe.pojo.SafeFacilityRectification;
 import com.ruoyi.safe.service.SafeFacilityInspectionService;
+import com.ruoyi.safe.service.SafeFacilityRectificationService;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.AllArgsConstructor;
@@ -28,6 +31,7 @@
 public class SafeFacilityInspectionController {
 
     private SafeFacilityInspectionService safeFacilityInspectionService;
+    private SafeFacilityRectificationService safeFacilityRectificationService;
 
     @GetMapping("/page")
     @Operation(summary = "鍒嗛〉鏌ヨ")
@@ -45,7 +49,23 @@
     @Log(title = "瀹夊叏璁炬柦宸℃", businessType = BusinessType.INSERT)
     @PostMapping()
     public R add(@RequestBody SafeFacilityInspection safeFacilityInspection) {
+        if (isInspectionCodeExists(safeFacilityInspection.getInspectionCode(), null)) {
+            return R.fail("宸℃缂栧彿銆�" + safeFacilityInspection.getInspectionCode() + "銆嶅凡瀛樺湪");
+        }
+        if (safeFacilityInspection.getInspectorId() == null) {
+            Long currentUserId = SecurityUtils.getUserId();
+            safeFacilityInspection.setInspectorId(currentUserId.intValue());
+        }
+        safeFacilityInspection.setStatus("寰呭贰妫�");
         return R.ok(safeFacilityInspectionService.save(safeFacilityInspection));
+    }
+
+    private boolean isInspectionCodeExists(String code, Integer excludeId) {
+        if (code == null || code.isEmpty()) return false;
+        return safeFacilityInspectionService.lambdaQuery()
+                .eq(SafeFacilityInspection::getInspectionCode, code)
+                .ne(excludeId != null, SafeFacilityInspection::getId, excludeId)
+                .count() > 0;
     }
 
     @Operation(summary = "淇敼瀹夊叏璁炬柦宸℃")
@@ -58,7 +78,14 @@
     @Operation(summary = "鍒犻櫎瀹夊叏璁炬柦宸℃")
     @Log(title = "瀹夊叏璁炬柦宸℃", businessType = BusinessType.DELETE)
     @DeleteMapping("/{ids}")
-    public R delSafeFacilityInspection(@RequestBody List<Integer> ids) {
+    public R delSafeFacilityInspection(@PathVariable List<Integer> ids) {
+        for (Integer id : ids) {
+            long count = safeFacilityRectificationService.lambdaQuery()
+                    .eq(SafeFacilityRectification::getInspectionId, id).count();
+            if (count > 0) {
+                return R.fail("璇ュ贰妫�璁板綍瀛樺湪鍏宠仈鐨勬暣鏀硅褰曪紝鏃犳硶鍒犻櫎");
+            }
+        }
         return R.ok(safeFacilityInspectionService.removeBatchByIds(ids));
     }
 }

--
Gitblit v1.9.3