buhuazhen
2026-04-22 f088078e626e16b28d69cdbcbf514b30f1dcefe7
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -664,12 +664,13 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public int addOrUpdateSalesLedger(SalesLedgerDto salesLedgerDto) {
        try {
            // 1. 校验客户信息
            CustomerPrivatePoolDto customer = customerPrivatePoolMapper.selectInfo(salesLedgerDto.getCustomerId());
            if (customer == null) {
                throw new BaseException("客户不存在");
            }
            // 必须填写销售合同号
//            Assert.notNull(salesLedgerDto.getSalesContractNo(), "销售合同号不能为空");
            // 2. DTO转Entity
            SalesLedger salesLedger = convertToEntity(salesLedgerDto);
@@ -677,10 +678,12 @@
            salesLedger.setTenantId(customer.getTenantId());
            // 3. 新增或更新主表
            if (salesLedger.getId() == null) {
                String contractNo = generateSalesContractNoBy8Date();
                // 为空 自动生成
                String contractNo =StrUtil.isBlank(salesLedgerDto.getSalesContractNo())? generateSalesContractNoBy8Date():salesLedgerDto.getSalesContractNo();
                salesLedger.setSalesContractNo(contractNo);
                salesLedgerMapper.insert(salesLedger);
            } else {
                salesLedger.setSalesContractNo(null);
                salesLedgerMapper.updateById(salesLedger);
            }
@@ -696,6 +699,7 @@
                        SalesLedger.class
                );
            }
        try {
            // 5. 迁移临时文件到正式目录
            if (salesLedgerDto.getTempFileIds() != null && !salesLedgerDto.getTempFileIds().isEmpty()) {