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