package com.dy.pipIrrStatistics.listeners;
|
|
import com.dy.common.schedulerTask.TaskJob;
|
import com.dy.common.schedulerTask.Test;
|
import com.dy.common.springUtil.SpringContextUtil;
|
import com.dy.common.util.DateTime;
|
import com.dy.common.util.IDLongGenerator;
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
import org.quartz.JobExecutionContext;
|
import org.quartz.JobExecutionException;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2024/7/22 16:41
|
* @Description
|
*/
|
public class StatisticsJob extends TaskJob {
|
|
private static Logger log = LogManager.getLogger(Test.class.getName()) ;
|
|
private StLoss stLoss ;
|
|
private StIntake stIntake ;
|
|
private StClient stClient ;
|
|
private String statisticsYyyy_mm;
|
private Long statisticsStartId ;
|
private Long statisticsEndId ;
|
|
@Override
|
public void execute(JobExecutionContext ctx) throws JobExecutionException {
|
stLoss = SpringContextUtil.getBean(StLoss.class);
|
stIntake = SpringContextUtil.getBean(StIntake.class);
|
stClient = SpringContextUtil.getBean(StClient.class);
|
if(stLoss != null && stIntake != null && stClient != null){
|
int[] ymd = DateTime.yyyy_MM_dd_2_ymdGroup(DateTime.yyyy_MM_dd()) ;
|
if(ymd[2] == 1){
|
//统计上个月的
|
statisticsYyyy_mm = DateTime.lastMonth_ym() ;//统计月
|
int lastYear = Integer.parseInt(statisticsYyyy_mm.substring(0, 4)) ;
|
int lastMonth = Integer.parseInt(statisticsYyyy_mm.substring(5, 7)) ;
|
statisticsStartId = IDLongGenerator.generateOneDayStartId(lastYear, lastMonth, 1) ;
|
statisticsEndId = IDLongGenerator.generateOneDayEndId(lastYear, lastMonth, 31) ;
|
}else{
|
//统计本月的
|
statisticsYyyy_mm = ymd[0] + "-" + ymd[1] ;//统计月
|
statisticsStartId = IDLongGenerator.generateOneDayStartId(ymd[0], ymd[1], 1) ;
|
statisticsEndId = IDLongGenerator.generateOneDayEndId(ymd[0], ymd[1], 31) ;
|
}
|
doStatistics() ;
|
}else{
|
log.error("未能从Spring容器中得到统计bean");
|
}
|
}
|
|
/**
|
* 统计
|
*/
|
private void doStatistics(){
|
stLoss.statistics(statisticsYyyy_mm, statisticsStartId, statisticsEndId) ;
|
stIntake.statistics(statisticsYyyy_mm, statisticsStartId, statisticsEndId) ;
|
stClient.statistics(statisticsYyyy_mm, statisticsStartId, statisticsEndId) ;
|
}
|
}
|