wujianwei
2026-03-20 1e89b00b0919a19504f32b56fb1ef80298799ec4
service/src/main/java/com/ruoyi/cwgl/service/impl/ReceivableBillManagementServiceImpl.java
@@ -1,10 +1,14 @@
package com.ruoyi.cwgl.service.impl;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import javax.annotation.Resource;
import com.ruoyi.cwgl.domain.ReceivableBillCustomerSummary;
import com.ruoyi.cwgl.domain.vo.ReceivableBillAgingAnalysisVo;
import com.ruoyi.cwgl.mapper.ReceivableFeeManagementMapper;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.stereotype.Service;
@@ -143,7 +147,19 @@
    public int updateReceivableBillManagement(ReceivableBillManagement receivableBillManagement)
    {
        receivableBillManagement.setUpdateTime(DateUtils.getNowDate());
        return receivableBillManagementMapper.updateReceivableBillManagement(receivableBillManagement);
        int result = receivableBillManagementMapper.updateReceivableBillManagement(receivableBillManagement);
        // 记录操作日志
        if (result > 0) {
            ReceivableBillManagementLog log = new ReceivableBillManagementLog();
            log.setBillId(receivableBillManagement.getId());
            log.setCreateBy(SecurityUtils.getUsername());
            log.setCreateTime(DateUtils.getNowDate());
            log.setOperation("修改应收账单,账单编号:" + receivableBillManagement.getSystemNo());
            receivableBillManagementLogService.insertReceivableBillManagementLog(log);
        }
        return result;
    }
    /**
@@ -258,4 +274,45 @@
    {
        return receivableBillManagementMapper.selectReceivableBillManagementBySystemNo(systemNo);
    }
    /**
     * 查询应收账单客户汇总列表
     *
     * @param receivableBillManagement 查询条件
     * @return 应收账单客户汇总列表
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<ReceivableBillCustomerSummary> selectReceivableBillCustomerSummaryList(ReceivableBillManagement receivableBillManagement)
    {
        return receivableBillManagementMapper.selectReceivableBillCustomerSummaryList(receivableBillManagement);
    }
    /**
     * 查询应收账单账龄分析列表
     *
     * @param receivableBillManagement 查询条件
     * @return 应收账单账龄分析列表
     */
    @DataSource(DataSourceType.SLAVE)
    @Override
    public List<ReceivableBillAgingAnalysisVo> selectReceivableBillAgingAnalysisList(ReceivableBillManagement receivableBillManagement)
    {
        // 直接查询数据库中的预计算账龄数据
        List<ReceivableBillAgingAnalysisVo> result = receivableBillManagementMapper.selectReceivableBillAgingAnalysisList(receivableBillManagement);
        return result;
    }
    /**
     * 批量更新应收账单账龄分析数据
     * 直接在数据库层面计算账龄分段,避免查询大量数据到应用层
     *
     * @return 更新的记录数
     */
    @Override
    public int batchUpdateAgingAnalysisData()
    {
        return receivableBillManagementMapper.batchUpdateAgingAnalysisData();
    }
}