buhuazhen
2026-04-22 07f3f5b5c2437a01923684064b8afa79bb57f448
fix(sales): 修复销售合同号重复校验逻辑

- 添加合同号唯一性校验,防止重复合同号插入
- 使用断言判断合同号是否已存在数据库中
- 修正断言条件,确保重复合同号时正确抛出异常
- 保留自动生成合同号的逻辑不变
已修改1个文件
4 ■■■■ 文件已修改
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -680,6 +680,10 @@
            if (salesLedger.getId() == null) {
                // 为空 自动生成
                String contractNo =StrUtil.isBlank(salesLedgerDto.getSalesContractNo())? generateSalesContractNoBy8Date():salesLedgerDto.getSalesContractNo();
                // 不能有重复数据的合同号
               Assert.isFalse(salesLedgerMapper.selectOne(new LambdaQueryWrapper<SalesLedger>()
                        .eq(SalesLedger::getSalesContractNo, contractNo)
                        .last("limit 1")) == null, contractNo+"合同号已存在");
                salesLedger.setSalesContractNo(contractNo);
                salesLedgerMapper.insert(salesLedger);
            } else {