liurunyu
2024-12-27 27bd4b5c03bbc8b665ffecb87d6c2cae3262e503
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
@@ -9,6 +9,7 @@
import com.dy.pipIrrGlobal.util.Org;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
@@ -24,6 +25,8 @@
    private static Logger log = LogManager.getLogger(Test.class.getName()) ;
    private String orgTag ;
    private StLoss stLoss ;
    private StIntake stIntake ;
    private StClient stClient ;
@@ -35,13 +38,26 @@
    private Integer statisticsYear;
    private Integer statisticsMonth;
    private Integer statisticsDay;
    private Long statisticsStartId ;
    private Long statisticsEndId ;
    private Date statisticsStartDt ;
    private Date statisticsEndDt ;
    private Long statistics4DayStartId ;
    private Long statistics4DayEndId ;
    private Date statistics4DayStartDt ;
    private Date statistics4DayEndDt ;
    private Long statistics4MonthYearStartId ;
    private Long statistics4MonthYearEndId ;
    //private Date statistics4MonthYearStartDt ;
    //private Date statistics4MonthYearEndDt ;
    @Override
    public void execute(JobExecutionContext ctx) throws JobExecutionException {
        JobDataMap jobDataMap = ctx.getJobDetail().getJobDataMap() ;
        if(jobDataMap != null){
            orgTag = (String)jobDataMap.get(StatisticsListener.orgKey) ;
        }
        if(orgTag == null){
            return ;
        }
        DataSourceContext.set(orgTag);//设置数据源
        stLoss = SpringContextUtil.getBean(StLoss.class);
        stIntake = SpringContextUtil.getBean(StIntake.class);
        stClient = SpringContextUtil.getBean(StClient.class);
@@ -57,10 +73,10 @@
            statisticsYear = yesterdayGrp[0] ;//统计年
            statisticsMonth = yesterdayGrp[1] ;//统计月
            statisticsDay = yesterdayGrp[2] ;//统计日
            statisticsStartId = IDLongGenerator.generateOneDayStartId(statisticsYear, statisticsMonth, 1) ;
            statisticsEndId = IDLongGenerator.generateOneDayEndId(statisticsYear, statisticsMonth, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
            statisticsStartDt = DateTime.startOfDay(statisticsYear, statisticsMonth, statisticsDay) ;
            statisticsEndDt = DateTime.endOfDay(statisticsYear, statisticsMonth, statisticsDay) ;
            statistics4DayStartId = IDLongGenerator.generateOneDayStartId(statisticsYear, statisticsMonth, 1) ;
            statistics4DayEndId = IDLongGenerator.generateOneDayEndId(statisticsYear, statisticsMonth, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
            statistics4DayStartDt = DateTime.startOfDay(statisticsYear, statisticsMonth, statisticsDay) ;
            statistics4DayEndDt = DateTime.endOfDay(statisticsYear, statisticsMonth, statisticsDay) ;
            //统计日的量
            doStatisticsDay() ;
@@ -70,18 +86,18 @@
                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, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
                statisticsStartDt = DateTime.startOfDay(statisticsYear, statisticsMonth, 1) ;
                statisticsEndDt = DateTime.endOfDay(statisticsYear, statisticsMonth, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
                statistics4MonthYearStartId = IDLongGenerator.generateOneDayStartId(statisticsYear, statisticsMonth, 1) ;
                statistics4MonthYearEndId = IDLongGenerator.generateOneDayEndId(statisticsYear, statisticsMonth, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
                //statistics4MonthYearStartDt = DateTime.startOfDay(statisticsYear, statisticsMonth, 1) ;
                //statistics4MonthYearEndDt = DateTime.endOfDay(statisticsYear, statisticsMonth, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
            }else{
                //统计本月的
                statisticsYear = ymd[0] ;//统计年
                statisticsMonth =  ymd[1] ;//统计月
                statisticsStartId = IDLongGenerator.generateOneDayStartId(ymd[0], ymd[1], 1) ;
                statisticsEndId = IDLongGenerator.generateOneDayEndId(ymd[0], ymd[1], DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
                statisticsStartDt = DateTime.startOfDay(statisticsYear, statisticsMonth, 1) ;
                statisticsEndDt = DateTime.endOfDay(statisticsYear, statisticsMonth, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
                statistics4MonthYearStartId = IDLongGenerator.generateOneDayStartId(ymd[0], ymd[1], 1) ;
                statistics4MonthYearEndId = IDLongGenerator.generateOneDayEndId(ymd[0], ymd[1], DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
                //statistics4MonthYearStartDt = DateTime.startOfDay(statisticsYear, statisticsMonth, 1) ;
                //statistics4MonthYearEndDt = DateTime.endOfDay(statisticsYear, statisticsMonth, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
            }
            doStatisticsMonthAndYear() ;
        }else{
@@ -93,34 +109,22 @@
     * 统计
     */
    private void doStatisticsDay(){
        List<Org.OrgVo> orgList = Org.OrgList ;
        if(orgList != null && orgList.size() >0){
            for(Org.OrgVo vo : orgList){
                DataSourceContext.set(vo.tag);//设置数据源
                stChargeByIc.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statisticsStartId, statisticsEndId);
                stChargeByClient.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statisticsStartId, statisticsEndId);
                stConsumeByIc.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statisticsStartDt, statisticsEndDt);
                stConsumeByClient.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statisticsStartDt, statisticsEndDt);
            }
        }
        stChargeByIc.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statistics4DayStartId, statistics4DayEndId);
        stChargeByClient.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statistics4DayStartId, statistics4DayEndId);
        stConsumeByIc.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statistics4DayStartDt, statistics4DayEndDt);
        stConsumeByClient.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statistics4DayStartDt, statistics4DayEndDt);
    }
    /**
     * 统计
     */
    private void doStatisticsMonthAndYear(){
        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) ;
        stLoss.statistics(statisticsYear, statisticsMonth, statistics4MonthYearStartId, statistics4MonthYearEndId) ;
        stIntake.statistics(statisticsYear, statisticsMonth, statistics4MonthYearStartId, statistics4MonthYearEndId) ;
        stClient.statistics(statisticsYear, statisticsMonth, statistics4MonthYearStartId, statistics4MonthYearEndId) ;
                stChargeByIc.statistics4MonthAndYear(statisticsYear, statisticsMonth);
                stChargeByClient.statistics4MonthAndYear(statisticsYear, statisticsMonth);
                stConsumeByIc.statistics4MonthAndYear(statisticsYear, statisticsMonth);
                stConsumeByClient.statistics4MonthAndYear(statisticsYear, statisticsMonth);
            }
        }
        stChargeByIc.statistics4MonthAndYear(statisticsYear, statisticsMonth);
        stChargeByClient.statistics4MonthAndYear(statisticsYear, statisticsMonth);
        stConsumeByIc.statistics4MonthAndYear(statisticsYear, statisticsMonth);
        stConsumeByClient.statistics4MonthAndYear(statisticsYear, statisticsMonth);
    }
}