package com.dy.pipIrrStatistics.statistics;
|
|
import com.dy.common.multiDataSource.DataSourceContext;
|
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 com.dy.pipIrrGlobal.util.Org;
|
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.Logger;
|
import org.quartz.JobExecutionContext;
|
import org.quartz.JobExecutionException;
|
|
import java.util.List;
|
|
/**
|
* @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 Integer statisticsYear;
|
private Integer statisticsMonth;
|
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){
|
//统计上个月的
|
String statisticsYyyy_mm = DateTime.lastMonth_ym() ; //统计年月
|
statisticsYear = Integer.parseInt(statisticsYyyy_mm.substring(0, 4)) ;//统计年
|
statisticsMonth = Integer.parseInt(statisticsYyyy_mm.substring(5, 7)) ;//统计月
|
statisticsStartId = IDLongGenerator.generateOneDayStartId(statisticsYear, statisticsMonth, 1) ;
|
statisticsEndId = IDLongGenerator.generateOneDayEndId(statisticsYear, statisticsMonth, 31) ;
|
}else{
|
//统计本月的
|
statisticsYear = ymd[0] ;//统计月
|
statisticsMonth = 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(){
|
List<Org.OrgVo> orgList = Org.OrgList ;
|
if(orgList != null && orgList.size() >0){
|
for(Org.OrgVo vo : orgList){
|
DataSourceContext.set(vo.tag);//设置数据源
|
stLoss.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
|
stIntake.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
|
stClient.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
|
}
|
}
|
}
|
}
|