From 382b1b105abacd983061a000674ba7da446407d2 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 21 四月 2026 09:26:12 +0800
Subject: [PATCH] fix: 添加@EqualsAndHashCode注解

---
 src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 9 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 f70321b..3272508 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -7,8 +7,9 @@
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum;
-import com.ruoyi.common.enums.StockUnQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
+import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
 import com.ruoyi.common.utils.bean.BeanUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.procurementrecord.utils.StockUtils;
@@ -62,8 +63,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 "杩斿伐":
@@ -112,7 +121,7 @@
                                     }
                                 }
                                 // 鐢熸垚瀹屾暣鐨勫伐鍗曞彿
-                                String workOrderNoStr ="FG" +String.format("%s%03d", datePrefix, sequenceNumber);
+                                String workOrderNoStr = "FG" + String.format("%s%03d", datePrefix, sequenceNumber);
                                 ProductWorkOrder productWorkOrder = new ProductWorkOrder();
                                 productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
                                 productWorkOrder.setProductOrderId(order.getId());
@@ -126,19 +135,44 @@
                     break;
                 case "鎶ュ簾":
                     //璋冪敤涓嶅悎鏍煎簱瀛樻帴鍙� 鍏ヤ笉鍚堟牸搴�
-                    stockUtils.addUnStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
+                    stockUtils.addUnStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
                     break;
                 case "璁╂鏀捐":
                     //璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
-                    stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
-                    qualityInspect.setCheckResult("鍚堟牸");
-                    qualityInspectService.submit(qualityInspect);
+                    stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
                     break;
                 default:
                     break;
             }
+        } else {
+            // 鎵爜涓嶅悎鏍间紭鍏堜娇鐢� productModelId
+            Long modelId = unqualified.getProductModelId();
+            if (ObjectUtils.isNull(modelId)) {
+                modelId = qualityUnqualifiedMapper.getModelId(qualityUnqualified.getProductName(), qualityUnqualified.getModel());
+            }
+            if (ObjectUtils.isNull(modelId)) {
+                throw new RuntimeException("澶勭悊澶辫触,鏈壘鍒板搴斾骇鍝佽鏍�,璇锋鏌ヤ骇鍝佸悕绉板拰瑙勬牸鍨嬪彿");
+            }
+            switch (qualityUnqualified.getDealResult()) {
+                case "鎶ュ簾":
+                    //璋冪敤涓嶅悎鏍煎簱瀛樻帴鍙� 鍏ヤ笉鍚堟牸搴�
+                    stockUtils.addUnStock(modelId, unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
+                    break;
+                case "璁╂鏀捐":
+                    //璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
+                    stockUtils.addStock(modelId, unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
+                    break;
+                default:
+                    break;
+            }
+
         }
         qualityUnqualified.setInspectState(1);//宸插鐞�
         return qualityUnqualifiedMapper.updateById(qualityUnqualified);
     }
+
+    @Override
+    public QualityUnqualified getUnqualified(Integer id) {
+        return qualityUnqualifiedMapper.getUnqualified(id);
+    }
 }

--
Gitblit v1.9.3