From b8470f5e90d0aed22bf2c4bf9f5d2a13cd60b15f Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 30 十二月 2024 14:03:41 +0800 Subject: [PATCH] 1、统计模块实现农户日用水量纵转横转存,月、年用水量统计; 2、临时模块农户日用水量纵转横转存,月、年用水量统计; --- pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java | 106 +++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 78 insertions(+), 28 deletions(-) diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java index 0f4af36..a99463a 100644 --- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java +++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java @@ -6,13 +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.List; +import java.util.Date; /** * @Author: liurunyu @@ -23,40 +23,81 @@ private static Logger log = LogManager.getLogger(Test.class.getName()) ; - private StLoss stLoss ; + private String orgTag ; - private StIntake stIntake ; - - private StClient stClient ; + private StLossAmount stLossAmount; + private StIntakeAmount stIntakeAmount; + private StClientAmount stClientAmount; + private StChargeByIc stChargeByIc ; + private StChargeByClient stChargeByClient ; + private StConsumeByIc stConsumeByIc ; + private StConsumeByClient stConsumeByClient ; private Integer statisticsYear; private Integer statisticsMonth; - private Long statisticsStartId ; - private Long statisticsEndId ; + private Integer statisticsDay; + 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);//璁剧疆鏁版嵁婧� + 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(stLossAmount != null && stIntakeAmount != null && stClientAmount != null + && stChargeByIc != null && stChargeByClient != null + && stConsumeByIc != null && stConsumeByClient != null){ + String yesterday = DateTime.lastXDay_yyyy_MM_dd(1) ;//寰楀埌鏄ㄥぉ锛岄浂鏅ㄦ椂鍒荤粺璁★紝缁熻鏄ㄥぉ鐨勬暟 + int[] yesterdayGrp = DateTime.yyyy_MM_dd_2_ymdGroup(yesterday) ; + statisticsYear = yesterdayGrp[0] ;//缁熻骞� + statisticsMonth = yesterdayGrp[1] ;//缁熻鏈� + statisticsDay = yesterdayGrp[2] ;//缁熻鏃� + 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() ; - 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) ; + 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] ;//缁熻鏈� + statisticsYear = ymd[0] ;//缁熻骞� statisticsMonth = ymd[1] ;//缁熻鏈� - statisticsStartId = IDLongGenerator.generateOneDayStartId(ymd[0], ymd[1], 1) ; - statisticsEndId = IDLongGenerator.generateOneDayEndId(ymd[0], ymd[1], 31) ; + 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)) ; } - doStatistics() ; + doStatisticsMonthAndYear() ; }else{ log.error("鏈兘浠嶴pring瀹瑰櫒涓緱鍒扮粺璁ean"); } @@ -65,15 +106,24 @@ /** * 缁熻 */ - 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) ; - } - } + private void doStatisticsDay(){ + 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(){ + 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); } } -- Gitblit v1.8.0