From f8ccc5ab312ab7c5d6c7eb7fac4e37924f513869 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 03 十一月 2026 19:25:29 +0800
Subject: [PATCH] fix: 完善质量检验接口与质检员分配

---
 src/main/java/com/ruoyi/quality/controller/QualityInspectController.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java b/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
index 1702c2a..3d9a177 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
@@ -2,7 +2,11 @@
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.project.system.domain.SysUser;
+import com.ruoyi.project.system.mapper.SysUserMapper;
+import com.ruoyi.project.system.service.ISysUserService;
 import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
 import com.ruoyi.procurementrecord.service.ProcurementRecordService;
 import com.ruoyi.procurementrecord.service.impl.ProcurementRecordServiceImpl;
@@ -15,6 +19,7 @@
 import com.ruoyi.quality.service.IQualityInspectParamService;
 import com.ruoyi.quality.service.IQualityInspectService;
 import com.ruoyi.quality.service.IQualityUnqualifiedService;
+import com.ruoyi.quality.util.QualityInspectionValueValidator;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
@@ -23,6 +28,7 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 鍘熸潗鏂欐楠�/杩囩▼妫�楠�/鍑哄巶妫�楠�
@@ -41,6 +47,12 @@
     private IQualityInspectFileService qualityInspectFileService;
     @Autowired
     private ProcurementRecordService procurementRecordService;
+
+    @Resource
+    private ISysUserService sysUserService;
+
+    @Resource
+    private SysUserMapper sysUserMapper;
 
 
     /**
@@ -108,6 +120,48 @@
             return AjaxResult.error("宸叉彁浜ょ殑妫�楠岃褰曚笉鑳戒慨鏀�");
         }
         return AjaxResult.success(qualityInspectService.updateQualityInspect(qualityInspectDto));
+    }
+
+    /** 浠呭垎閰嶆楠屽憳锛岄伩鍏嶈Е鍙戞暣寮犳楠屽崟鐨勫繀濉牎楠屻�� */
+    @PostMapping("/assignInspector")
+    public AjaxResult assignInspector(@RequestBody QualityInspect inspect) {
+        if (inspect == null || inspect.getId() == null) {
+            return AjaxResult.error("妫�楠岃褰旾D涓嶈兘涓虹┖");
+        }
+        if (inspect.getCheckUserId() == null) {
+            return AjaxResult.error("璇烽�夋嫨妫�楠屽憳");
+        }
+        QualityInspect stored = qualityInspectService.getById(inspect.getId());
+        if (stored == null) {
+            return AjaxResult.error("妫�楠岃褰曚笉瀛樺湪");
+        }
+        if (Integer.valueOf(1).equals(stored.getInspectState())) {
+            return AjaxResult.error("宸叉彁浜ょ殑妫�楠岃褰曚笉鑳介噸鏂板垎閰嶆楠屽憳");
+        }
+        SysUser inspector = sysUserService.selectUserById(inspect.getCheckUserId());
+        if (inspector == null || "2".equals(inspector.getDelFlag())) {
+            return AjaxResult.error("鎵�閫夌敤鎴蜂笉瀛樺湪鎴栧凡鍒犻櫎");
+        }
+        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())
+                && !Objects.equals(SecurityUtils.getLoginUser().getTenantId(), inspector.getTenantId())) {
+            return AjaxResult.error("鍙兘鍒嗛厤缁欏綋鍓嶅叕鍙哥敤鎴�");
+        }
+        if (!"0".equals(inspector.getStatus())) {
+            return AjaxResult.error("鎵�閫夌敤鎴峰凡鍋滅敤");
+        }
+        QualityInspect update = new QualityInspect();
+        update.setId(inspect.getId());
+        update.setCheckUserId(inspector.getUserId());
+        update.setCheckName(StringUtils.defaultIfBlank(inspector.getNickName(), inspector.getUserName()));
+        return AjaxResult.success(qualityInspectService.updateById(update));
+    }
+
+    /** 浠呰繑鍥炲綋鍓嶇鎴蜂腑姝e父銆佹湭鍒犻櫎鐨勭郴缁熺敤鎴凤紝渚涜川妫�鍛樺垎閰嶄娇鐢ㄣ�� */
+    @GetMapping("/inspectorCandidates")
+    public AjaxResult inspectorCandidates() {
+        Long tenantId = SecurityUtils.isAdmin(SecurityUtils.getUserId())
+                ? null : SecurityUtils.getLoginUser().getTenantId();
+        return AjaxResult.success(sysUserMapper.selectActiveUsers(tenantId));
     }
 
     /**
@@ -187,6 +241,12 @@
                 return "璇峰~鍐欌��" + parameter.getParameterItem() + "鈥濈殑妫�楠屽��";
             }
         }
+        if ("鍚堟牸".equals(inspect.getCheckResult())) {
+            String valueMessage = QualityInspectionValueValidator.validateQualified(inspect.getQualityInspectParams());
+            if (valueMessage != null) {
+                return valueMessage;
+            }
+        }
         return null;
     }
 }

--
Gitblit v1.9.3