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/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java | 35 +++++++++++++++++++----------------
1 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java
index 2db55b4..9f270fa 100644
--- a/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java
+++ b/src/main/java/com/ruoyi/technology/service/impl/TechnologyRoutingOperationParamServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -90,23 +91,25 @@
);
}
int successCount = 0;
- for (TechnologyOperationParam operationParam : operationParamList) {
- boolean exists = technologyRoutingOperationParamMapper.selectCount(
- Wrappers.<TechnologyRoutingOperationParam>lambdaQuery()
- .eq(TechnologyRoutingOperationParam::getTechnologyRoutingOperationId, routingOperation.getId())
- .eq(TechnologyRoutingOperationParam::getTechnologyOperationParamId, operationParam.getId())
- ) > 0;
- if (!replaceExisting && exists) {
- continue;
+ if (CollectionUtils.isNotEmpty(operationParamList)) {
+ for (TechnologyOperationParam operationParam : operationParamList) {
+ boolean exists = technologyRoutingOperationParamMapper.selectCount(
+ Wrappers.<TechnologyRoutingOperationParam>lambdaQuery()
+ .eq(TechnologyRoutingOperationParam::getTechnologyRoutingOperationId, routingOperation.getId())
+ .eq(TechnologyRoutingOperationParam::getTechnologyOperationParamId, operationParam.getId())
+ ) > 0;
+ if (!replaceExisting && exists) {
+ continue;
+ }
+ TechnologyRoutingOperationParam snapshot = new TechnologyRoutingOperationParam();
+ snapshot.setTechnologyRoutingOperationId(routingOperation.getId());
+ snapshot.setTechnologyOperationParamId(operationParam.getId());
+ snapshot.setTechnologyOperationId(operationParam.getTechnologyOperationId());
+ snapshot.setStandardValue(operationParam.getStandardValue());
+ fillFromOperationParam(snapshot, routingOperation);
+ technologyRoutingOperationParamMapper.insert(snapshot);
+ successCount++;
}
- TechnologyRoutingOperationParam snapshot = new TechnologyRoutingOperationParam();
- snapshot.setTechnologyRoutingOperationId(routingOperation.getId());
- snapshot.setTechnologyOperationParamId(operationParam.getId());
- snapshot.setTechnologyOperationId(operationParam.getTechnologyOperationId());
- snapshot.setStandardValue(operationParam.getStandardValue());
- fillFromOperationParam(snapshot, routingOperation);
- technologyRoutingOperationParamMapper.insert(snapshot);
- successCount++;
}
return successCount;
}
--
Gitblit v1.9.3