From 9ca45195f78b74e9181cbbe7e82eb683ee49fabf Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 30 十月 2026 17:54:15 +0800
Subject: [PATCH] 质量管理模块:指标按产品/类别/工序维护与绑定、不合格处理方式、检验提交入库判定

---
 src/main/java/com/ruoyi/quality/controller/QualityInspectController.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 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 1555082..1702c2a 100644
--- a/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
+++ b/src/main/java/com/ruoyi/quality/controller/QualityInspectController.java
@@ -15,6 +15,7 @@
 import com.ruoyi.quality.service.IQualityInspectParamService;
 import com.ruoyi.quality.service.IQualityInspectService;
 import com.ruoyi.quality.service.IQualityUnqualifiedService;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
@@ -49,6 +50,10 @@
      */
     @PostMapping("/add")
     public AjaxResult add(@RequestBody QualityInspectDto qualityInspectDto) {
+        String validationMessage = validateInspect(qualityInspectDto, false);
+        if (validationMessage != null) {
+            return AjaxResult.error(validationMessage);
+        }
         return AjaxResult.success(qualityInspectService.add(qualityInspectDto));
     }
 
@@ -91,6 +96,17 @@
      */
     @PostMapping("/update")
     public AjaxResult update(@RequestBody QualityInspectDto qualityInspectDto) {
+        String validationMessage = validateInspect(qualityInspectDto, true);
+        if (validationMessage != null) {
+            return AjaxResult.error(validationMessage);
+        }
+        QualityInspect stored = qualityInspectService.getById(qualityInspectDto.getId());
+        if (stored == null) {
+            return AjaxResult.error("妫�楠岃褰曚笉瀛樺湪");
+        }
+        if (Integer.valueOf(1).equals(stored.getInspectState())) {
+            return AjaxResult.error("宸叉彁浜ょ殑妫�楠岃褰曚笉鑳戒慨鏀�");
+        }
         return AjaxResult.success(qualityInspectService.updateQualityInspect(qualityInspectDto));
     }
 
@@ -134,4 +150,43 @@
     public void down(HttpServletResponse response,@RequestBody QualityInspect qualityInspect) {
         qualityInspectService.down(response, qualityInspect);
     }
+
+    private String validateInspect(QualityInspectDto inspect, boolean requireId) {
+        if (inspect == null) {
+            return "妫�楠屾暟鎹笉鑳戒负绌�";
+        }
+        if (requireId && inspect.getId() == null) {
+            return "妫�楠岃褰旾D涓嶈兘涓虹┖";
+        }
+        if (inspect.getInspectType() == null || inspect.getInspectType() < 0 || inspect.getInspectType() > 2) {
+            return "妫�楠岀被鍒笉姝g‘";
+        }
+        if (inspect.getProductId() == null) {
+            return "璇烽�夋嫨浜у搧";
+        }
+        if (inspect.getCheckTime() == null) {
+            return "璇烽�夋嫨妫�娴嬫棩鏈�";
+        }
+        if (inspect.getQuantity() == null || inspect.getQuantity().signum() <= 0) {
+            return "妫�楠屾暟閲忓繀椤诲ぇ浜�0";
+        }
+        if (!"鍚堟牸".equals(inspect.getCheckResult()) && !"涓嶅悎鏍�".equals(inspect.getCheckResult())) {
+            return "璇烽�夋嫨鏈夋晥鐨勬娴嬬粨鏋�";
+        }
+        if (inspect.getInspectType() == 1 && StringUtils.isBlank(inspect.getProcess())) {
+            return "杩囩▼妫�楠屽繀椤婚�夋嫨宸ュ簭";
+        }
+        if (CollectionUtils.isEmpty(inspect.getQualityInspectParams())) {
+            return "褰撳墠浜у搧鏈厤缃楠屾寚鏍囷紝璇峰厛缁存姢鎸囨爣";
+        }
+        for (QualityInspectParam parameter : inspect.getQualityInspectParams()) {
+            if (StringUtils.isBlank(parameter.getParameterItem())) {
+                return "妫�楠岄」鐩笉鑳戒负绌�";
+            }
+            if (StringUtils.isBlank(parameter.getTestValue())) {
+                return "璇峰~鍐欌��" + parameter.getParameterItem() + "鈥濈殑妫�楠屽��";
+            }
+        }
+        return null;
+    }
 }

--
Gitblit v1.9.3