From 2c38fb7ab234af82a0575c828e7c2b696f74c441 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 21 四月 2026 09:51:24 +0800
Subject: [PATCH] feat: 采购业务汇总统计接口

---
 src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 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 bb1a851..3272508 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityUnqualifiedServiceImpl.java
@@ -63,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 "杩斿伐":
@@ -132,21 +140,27 @@
                 case "璁╂鏀捐":
                     //璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
                     stockUtils.addStock(qualityInspect.getProductModelId(), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
-                    qualityInspect.setCheckResult("鍚堟牸");
-                    qualityInspectService.submit(qualityInspect);
                     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(Long.valueOf(unqualified.getModel()), unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
+                    stockUtils.addUnStock(modelId, unqualified.getQuantity(), StockInUnQualifiedRecordTypeEnum.DEFECTIVE_SCRAP.getCode(), unqualified.getId());
                     break;
                 case "璁╂鏀捐":
                     //璋冪敤鎻愪氦鍚堟牸鐨勬帴鍙�
-                    stockUtils.addStock(Long.valueOf(unqualified.getModel()), unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
+                    stockUtils.addStock(modelId, unqualified.getQuantity(), StockInQualifiedRecordTypeEnum.DEFECTIVE_PASS.getCode(), unqualified.getId());
                     break;
                 default:
                     break;

--
Gitblit v1.9.3