From d5426047a2173c69c32eb70166ce5c61b54ff228 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 26 十二月 2024 15:46:34 +0800
Subject: [PATCH] 1、实现农户IC卡充值日、月、年自动化统计; 2、实现农户充值日、月、年自动化统计; 3、部分实现农户IC卡充值日、月、年自动化统计; 4、部分实现农户充值日、月、年自动化统计。

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/statistics/StatisticsJob.java |   62 +++++++++++++++++++++++++++---
 1 files changed, 55 insertions(+), 7 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 a180312..9f82f04 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
@@ -12,6 +12,7 @@
 import org.quartz.JobExecutionContext;
 import org.quartz.JobExecutionException;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -24,22 +25,45 @@
     private static Logger log = LogManager.getLogger(Test.class.getName()) ;
 
     private StLoss stLoss ;
-
     private StIntake stIntake ;
-
     private StClient stClient ;
+    private StChargeByIc stChargeByIc ;
+    private StChargeByClient stChargeByClient ;
+    private StConsumeByIc stConsumeByIc ;
+    private StConsumeByClient stConsumeByClient ;
 
     private Integer statisticsYear;
     private Integer statisticsMonth;
+    private Integer statisticsDay;
     private Long statisticsStartId ;
     private Long statisticsEndId ;
+    private Date statisticsStartDt ;
+    private Date statisticsEndDt ;
 
     @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){
+        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
+                && 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] ;//缁熻鏃�
+            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) ;
+            //缁熻鏃ョ殑閲�
+            doStatisticsDay() ;
+
             int[] ymd = DateTime.yyyy_MM_dd_2_ymdGroup(DateTime.yyyy_MM_dd()) ;
             if(ymd[2] == 1){
                 //缁熻涓婁釜鏈堢殑
@@ -47,15 +71,19 @@
                 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) ;
+                statisticsEndId = IDLongGenerator.generateOneDayEndId(statisticsYear, statisticsMonth, DateTime.endDayOfMonth(statisticsYear, statisticsMonth)) ;
+                statisticsStartDt = DateTime.startOfDay(statisticsYear, statisticsMonth, 1) ;
+                statisticsEndDt = 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], 31) ;
+                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)) ;
             }
-            doStatistics() ;
+            doStatisticsMonthAndYear() ;
         }else{
             log.error("鏈兘浠嶴pring瀹瑰櫒涓緱鍒扮粺璁ean");
         }
@@ -64,7 +92,22 @@
     /**
      * 缁熻
      */
-    private void doStatistics(){
+    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);
+            }
+        }
+    }
+    /**
+     * 缁熻
+     */
+    private void doStatisticsMonthAndYear(){
         List<Org.OrgVo> orgList = Org.OrgList ;
         if(orgList != null && orgList.size() >0){
             for(Org.OrgVo vo : orgList){
@@ -72,6 +115,11 @@
                 stLoss.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
                 stIntake.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
                 stClient.statistics(statisticsYear, statisticsMonth, statisticsStartId, statisticsEndId) ;
+
+                stChargeByIc.statistics4MonthAndYear(statisticsYear, statisticsMonth);
+                stChargeByClient.statistics4MonthAndYear(statisticsYear, statisticsMonth);
+                stConsumeByIc.statistics4MonthAndYear(statisticsYear, statisticsMonth);
+                stConsumeByClient.statistics4MonthAndYear(statisticsYear, statisticsMonth);
             }
         }
     }

--
Gitblit v1.8.0