From 318ebac926b9627a683c4ab90d4e2b7451b1e573 Mon Sep 17 00:00:00 2001
From: baoshiwei <baoshiwei@shlanbao.cn>
Date: 星期三, 18 六月 2025 13:43:55 +0800
Subject: [PATCH] feat(engine): 新增全厂总电量统计功能

---
 src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 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..df5b825 100644
--- a/src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java
+++ b/src/main/java/com/zhitan/engine/scheduler/DataCleaningScheduler.java
@@ -98,4 +98,42 @@
             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