From dbf189b39a161a0be437348c3e6c6f646dd15864 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 20 一月 2026 18:07:30 +0800
Subject: [PATCH] 生产和采购对接质量

---
 src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java |   14 +++++++++-----
 src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java          |   11 ++++++-----
 src/main/resources/mapper/quality/QualityTestStandardMapper.xml                       |    1 +
 3 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
index 67d8bba..5d1e454 100644
--- a/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
+++ b/src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -75,6 +75,7 @@
 
     private QualityTestStandardParamMapper qualityTestStandardParamMapper;
     private QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
+    private QualityTestStandardMapper qualityTestStandardMapper;
 
     private QualityInspectParamMapper qualityInspectParamMapper;
 
@@ -189,12 +190,15 @@
         productionProductOutput.setProductModelId(productProcessRouteItem.getProductModelId());
         productionProductOutput.setQuantity(dto.getQuantity() != null ? dto.getQuantity() : BigDecimal.ZERO);
         productionProductOutputMapper.insert(productionProductOutput);
+        /*鏂板璐ㄦ*/
         //瀵瑰簲鐨勮繃绋嬫鎴栬�呭嚭鍘傛
         List<ProductProcessRouteItem> productProcessRouteItems = productProcessRouteItemMapper.selectList(Wrappers.<ProductProcessRouteItem>lambdaQuery().eq(ProductProcessRouteItem::getProductRouteId, productProcessRouteItem.getProductRouteId()));
         int inspectType = 1;
+        String process = productProcess.getName();//宸ュ簭
         if (productProcessRouteItem.getDragSort()==productProcessRouteItems.size()){
             //鏈�鍚庝竴閬撳伐搴忕敓鎴愬嚭鍘傛
             inspectType = 2;
+            process = null;
         }
         Product product = productMapper.selectById(productModel.getProductId());
         QualityInspect qualityInspect = new QualityInspect();
@@ -209,12 +213,12 @@
         qualityInspect.setProductMainId(productionProductMain.getId());
         qualityInspect.setProductModelId(productModel.getId());
         qualityInspectMapper.insert(qualityInspect);
-        List<QualityTestStandardBinding> qualityTestStandardBindings = qualityTestStandardBindingMapper.selectList(
-                new LambdaQueryWrapper<QualityTestStandardBinding>()
-                        .eq(QualityTestStandardBinding::getProductId, product.getId()));
-        if (qualityTestStandardBindings.size()>0){
+        List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(product.getId(), inspectType,process);
+        if (qualityTestStandard.size()>0){
+            qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+            qualityInspectMapper.updateById(qualityInspect);
             qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
-                    .eq(QualityTestStandardParam::getTestStandardId,qualityTestStandardBindings.get(0).getTestStandardId()))
+                    .eq(QualityTestStandardParam::getTestStandardId,qualityTestStandard.get(0).getId()))//榛樿鑾峰彇鏈�鏂扮殑
                     .forEach(qualityTestStandardParam -> {
                 QualityInspectParam param = new QualityInspectParam();
                 BeanUtils.copyProperties(qualityTestStandardParam, param);
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index 9c115c0..257313f 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -108,6 +108,7 @@
     private final QualityInspectMapper qualityInspectMapper;
     private final QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
     private final QualityTestStandardParamMapper qualityTestStandardParamMapper;
+    private final QualityTestStandardMapper qualityTestStandardMapper;
     private final QualityInspectParamMapper qualityInspectParamMapper;
 
     private final ProcurementRecordMapper procurementRecordStorageMapper;
@@ -229,12 +230,12 @@
         qualityInspect.setUnit(saleProduct.getUnit());
         qualityInspect.setQuantity(saleProduct.getQuantity());
         qualityInspectMapper.insert(qualityInspect);
-        List<QualityTestStandardBinding> qualityTestStandardBindings = qualityTestStandardBindingMapper.selectList(
-                new LambdaQueryWrapper<QualityTestStandardBinding>()
-                        .eq(QualityTestStandardBinding::getProductId, saleProduct.getProductId()));
-        if (qualityTestStandardBindings.size()>0){
+        List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(saleProduct.getProductId(), 0,null);
+        if (qualityTestStandard.size()>0){
+            qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+            qualityInspectMapper.updateById(qualityInspect);
             qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
-                    .eq(QualityTestStandardParam::getTestStandardId,qualityTestStandardBindings.get(0).getTestStandardId()))
+                    .eq(QualityTestStandardParam::getTestStandardId,qualityTestStandard.get(0).getId()))
                     .forEach(qualityTestStandardParam -> {
                         QualityInspectParam param = new QualityInspectParam();
                         com.ruoyi.common.utils.bean.BeanUtils.copyProperties(qualityTestStandardParam, param);
diff --git a/src/main/resources/mapper/quality/QualityTestStandardMapper.xml b/src/main/resources/mapper/quality/QualityTestStandardMapper.xml
index cd3fb66..b9ad8ed 100644
--- a/src/main/resources/mapper/quality/QualityTestStandardMapper.xml
+++ b/src/main/resources/mapper/quality/QualityTestStandardMapper.xml
@@ -30,5 +30,6 @@
         <if test="process!='' and process!=null">
             and pp.name = #{process}
         </if>
+        order by qts.id desc
     </select>
 </mapper>

--
Gitblit v1.9.3