From d9714be7130e14e063e6499637e1cc5241ff9dd3 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期六, 21 六月 2025 10:06:15 +0800
Subject: [PATCH] refactor(engine): 重构全厂总电量统计逻辑

---
 src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java b/src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java
index bc02403..4586b71 100644
--- a/src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java
+++ b/src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java
@@ -98,4 +98,46 @@
             log.error("鎵嬪姩瑙﹀彂{}缁熻浠诲姟鎵ц澶辫触锛歿}", timeType, e.getMessage(), e);
         }
     }
+
+    /**
+     * 姹囨�讳笂绾х數琛ㄦ暟鎹�
+     */
+    @Scheduled(cron = "0 * * * * ?")
+    public void totalElectricityTask() {
+        try {
+            LocalDateTime now = LocalDateTime.now();
+            log.info("寮�濮嬫墽琛屽叏鍘傛�荤數閲忕粺璁′换鍔★紝澶勭悊鏃堕棿锛歿}", now);
+            dataCleaningService.calculateTotalElectricity(now);
+            log.info("鍏ㄥ巶鎬荤數閲忕粺璁′换鍔℃墽琛屽畬鎴�");
+        } catch (Exception e) {
+            log.error("鍏ㄥ巶鎬荤數閲忕粺璁′换鍔℃墽琛屽け璐ワ細{}", e.getMessage(), e);
+        }
+    }
+    
+    /**
+     * 姣忓垎閽熸墽琛屼竴娆★紝缁熻褰撳墠灏忔椂銆佸綋澶┿�佸綋鏈堝拰褰撳勾鐨勭敤鐢甸噺
+     */
+    @Scheduled(cron = "0 * * * * ?")
+    public void periodicElectricityStatisticsTask() {
+        try {
+            LocalDateTime now = LocalDateTime.now();
+            log.info("寮�濮嬫墽琛屽懆鏈熸�х敤鐢甸噺缁熻浠诲姟锛屽鐞嗘椂闂达細{}", now);
+            
+            // 缁熻褰撳墠灏忔椂鐢ㄧ數閲�
+            dataCleaningService.calculateHourlyElectricity(now);
+            
+            // 缁熻褰撳ぉ鐢ㄧ數閲�
+            dataCleaningService.calculateDailyElectricity(now);
+            
+            // 缁熻褰撴湀鐢ㄧ數閲�
+            dataCleaningService.calculateMonthlyElectricity(now);
+            
+            // 缁熻褰撳勾鐢ㄧ數閲�
+            dataCleaningService.calculateYearlyElectricity(now);
+            
+            log.info("鍛ㄦ湡鎬х敤鐢甸噺缁熻浠诲姟鎵ц瀹屾垚");
+        } catch (Exception e) {
+            log.error("鍛ㄦ湡鎬х敤鐢甸噺缁熻浠诲姟鎵ц澶辫触锛歿}", e.getMessage(), e);
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.3