From c7795eb09f3059f1a0310bc817e2fa0e9e64d29e Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期四, 26 六月 2025 21:15:01 +0800
Subject: [PATCH] Merge branch 'master' of http://118.89.139.230:10101/r/powerIntelligenceSystem

---
 src/main/java/com/whyc/service/SubTablePageInfoService.java |  107 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 76 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java
index d2fced7..0fd03d3 100644
--- a/src/main/java/com/whyc/service/SubTablePageInfoService.java
+++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -5,6 +5,7 @@
 import com.whyc.dto.AlmHis.PwrAlmPar;
 import com.whyc.dto.AnalysisAlm.ResAnalysis;
 import com.whyc.dto.Real.*;
+import com.whyc.dto.RealDataStatic.ResRealDataAc;
 import com.whyc.dto.Statistic.ComPareChangeCurve;
 import com.whyc.dto.Statistic.ComPareChart;
 import com.whyc.dto.Statistic.QuarterPwr7Res;
@@ -610,34 +611,6 @@
         });
         return list;
     }
-    //绯荤粺姒傝鑾峰彇鍗婂皬鏃舵牳瀹硅澶囦俊鎭�(缁勭淇℃伅鍙栦竴涓崟浣撲俊鎭嵆鍙�)
-    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>='"+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";
-        List<BattHisRealDto> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
-            @Override
-            public List getResults(ResultSet rs) throws SQLException {
-                List<BattHisRealDto> list=new ArrayList<>();
-                while (rs.next()){
-                    BattHisRealDto data=new BattHisRealDto();
-                    data.setRecordTime(rs.getTimestamp("record_time"));
-                    data.setGroupVol(rs.getFloat("group_vol"));
-                    data.setOnlineVol(rs.getFloat("online_vol"));
-                    data.setGroupCurr(rs.getFloat("group_curr"));
-                    data.setGroupTmp(rs.getFloat("group_tmp"));
-                    data.setLoadCurr(rs.getFloat("load_curr"));
-                    list.add(data);
-                }
-                return list;
-            }
-        });
-        return list;
-    }
     //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍏ョ粺璁�
     public List<PwrHisRealAcInDto> getHalfHourPwrHisAcinData(String tableName,Integer granularity,Date recordDatetime,Date recordDatetime1,Integer maxRecordNum,Integer minRecordNum) {
         String sql=" select  distinct record_datetime,acin1_vola,acin1_volb,acin1_volc,acin2_vola,acin2_volb,acin2_volc " +
@@ -672,7 +645,7 @@
         });
         return list;
     }
