pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java
@@ -6,14 +6,13 @@
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.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.util.Date;
import java.util.List;
/**
 * @Author: liurunyu
@@ -24,9 +23,11 @@
    private static Logger log = LogManager.getLogger(Test.class.getName()) ;
    private StLoss stLoss ;
    private StIntake stIntake ;
    private StClient stClient ;
    private String orgTag ;
    private StLossAmount stLossAmount;
    private StIntakeAmount stIntakeAmount;
    private StClientAmount stClientAmount;
    private StChargeByIc stChargeByIc ;
    private StChargeByClient stChargeByClient ;
    private StConsumeByIc stConsumeByIc ;
@@ -35,21 +36,34 @@
    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 {
        stLoss = SpringContextUtil.getBean(StLoss.class);
        stIntake = SpringContextUtil.getBean(StIntake.class);
        stClient = SpringContextUtil.getBean(StClient.class);
        JobDataMap jobDataMap = ctx.getJobDetail().getJobDataMap() ;
        if(jobDataMap != null){
            orgTag = (String)jobDataMap.get(StatisticsListener.orgKey) ;
        }
        if(orgTag == null){
            return ;
        }
        DataSourceContext.set(orgTag);//设置数据源
        stLossAmount = SpringContextUtil.getBean(StLossAmount.class);
        stIntakeAmount = SpringContextUtil.getBean(StIntakeAmount.class);
        stClientAmount = SpringContextUtil.getBean(StClientAmount.class);
        stChargeByIc = SpringContextUtil.getBean(StChargeByIc.class);
        stChargeByClient = SpringContextUtil.getBean(StChargeByClient.class);
        stConsumeByIc = SpringContextUtil.getBean(StConsumeByIc.class);
        stConsumeByClient = SpringContextUtil.getBean(StConsumeByClient.class);
        if(stLoss != null && stIntake != null && stClient != null
        if(stLossAmount != null && stIntakeAmount != null && stClientAmount != null
                && stChargeByIc != null && stChargeByClient != null
                && stConsumeByIc != null && stConsumeByClient != null){
            String yesterday = DateTime.lastXDay_yyyy_MM_dd(1) ;//得到昨天,零晨时刻统计,统计昨天的数
@@ -57,10 +71,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, statisticsDay) ;
            statistics4DayEndId = IDLongGenerator.generateOneDayEndId(statisticsYear, statisticsMonth, statisticsDay) ;
            statistics4DayStartDt = DateTime.startOfDay(statisticsYear, statisticsMonth, statisticsDay) ;
            statistics4DayEndDt = DateTime.endOfDay(statisticsYear, statisticsMonth, statisticsDay) ;
            //统计日的量
            doStatisticsDay() ;
@@ -70,18 +84,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 +107,23 @@
     * 统计
     */
    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);
            }
        }
        stClientAmount.statistics4Day(statisticsYear, statisticsMonth, statisticsDay, statistics4DayStartId, statistics4DayEndId) ;
        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) ;
        stLossAmount.statistics(statisticsYear, statisticsMonth, statistics4MonthYearStartId, statistics4MonthYearEndId) ;
        stIntakeAmount.statistics(statisticsYear, statisticsMonth, statistics4MonthYearStartId, statistics4MonthYearEndId) ;
        stClientAmount.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);
    }
}