New file |
| | |
| | | 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) ; |
| | | } |
| | | } |
| | | } |
| | | } |