From 39524d5ea08e1b7057d4da819858199a9e195f75 Mon Sep 17 00:00:00 2001
From: yuan <123@>
Date: 星期三, 15 七月 2026 13:50:58 +0800
Subject: [PATCH] fix: 修改新增绑定逻辑,避免重复绑定产品

---
 src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardBindingServiceImpl.java |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardBindingServiceImpl.java b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardBindingServiceImpl.java
index 1b372ec..8db41d6 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardBindingServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardBindingServiceImpl.java
@@ -1,13 +1,15 @@
 package com.ruoyi.quality.service.impl;
 
-import com.ruoyi.quality.dto.QualityTestStandardBindingDto;
-import com.ruoyi.quality.pojo.QualityTestStandardBinding;
-import com.ruoyi.quality.mapper.QualityTestStandardBindingMapper;
-import com.ruoyi.quality.service.QualityTestStandardBindingService;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.ruoyi.quality.dto.QualityTestStandardBindingDto;
+import com.ruoyi.quality.mapper.QualityTestStandardBindingMapper;
+import com.ruoyi.quality.pojo.QualityTestStandardBinding;
+import com.ruoyi.quality.service.QualityTestStandardBindingService;
+import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -19,13 +21,30 @@
  * @since 2026-01-13 03:39:40
  */
 @Service
+@RequiredArgsConstructor
 public class QualityTestStandardBindingServiceImpl extends ServiceImpl<QualityTestStandardBindingMapper, QualityTestStandardBinding> implements QualityTestStandardBindingService {
 
-    @Autowired
-    private QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
+    private final QualityTestStandardBindingMapper qualityTestStandardBindingMapper;
 
     @Override
     public List<QualityTestStandardBindingDto> listBinding(Long testStandardId) {
         return qualityTestStandardBindingMapper.listBinding(testStandardId);
     }
+
+    @Override
+    public int add(List<QualityTestStandardBinding> qualityTestStandardBindings) {
+        ArrayList<QualityTestStandardBinding> qualityTestStandardBindings1 = new ArrayList<>(qualityTestStandardBindings.size());
+        //鍒ゆ柇鏄惁宸茬粡鏈夌粦瀹氳繃鐨勬暟鎹�
+        for (QualityTestStandardBinding qualityTestStandardBinding : qualityTestStandardBindings) {
+            List<QualityTestStandardBinding> testStandardBindings = qualityTestStandardBindingMapper.selectList(Wrappers.<QualityTestStandardBinding>lambdaQuery()
+                    .eq(QualityTestStandardBinding::getTestStandardId, qualityTestStandardBinding.getTestStandardId())
+                    .eq(QualityTestStandardBinding::getProductId, qualityTestStandardBinding.getProductId()));
+            if (testStandardBindings.size() > 0){
+                continue;
+            }
+            qualityTestStandardBindings1.add(qualityTestStandardBinding);
+        }
+        saveBatch(qualityTestStandardBindings1);
+        return 0;
+    }
 }

--
Gitblit v1.9.3