package com.ruoyi.quartz.task; import com.ruoyi.cwgl.domain.ReceivableBillManagement; import com.ruoyi.cwgl.service.IReceivableBillManagementService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * 应收账单账龄分析定时任务 * 每天更新应收账单的账龄分析数据 * * @author ruoyi */ @Component("receivableBillAgingTask") public class ReceivableBillAgingTask { private static Logger logger = LoggerFactory.getLogger(ReceivableBillAgingTask.class); @Autowired private IReceivableBillManagementService receivableBillManagementService; /** * 更新应收账单账龄分析数据 * 每天凌晨执行,使用数据库层面批量更新,性能最优 */ public void updateAgingAnalysisData() { try { logger.info("开始执行应收账单账龄分析数据更新任务"); // 使用数据库层面批量更新,避免查询数据到应用层 int updatedCount = receivableBillManagementService.batchUpdateAgingAnalysisData(); logger.info("应收账单账龄分析数据更新任务完成,共更新 {} 条记录", updatedCount); } catch (Exception e) { logger.error("应收账单账龄分析数据更新任务执行失败", e); } } }