baoshiwei
2025-06-18 318ebac926b9627a683c4ab90d4e2b7451b1e573
src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java
@@ -98,4 +98,42 @@
            log.error("手动触发{}统计任务执行失败:{}", timeType, e.getMessage(), e);
        }
    }
    @Scheduled(cron = "0 * * * * ?")
    public void totalElectricityTask() {
        try {
            LocalDateTime now = LocalDateTime.now();
            log.info("开始执行全厂总电量统计任务,处理时间:{}", now);
            dataCleaningService.calculateTotalElectricity(now);
            log.info("全厂总电量统计任务执行完成");
        } catch (Exception e) {
            log.error("全厂总电量统计任务执行失败:{}", e.getMessage(), e);
        }
    }
    /**
     * 每分钟执行一次,统计当前小时、当天、当月和当年的用电量
     */
    @Scheduled(cron = "0 * * * * ?")
    public void periodicElectricityStatisticsTask() {
        try {
            LocalDateTime now = LocalDateTime.now();
            log.info("开始执行周期性用电量统计任务,处理时间:{}", now);
            // 统计当前小时用电量
            dataCleaningService.calculateHourlyElectricity(now);
            // 统计当天用电量
            dataCleaningService.calculateDailyElectricity(now);
            // 统计当月用电量
            dataCleaningService.calculateMonthlyElectricity(now);
            // 统计当年用电量
            dataCleaningService.calculateYearlyElectricity(now);
            log.info("周期性用电量统计任务执行完成");
        } catch (Exception e) {
            log.error("周期性用电量统计任务执行失败:{}", e.getMessage(), e);
        }
    }
}