From a657d11cb3d3f70a536da25ef54acfa46602f62c Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期六, 07 六月 2025 15:35:30 +0800
Subject: [PATCH] 系统概览获取半小时核容设备信息添加负载电流load_curr

---
 src/main/java/com/whyc/service/SubTablePageInfoService.java    |   12 ++++++------
 src/main/java/com/whyc/service/BattRealdataIdService.java      |   11 ++++++++++-
 src/main/java/com/whyc/service/PwrdevHistorydataIdService.java |   21 +++++++++++++++++++--
 3 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/whyc/service/BattRealdataIdService.java b/src/main/java/com/whyc/service/BattRealdataIdService.java
index fe934ed..f237c32 100644
--- a/src/main/java/com/whyc/service/BattRealdataIdService.java
+++ b/src/main/java/com/whyc/service/BattRealdataIdService.java
@@ -18,6 +18,8 @@
 
 import javax.annotation.Resource;
 import java.text.ParseException;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ThreadPoolExecutor;
@@ -164,11 +166,18 @@
     public Response getHalfHourBattDevData(Integer battgroupId,Integer granularity) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
         String tableName ="db_data_history.tb_batt_realdata_"+battgroupId+"_"+dateTime;
+        //鑾峰彇鍓嶅崐涓皬鏃舵暟鎹�
+        LocalDateTime now = LocalDateTime.now();
+        // 璁$畻鍗婂皬鏃跺墠鐨勬椂闂寸偣
+        LocalDateTime halfHourAgo = now.minusMinutes(30);
+        // 鏍煎紡鍖栬緭鍑�
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        String halfHourAgoTime=halfHourAgo.format(formatter);
         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,granularity);
+        List<BattHisRealDto> datalist=subTablePageInfoService.getHalfHourBattDevData(tableName,granularity,halfHourAgoTime);
         return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴鏍稿璁惧淇℃伅");
     }
     //鍘嗗彶瀹炴椂鏁版嵁
diff --git a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
index 26f1e48..f5646de 100644
--- a/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
+++ b/src/main/java/com/whyc/service/PwrdevHistorydataIdService.java
@@ -12,6 +12,8 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.List;
 
@@ -28,24 +30,39 @@
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�
     public Response getHalfHourPwrHisAcinData(Integer powerId,Integer granularity) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
+        //鑾峰彇鍓嶅崐涓皬鏃舵暟鎹�
+        LocalDateTime now = LocalDateTime.now();
+        // 璁$畻鍗婂皬鏃跺墠鐨勬椂闂寸偣
+        LocalDateTime halfHourAgo = now.minusMinutes(30);
+        // 鏍煎紡鍖栬緭鍑�
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        String halfHourAgoTime=halfHourAgo.format(formatter);
         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,granularity);
+        List<PwrHisRealAcInDto> datalist=subTablePageInfoService.getHalfHourPwrHisAcinData(tableName,granularity,halfHourAgoTime);
         return new Response().setII(1,datalist.size()>0,datalist,"鑾峰彇鍗婂皬鏃跺唴浜ゆ祦杈撳叆缁熻");
 
     }
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃剁洿娴佽緭鍑虹粺璁�
     public Response getHalfHourPwrHisDcoutData(Integer powerId,Integer granularity) {
         String dateTime = ActionUtil.sdfwithOutday.format(new Date());
+        //鑾峰彇鍓嶅崐涓皬鏃舵暟鎹�
+        LocalDateTime now = LocalDateTime.now();
+        // 璁$畻鍗婂皬鏃跺墠鐨勬椂闂寸偣
+        LocalDateTime halfHourAgo = now.minusMinutes(30);
+        // 鏍煎紡鍖栬緭鍑�
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        String halfHourAgoTime=halfHourAgo.format(formatter);
+
         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,granularity);
+        List<PwrHisRealDcoutInDto> datalist=subTablePageInfoService.getHalfHourPwrHisDcoutData(tableName,granularity,halfHourAgoTime);
         Long modelCfg=0l;
         PowerInf pinf=powerInfService.getPowerInfById(powerId);
         if(pinf!=null){
diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java
index bccff51..88522b3 100644
--- a/src/main/java/com/whyc/service/SubTablePageInfoService.java
+++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -560,11 +560,11 @@
         return list;
     }
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�(缁勭淇℃伅鍙栦竴涓崟浣撲俊鎭嵆鍙�)
-    public List<BattHisRealDto> getHalfHourBattDevData(String tableName,Integer granularity) {
+    public List<BattHisRealDto> getHalfHourBattDevData(String tableName,Integer granularity,String halfHourAgoTime) {
         String sql="select  distinct mon_num,record_time,group_vol,online_vol,group_curr,group_tmp,load_curr " +
                 "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, " +
+                "                    where record_time>='"+halfHourAgoTime+"' 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";
@@ -588,12 +588,12 @@
         return list;
     }
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�
-    public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName,Integer granularity) {
+    public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName,Integer granularity,String halfHourAgoTime) {
         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 (select a.*, (@i:= @i+1) as number " +
                 "     from (select * from "+tableName+" "+
-                "                    where record_datetime>date_sub(now(),interval 0.5 hour)) a, " +
+                "                    where record_datetime>='"+halfHourAgoTime+"') a, " +
                 "                   (select @i:=0) b) c "+
                 " where c.number%"+granularity+"=0 or c.number=1 ";
         sql+=" order by record_datetime asc";
@@ -624,11 +624,11 @@
         return list;
     }
 
-    public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName,Integer granularity) {
+    public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName,Integer granularity,String halfHourAgoTime) {
         String sql="select  distinct * " +
                 "from (select a.*, (@i:= @i+1) as number " +
                 "     from (select * from "+tableName+" "+
-                "                    where record_datetime>date_sub(now(),interval 0.5 hour)) a, " +
+                "                    where record_datetime>='"+halfHourAgoTime+"') a, " +
                 "                   (select @i:=0) b) c "+
                 " where c.number%"+granularity+"=0 or c.number=1 ";
         sql+=" order by record_datetime asc";

--
Gitblit v1.9.1