From d6edd84479aed226bafe54d34d3f6eec2731c13b Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期四, 14 五月 2026 14:23:54 +0800
Subject: [PATCH] fix(sales): 解决销售台账合同号更新时的唯一性校验问题
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 65a4600..a98a415 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -829,7 +829,17 @@
salesLedger.setSalesContractNo(contractNo);
salesLedgerMapper.insert(salesLedger);
} else {
- salesLedger.setSalesContractNo(null);
+ if (StrUtil.isNotBlank(salesLedgerDto.getSalesContractNo())) {
+ SalesLedger existLedger = salesLedgerMapper.selectById(salesLedger.getId());
+ // 濡傛灉鍚堝悓鍙峰彂鐢熶簡鍙樺寲锛岄渶瑕佹牎楠屽敮涓�鎬�
+ if (!salesLedgerDto.getSalesContractNo().equals(existLedger.getSalesContractNo())) {
+ Assert.isTrue(salesLedgerMapper.selectOne(new LambdaQueryWrapper<SalesLedger>()
+ .eq(SalesLedger::getSalesContractNo, salesLedgerDto.getSalesContractNo())
+ .last("limit 1")) == null,
+ salesLedgerDto.getSalesContractNo() + "鍚堝悓鍙峰凡瀛樺湪");
+ }
+ salesLedger.setSalesContractNo(salesLedgerDto.getSalesContractNo());
+ }
salesLedgerMapper.updateById(salesLedger);
}
--
Gitblit v1.9.3