From 260dd6fe156265832544715192ce1491e9c2afd6 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 26 六月 2026 13:41:13 +0800
Subject: [PATCH] fix(stock): 解决库存管理中的重复键异常问题 - 在采购台账服务中添加净合同金额字段设置 - 在销售台账服务中添加净合同金额字段设置 - 在入库记录服务中为库存插入操作添加重复键异常处理 - 在入库记录服务中为非库存插入操作添加重复键异常处理 - 在库存服务中为库存插入操作添加重复键异常处理 - 统一处理数据库唯一键约束冲突,避免系统错误

---
 src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardBindingServiceImpl.java |   30 +++++++++++++++++++++++-------
 1 files changed, 23 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..a581977 100644
--- a/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardBindingServiceImpl.java
+++ b/src/main/java/com/ruoyi/quality/service/impl/QualityTestStandardBindingServiceImpl.java
@@ -1,11 +1,12 @@
 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.List;
@@ -19,13 +20,28 @@
  * @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) {
+        //鍒ゆ柇鏄惁宸茬粡鏈夌粦瀹氳繃鐨勬暟鎹�
+        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){
+                throw new RuntimeException("璇ヤ骇鍝佸凡缁忕粦瀹氳繃,璇锋鏌�");
+            }
+        }
+        saveBatch(qualityTestStandardBindings);
+        return 0;
+    }
 }

--
Gitblit v1.9.3