13ec051c5a960d3e12290aae053ba6fa4923536f..fec59214c5b08c24d390cade902d64c65dff90da
2026-05-14 buhuazhen
feat(生产工单): 修正成品名称返回
fec592 对比 | 目录
2026-05-14 liyong
fix(sales): 解决销售台账合同号更新时的唯一性校验问题
d6edd8 对比 | 目录
已修改2个文件
14 ■■■■ 文件已修改
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/production/ProductWorkOrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        }
src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -47,7 +47,7 @@
                LEFT JOIN product_process pp ON pp.id = ppri.process_id
                LEFT JOIN product_model pm ON pm.id = ppri.product_model_id
                LEFT JOIN product p ON p.id = pm.product_id
                left join product_model t7 on t7.product_id = po.product_model_id
                left join product_model t7 on t7.id = po.product_model_id
        <where>
            <if test="c.workOrderNo != null and c.workOrderNo != ''">
                pwo.work_order_no like concat('%', #{c.workOrderNo}, '%')