From 97f71a9e41a124f204f13010f8d2e3cd7d9036b9 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期四, 26 六月 2025 16:24:38 +0800 Subject: [PATCH] 实时数据曲线统计-交流单元实时推送 --- src/main/java/com/whyc/service/SubTablePageInfoService.java | 69 +++++++++++++++++++--------------- 1 files changed, 39 insertions(+), 30 deletions(-) diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java index d2fced7..009cd4a 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> getPwrHisAcData(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; @@ -1129,5 +1139,4 @@ }); return list; } - } -- Gitblit v1.9.1