| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package com.shkpr.service.aimodelpower.bizmgr;
- import com.shkpr.service.aimodelpower.commproperties.CollectProperties;
- import com.shkpr.service.aimodelpower.components.WaterVolumeCollector;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
- import org.springframework.stereotype.Component;
- import javax.annotation.PostConstruct;
- /**
- * 水量管理
- *
- * @author 欧阳劲驰
- * @serial 1.0.4
- */
- @Component
- public class WaterVolumeBizMgr {
- final
- ThreadPoolTaskExecutor taskScheduler;
- final
- CollectProperties collectProperties;
- final
- WaterVolumeCollector waterVolumeCollector;
- public WaterVolumeBizMgr(@Qualifier("taskExecutor") ThreadPoolTaskExecutor taskScheduler
- , CollectProperties collectProperties
- , WaterVolumeCollector waterVolumeCollector) {
- this.taskScheduler = taskScheduler;
- this.collectProperties = collectProperties;
- this.waterVolumeCollector = waterVolumeCollector;
- }
- /**
- * 初始化
- */
- @PostConstruct
- public void init() {
- //采集4天数据
- if (collectProperties.getBusinessCollected()) {
- taskScheduler.execute(() -> waterVolumeCollector.collectBusinessMinuteData(4 * 24, null));
- taskScheduler.execute(() -> waterVolumeCollector.collectBusinessHourData(4 * 24, null));
- }
- taskScheduler.execute(() -> waterVolumeCollector.collectDifferenceMinuteData(4 * 24, null));
- taskScheduler.execute(() -> waterVolumeCollector.collectDifferenceHourData(4 * 24, null));
- taskScheduler.execute(() -> waterVolumeCollector.collectRawData(4 * 24, null));
- }
- /**
- * 分钟任务
- */
- @Scheduled(cron = "0 */10 * * * *")
- public void minuteTask() {
- //采集营业所1小时的分钟数据
- if (collectProperties.getBusinessCollected())
- taskScheduler.execute(() -> waterVolumeCollector.collectBusinessMinuteData(1, null));
- //采集1小时的分钟数据
- taskScheduler.execute(() -> waterVolumeCollector.collectDifferenceMinuteData(1, null));
- }
- /**
- * 小时任务
- */
- @Scheduled(cron = "0 5 * * * *")
- public void hourTask() {
- //采集营业所2小时的小时数据
- if (collectProperties.getBusinessCollected())
- taskScheduler.execute(() -> waterVolumeCollector.collectBusinessHourData(2, null));
- //采集2小时的小时数据
- taskScheduler.execute(() -> waterVolumeCollector.collectDifferenceHourData(2, null));
- }
- /**
- * 日任务
- */
- @Scheduled(cron = "0 5 0 * * ?")
- public void dayTask() {
- //采集次日的原始数据
- taskScheduler.execute(() -> waterVolumeCollector.collectRawData(24, null));
- }
- }
|