-
+    //绯荤粺姒傝鑾峰彇鍗婂皬鏃朵氦娴佽緭鍑虹粺璁�
     public List<PwrHisRealDcoutInDto> getHalfHourPwrHisDcoutData(String tableName,Integer granularity,Date recordDatetime,Date recordDatetime1,Integer maxRecordNum,Integer minRecordNum) {
         String sql="select  distinct * " +
                 " from "+tableName+" where record_datetime>='"+ActionUtil.sdf.format(recordDatetime)+"'" +
@@ -719,6 +692,43 @@
                     data.setM14OutVol(rs.getFloat("m14_out_vol"));
                     data.setM15OutVol(rs.getFloat("m15_out_vol"));
                     data.setM16OutVol(rs.getFloat("m16_out_vol"));
+                    list.add(data);
+                }
+                return list;
+            }
+        });
+        return list;
+    }
+    //瀹炴椂鏁版嵁鏁版嵁鏇茬嚎缁熻-浜ゆ祦鍗曞厓
+    public List<ResRealDataAc> getSticRealAcData(String tableName, Integer granularity, Date recordDatetime, Date recordDatetime1
+            , Integer maxRecordNum, Integer minRecordNum, Map<String, List<String>> propertyInfo) {
+        String  propertyStr = propertyInfo.values().stream()
+                .flatMap(List::stream)
+                .collect(Collectors.joining(","));
+        String sql=" select  distinct record_datetime,"+propertyStr+" "+
+                " from "+tableName+" where record_datetime>='"+ActionUtil.sdf.format(recordDatetime)+"'" +
+                "                    and record_datetime<='"+ActionUtil.sdf.format(recordDatetime1)+
+                "' and (record_num-"+minRecordNum+")%"+granularity+"=0  or record_num="+minRecordNum+" or record_num="+maxRecordNum;
+        sql+="  order by record_datetime asc";
+        List<ResRealDataAc> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                List<ResRealDataAc> list=new ArrayList<>();
+                while (rs.next()){
+                    ResRealDataAc data=new ResRealDataAc();
+                    data.setRecordDatetime(rs.getTimestamp("record_datetime"));
+                    Map<String,Map<String,Float>>dataMap=new HashMap<>();
+                    for (Map.Entry<String, List<String>> entry : propertyInfo.entrySet()) {
+                        String key = entry.getKey();
+                        List<String> valueList = entry.getValue();
+                        Map<String,Float> propertyMap=new HashMap<>();
+                        for (String value : valueList) {
+                            Float propertyValue = rs.getFloat(value);
+                            propertyMap.put(value,propertyValue);
+                        }
+                        dataMap.put(key,propertyMap);
+                    }
+                    data.setPropertyInfo(dataMap);
                     list.add(data);
                 }
                 return list;
@@ -869,7 +879,7 @@
     }
     //鐢垫睜鏁版嵁鍘嗗彶瀹炴椂澶勭悊
     public List<RealDateDTO> getBattRealDataHis(BattRealdataId realdata, int granularity,Integer maxRecordNum,Integer minRecordNum) {
-        String sql=" select record_time, group_vol, online_vol,group_curr,load_curr, mon_vol, mon_tmp, mon_res, mon_num,record_num  " +
+        String sql=" select distinct record_time, group_vol, online_vol,group_curr,load_curr, mon_vol, mon_tmp, mon_res, mon_num,record_num  " +
                 "               from db_data_history.tb_batt_realdata_"+realdata.getTableName()+" " +
                 "               where record_time >= '"+ThreadLocalUtil.format(realdata.getRecordTime(),1)+"' " +
                 "               and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"' "+
@@ -896,7 +906,42 @@
         });
         return list;
     }
-
+    //瀹炴椂鏁版嵁缁熻鏇茬嚎--鏍稿璁惧
+    public List<ResRealDataAc> getSticRealHrData(BattRealdataId realdata, Integer granularity, Integer maxRecordNum, Integer minRecordNum, Map<String, List<String>> propertyInfo) {
+        String  propertyStr = propertyInfo.values().stream()
+                .flatMap(List::stream)
+                .collect(Collectors.joining(","));
+        String sql=" select distinct record_time, "+propertyStr+" "+
+                "               from db_data_history.tb_batt_realdata_"+realdata.getTableName()+" " +
+                "               where record_time >= '"+ThreadLocalUtil.format(realdata.getRecordTime(),1)+"' " +
+                "               and record_time <= '"+ThreadLocalUtil.format(realdata.getRecordTime1(),1)+"' "+
+                "               and (record_num-"+minRecordNum+")%"+granularity+"=0 or record_num="+maxRecordNum+" or record_num="+minRecordNum ;
+        List<ResRealDataAc> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                List<ResRealDataAc> list=new ArrayList<>();
+                while (rs.next()){
+                    ResRealDataAc data=new ResRealDataAc();
+                    data.setRecordDatetime(rs.getTimestamp("record_time"));
+                    Map<String,Map<String,Float>>dataMap=new HashMap<>();
+                    for (Map.Entry<String, List<String>> entry : propertyInfo.entrySet()) {
+                        String key = entry.getKey();
+                        List<String> valueList = entry.getValue();
+                        Map<String,Float> propertyMap=new HashMap<>();
+                        for (String value : valueList) {
+                            Float propertyValue = rs.getFloat(value);
+                            propertyMap.put(value,propertyValue);
+                        }
+                        dataMap.put(key,propertyMap);
+                    }
+                    data.setPropertyInfo(dataMap);
+                    list.add(data);
+                }
+                return list;
+            }
+        });
+        return list;
+    }
     //绯荤粺姒傝鑾峰彇鍓峃绗旀牳瀹硅澶囦俊鎭�
     public List<RealDateDTO> getBattDevData100(String tableName, Integer granularity, Date recordDatetime, Date recordDatetime1,Integer maxRecordNum,Integer minRecordNum) {
         String sql=" select record_time, group_vol, online_vol,group_curr, load_curr,record_num  " +

--
Gitblit v1.9.1