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 ++++++++++++------
 src/main/java/com/whyc/service/BattRealdataIdService.java      |    4 +-
 src/main/java/com/whyc/service/PwrdevHistorydataIdService.java |    8 ++--
 src/main/java/com/whyc/controller/RealContoller.java           |   12 +++---
 4 files changed, 37 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/whyc/controller/RealContoller.java b/src/main/java/com/whyc/controller/RealContoller.java
index 4586bfe..b69d7bf 100644
--- a/src/main/java/com/whyc/controller/RealContoller.java
+++ b/src/main/java/com/whyc/controller/RealContoller.java
@@ -28,19 +28,19 @@
 
     @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�")
     @GetMapping("getHalfHourPwrHisAcinData")
-    public Response getHalfHourPwrHisAcinData(@RequestParam Integer powerId){
-        return pwrdevHistorydataIdService.getHalfHourPwrHisAcinData(powerId);
+    public Response getHalfHourPwrHisAcinData(@RequestParam Integer powerId,@RequestParam Integer granularity){
+        return pwrdevHistorydataIdService.getHalfHourPwrHisAcinData(powerId,granularity);
     }
 
     @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃剁洿娴佽緭鍑虹粺璁�")
     @GetMapping("getHalfHourPwrHisDcoutData")
-    public Response getHalfHourPwrHisDcoutData(@RequestParam Integer powerId){
-        return pwrdevHistorydataIdService.getHalfHourPwrHisDcoutData(powerId);
+    public Response getHalfHourPwrHisDcoutData(@RequestParam Integer powerId,@RequestParam Integer granularity){
+        return pwrdevHistorydataIdService.getHalfHourPwrHisDcoutData(powerId,granularity);
     }
 
     @ApiOperation(value = "绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�")
     @GetMapping("getHalfHourBattDevData")
-    public Response getHalfHourBattDevData(@RequestParam Integer battgroupId){
-        return battRealdataIdService.getHalfHourBattDevData(battgroupId);
+    public Response getHalfHourBattDevData(@RequestParam Integer battgroupId,@RequestParam Integer granularity){
+        return battRealdataIdService.getHalfHourBattDevData(battgroupId,granularity);
     }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BattRealdataIdService.java b/src/main/java/com/whyc/service/BattRealdataIdService.java
index 0c8d961..dcf709e 100644
--- a/src/main/java/com/whyc/service/BattRealdataIdService.java
+++ b/src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -153,14 +153,14 @@
         return new Response().setII(1,map.size()>0,map,"鑾峰彇鐢垫睜缁勬渶杩戜竴瀛e害鐨勬俯搴︽暟鎹�");
     }
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�
-    public Response getHalfHourBattDevData(Integer battgroupId) {
+    public Response getHalfHourBattDevData(Integer battgroupId,Integer granularity) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
         String tableName ="db_data_history.tb_batt_realdata_"+battgroupId+"_"+dateTime;
         String existTableName = commonMapper.existTable("db_data_history", "tb_batt_realdata_"+battgroupId+"_"+dateTime);
         if(existTableName == null){
             return new Response().set(1,false,"褰撳墠鐢垫睜缁勪笉瀛樺湪鍓嶉潰灏忔椂鏁版嵁");
         }
-        List<BattHisRealDto> datalist=subTablePageInfoService.getHalfHourBattDevData(tableName);
+        List<BattHisRealDto> datalist=subTablePageInfoService.getHalfHourBattDevData(tableName,granularity);
         return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴鏍稿璁惧淇℃伅");
     }
 }
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
index a773e28..5f78d5f 100644
--- a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
+++ b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
@@ -22,26 +22,26 @@
     private CommonMapper commonMapper;
 
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�
-    public Response getHalfHourPwrHisAcinData(Integer powerId) {
+    public Response getHalfHourPwrHisAcinData(Integer powerId,Integer granularity) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
         String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+dateTime;
         String existTableName = commonMapper.existTable("db_data_history", "tb_pwrdev_historydata_"+powerId+"_"+dateTime);
         if(existTableName == null){
             return new Response().set(1,false,"褰撳墠鐢垫睜缁勪笉瀛樺湪鍓嶉潰灏忔椂鏁版嵁");
         }
-        List<PwrHisRealAcInDto> datalist=subTablePageInfoService.getHalfHourPwrHisAcinData(tableName);
+        List<PwrHisRealAcInDto> datalist=subTablePageInfoService.getHalfHourPwrHisAcinData(tableName,granularity);
         return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴浜ゆ祦杈撳叆缁熻");
 
     }
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃剁洿娴佽緭鍑虹粺璁�
-    public Response getHalfHourPwrHisDcoutData(Integer powerId) {
+    public Response getHalfHourPwrHisDcoutData(Integer powerId,Integer granularity) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
         String tableName ="db_data_history.tb_pwrdev_historydata_"+powerId+"_"+dateTime;
         String existTableName = commonMapper.existTable("db_data_history", "tb_pwrdev_historydata_"+powerId+"_"+dateTime);
         if(existTableName == null){
             return new Response().set(1,false,"褰撳墠鐢垫簮涓嶅瓨鍦ㄥ墠闈㈠皬鏃舵暟鎹�");
         }
-        List<PwrHisRealDcoutInDto> datalist=subTablePageInfoService.getHalfHourPwrHisDcoutData(tableName);
+        List<PwrHisRealDcoutInDto> datalist=subTablePageInfoService.getHalfHourPwrHisDcoutData(tableName,granularity);
         return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴鐩存祦杈撳嚭缁熻");
     }
 }
\ No newline at end of file
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