From c6ff68e28769365e26c228ab59c88a42861dcb0d Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 08 五月 2026 21:14:00 +0800
Subject: [PATCH] fix: 不合格处理查询产品错误

---
 src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
index 1650690..c34071b 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
 import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
 import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.procurementrecord.utils.StockUtils;
@@ -63,8 +64,16 @@
     @Override
     public int deal(QualityUnqualified qualityUnqualified) {
         QualityUnqualified unqualified = qualityUnqualifiedMapper.selectById(qualityUnqualified.getId());
-        QualityInspect qualityInspect = qualityInspectService.getById(unqualified.getInspectId());
-        if (ObjectUtils.isNotNull(qualityInspect) && qualityInspect.getInspectType() != 0) {
+        if (ObjectUtils.isNull(unqualified)) {
+            throw new RuntimeException("涓嶅悎鏍艰褰曚笉瀛樺湪");
+        }
+        QualityInspect qualityInspect = null;
+        if (ObjectUtils.isNotNull(unqualified.getInspectId())) {
+            qualityInspect = qualityInspectService.getById(unqualified.getInspectId());
+        }
+        if (ObjectUtils.isNotNull(unqualified.getInspectId())
+                && ObjectUtils.isNotNull(qualityInspect)
+                && qualityInspect.getInspectType() != 0) {
             switch (qualityUnqualified.getDealResult()) {
                 case "杩斾慨":
                 case "杩斿伐":
@@ -137,8 +146,20 @@
                     break;
             }
         } else {
-            //鏌ヨ瀵瑰簲鐨勮鏍煎瀷鍙穒d
-            Long modelId = qualityUnqualifiedMapper.getModelId(qualityUnqualified.getProductName(), qualityUnqualified.getModel());
+            // 鎵爜涓嶅悎鏍间紭鍏堜娇鐢� productModelId
+            Long modelId = unqualified.getProductModelId();
+            if (ObjectUtils.isNull(modelId)) {
+//                modelId = qualityUnqualifiedMapper.getModelId(qualityUnqualified.getProductName(), qualityUnqualified.getModel());
+                if (ObjectUtils.isNotNull(unqualified.getModel())) {
+                    modelId = Long.valueOf(unqualified.getModel());
+                }
+                if (ObjectUtils.isNull(modelId)) {
+                    throw new ServiceException("澶勭悊澶辫触,涓嶅悎鏍间骇鍝佷笉瀛樺湪");
+                }
+            }
+            if (ObjectUtils.isNull(modelId)) {
+                throw new RuntimeException("澶勭悊澶辫触,鏈壘鍒板搴斾骇鍝佽鏍�,璇锋鏌ヤ骇鍝佸悕绉板拰瑙勬牸鍨嬪彿");
+            }
             switch (qualityUnqualified.getDealResult()) {
                 case "鎶ュ簾":
                     //璋冪敤涓嶅悎鏍煎簱瀛樻帴鍙� 鍏ヤ笉鍚堟牸搴�

--
Gitblit v1.9.3