From 1d60a3906937ebfca560a4877eba185fad8b24d1 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 04 六月 2025 13:47:47 +0800
Subject: [PATCH] 实施页面系统概论半小时数据

---
 src/main/java/com/whyc/service/SubTablePageInfoService.java |   38 +++++++++++++++++++++++++-------------
 1 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java
index 6370eb3..17fd08c 100644
--- a/src/main/java/com/whyc/service/SubTablePageInfoService.java
+++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -558,11 +558,15 @@
         });
         return list;
     }
-    //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�
-    public List<BattHisRealDto> getHalfHourBattDevData(String tableName) {
-        String sql="select  distinct mon_num,record_time,group_vol,online_vol,group_curr,group_tmp from "+tableName+" ";
-        sql+="where record_time>date_sub(now(),interval 0.5 hour)";
-        sql+="order by record_time asc";
+    //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�(缁勭淇℃伅鍙栦竴涓崟浣撲俊鎭嵆鍙�)
+    public List<BattHisRealDto> getHalfHourBattDevData(String tableName,Integer granularity) {
+        String sql="select  distinct mon_num,record_time,group_vol,online_vol,group_curr,group_tmp " +
+                "from (select a.*, (@i:= @i+1) as number " +
+                "     from (select * from "+tableName+" "+
+                "                    where record_time>date_sub(now(),interval 0.5 hour) and mon_num=1) a, " +
+                "                   (select @i:=0) b) c "+
+                " where c.number%"+granularity+"=0 or c.number=1 ";
+        sql+=" order by record_time asc";
         List<BattHisRealDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
             @Override
             public List getResults(ResultSet rs) throws SQLException {
@@ -582,11 +586,15 @@
         return list;
     }
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�
-    public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName) {
+    public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName,Integer granularity) {
         String sql="select  distinct record_datetime,acin1_vola,acin1_volb,acin1_volc,acin2_vola,acin2_volb,acin2_volc " +
-                ",acin1_curra,acin1_currb,acin1_currc,acin2_curra,acin2_currb,acin2_currc  from "+tableName+" ";
-        sql+="where record_datetime>date_sub(now(),interval 0.5 hour)";
-        sql+="order by record_datetime asc";
+                ",acin1_curra,acin1_currb,acin1_currc,acin2_curra,acin2_currb,acin2_currc  " +
+                "from (select a.*, (@i:= @i+1) as number " +
+                "     from (select * from "+tableName+" "+
+                "                    where record_datetime>date_sub(now(),interval 0.5 hour)) a, " +
+                "                   (select @i:=0) b) c "+
+                " where c.number%"+granularity+"=0 or c.number=1 ";
+        sql+=" order by record_datetime asc";
         List<PwrHisRealAcInDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
             @Override
             public List getResults(ResultSet rs) throws SQLException {
@@ -614,10 +622,14 @@
         return list;
     }
 
-    public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName) {
-        String sql="select  distinct record_datetime,dcout_vol,dcout_curr,battgroup1_vol,battgroup1_curr,battgroup2_vol,battgroup2_curr from "+tableName+" ";
-        sql+="where record_datetime>date_sub(now(),interval 0.5 hour)";
-        sql+="order by record_datetime asc";
+    public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName,Integer granularity) {
+        String sql="select  distinct record_datetime,dcout_vol,dcout_curr,battgroup1_vol,battgroup1_curr,battgroup2_vol,battgroup2_curr " +
+                "from (select a.*, (@i:= @i+1) as number " +
+                "     from (select * from "+tableName+" "+
+                "                    where record_datetime>date_sub(now(),interval 0.5 hour)) a, " +
+                "                   (select @i:=0) b) c "+
+                " where c.number%"+granularity+"=0 or c.number=1 ";
+        sql+=" order by record_datetime asc";
         List<PwrHisRealDcoutInDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
             @Override
             public List getResults(ResultSet rs) throws SQLException {

--
Gitblit v1.9.1