From 432508320e929bb5ab37d58e8b8b885174b576c5 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 16 五月 2026 16:12:10 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro

---
 src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java |   31 +++++++++++++++++++------------
 src/main/java/com/ruoyi/quality/pojo/QualityInspect.java                    |   10 +++++++++-
 2 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/pojo/QualityInspect.java b/src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
index 9d8a07d..62b047a 100644
--- a/src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
+++ b/src/main/java/com/ruoyi/quality/pojo/QualityInspect.java
@@ -96,9 +96,17 @@
     /**
      * 鏁伴噺
      */
-    @Excel(name = "鏁伴噺")
+    @Excel(name = "鎬绘暟閲�")
     private BigDecimal quantity;
 
+    @Excel(name = "鍚堟牸鏁伴噺")
+    @TableField("qualified_quantity")
+    private BigDecimal qualifiedQuantity;
+
+    @Excel(name = "涓嶅悎鏍兼暟閲�")
+    @TableField("unqualified_quantity")
+    private BigDecimal unqualifiedQuantity;
+
     /**
      * 妫�娴嬪崟浣�
      */
diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
index b23bb67..625ff8b 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityInspectServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.quality.service.impl;
 
 
+import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -35,6 +36,7 @@
 
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -92,17 +94,10 @@
         if (ObjectUtils.isNull(qualityInspect.getCheckResult())) {
             throw new RuntimeException("璇峰厛鍒ゆ柇鏄惁鍚堟牸");
         }
-        /*鍒ゆ柇涓嶅悎鏍�*/
-        if (qualityInspect.getCheckResult().equals("涓嶅悎鏍�")) {
-            QualityUnqualified qualityUnqualified = new QualityUnqualified();
-            BeanUtils.copyProperties(qualityInspect, qualityUnqualified);
-            qualityUnqualified.setInspectState(0);//寰呭鐞�
-            List<QualityInspectParam> inspectParams = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, inspect.getId()));
-            String text = inspectParams.stream().map(QualityInspectParam::getParameterItem).collect(Collectors.joining(","));
-            qualityUnqualified.setDefectivePhenomena(text + "杩欎簺鎸囨爣涓瓨鍦ㄤ笉鍚堟牸");//涓嶅悎鏍肩幇璞�
-            qualityUnqualified.setInspectId(qualityInspect.getId());
-            qualityUnqualifiedMapper.insert(qualityUnqualified);
-        } else {
+
+        // 鍖哄垎鍚堟牸鏁伴噺浠ュ強涓嶅悎鏍煎鐞嗚繘琛屽搴旂殑澶勭悊
+        Assert.isTrue(qualityInspect.getQuantity().compareTo(qualityInspect.getQualifiedQuantity().add(qualityInspect.getUnqualifiedQuantity())) == 0,"璇锋鏌ュ悎鏍兼暟閲忓拰涓嶅悎鏍兼暟閲忥紝闇�瑕佸悎鏍兼暟閲�+涓嶅悎鏍兼暟閲忎笌鎬绘暟淇濇寔涓�鑷�");
+        if(qualityInspect.getQualifiedQuantity().compareTo(BigDecimal.ZERO) > 0){
             //鍚堟牸鐩存帴鍏ュ簱
             // stockUtils.addStock(qualityInspect.getProductModelId(), qualityInspect.getQuantity(), StockInQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), qualityInspect.getId());
             //浠呮坊鍔犲叆搴撹褰�
@@ -114,13 +109,25 @@
             }
             stockInventoryDto.setRecordId(qualityInspect.getId());
             stockInventoryDto.setProductModelId(qualityInspect.getProductModelId());
-            stockInventoryDto.setQualitity(qualityInspect.getQuantity());
+            stockInventoryDto.setQualitity(qualityInspect.getQualifiedQuantity());
             stockInventoryDto.setBatchNo(resolveProductionBatchNo(
                     qualityInspect.getProductMainId(),
                     qualityInspect.getId(),
                     qualityInspect.getProductModelId()));
             stockInventoryService.addStockInRecordOnly(stockInventoryDto);
         }
+        if(qualityInspect.getUnqualifiedQuantity().compareTo(BigDecimal.ZERO) > 0){
+            QualityUnqualified qualityUnqualified = new QualityUnqualified();
+            BeanUtils.copyProperties(qualityInspect, qualityUnqualified);
+            qualityUnqualified.setInspectState(0);//寰呭鐞�
+            qualityUnqualified.setQuantity(qualityInspect.getUnqualifiedQuantity());
+            List<QualityInspectParam> inspectParams = qualityInspectParamService.list(Wrappers.<QualityInspectParam>lambdaQuery().eq(QualityInspectParam::getInspectId, inspect.getId()));
+            String text = inspectParams.stream().map(QualityInspectParam::getParameterItem).collect(Collectors.joining(","));
+            qualityUnqualified.setDefectivePhenomena(text + "杩欎簺鎸囨爣涓瓨鍦ㄤ笉鍚堟牸");//涓嶅悎鏍肩幇璞�
+            qualityUnqualified.setInspectId(qualityInspect.getId());
+            qualityUnqualifiedMapper.insert(qualityUnqualified);
+        }
+
         qualityInspect.setInspectState(1);//宸叉彁浜�
         return qualityInspectMapper.updateById(qualityInspect);
     }

--
Gitblit v1.9.3