From 2753ad7aee272a5a5a8a0124b1feea5a1e4cc83e Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期五, 20 六月 2025 22:40:52 +0800 Subject: [PATCH] 电源告警参数返回 --- src/main/java/com/whyc/service/SubTablePageInfoService.java | 265 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 163 insertions(+), 102 deletions(-) diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java index e27caac..b071132 100644 --- a/src/main/java/com/whyc/service/SubTablePageInfoService.java +++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java @@ -3,6 +3,7 @@ import com.whyc.dto.AlmHis.BattAlmPar; import com.whyc.dto.AlmHis.DevAlmPar; import com.whyc.dto.AlmHis.PwrAlmPar; +import com.whyc.dto.AnalysisAlm.ResAnalysis; import com.whyc.dto.Real.*; import com.whyc.dto.Statistic.QuarterPwr7Res; import com.whyc.mapper.CallBack; @@ -12,13 +13,16 @@ import com.whyc.pojo.db_data_history.BattRealdataId; import com.whyc.pojo.db_data_history.PwrdevHistorydataId; import com.whyc.pojo.db_pwrdev_alarm.PwrdevAlarmHistory; +import com.whyc.util.ActionUtil; import com.whyc.util.ThreadLocalUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.lang.reflect.Field; import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; +import java.util.stream.Collectors; @Service public class SubTablePageInfoService { @@ -717,7 +721,7 @@ }); return list; } - //鍒ゆ柇鍘嗗彶瀹炴椂琛ㄦ槸鍚﹀瓨鍦� + //鍒ゆ柇鐢垫睜缁勫巻鍙插疄鏃惰〃鏄惁瀛樺湪 public int judgeTable_realdata( String table){ String sql="select count(*) as tableNum " + " from INFORMATION_SCHEMA.TABLES " + @@ -742,7 +746,31 @@ } return tableNum; } - + //鍒ゆ柇鐢垫簮鍘嗗彶瀹炴椂琛ㄦ槸鍚﹀瓨鍦� + public int judgeTable_pwrhis( String table){ + String sql="select count(*) as tableNum " + + " from INFORMATION_SCHEMA.TABLES " + + " where TABLE_SCHEMA = 'db_data_history' " + + " and TABLE_NAME = 'tb_pwrdev_historydata_"+table+"'"; + List list = sqlExecuteService.executeQuery_call(sql, new CallBack() { + @Override + public List getResults(ResultSet rs) throws SQLException { + LinkedList<Object> temp = new LinkedList<>(); + try { + while (rs.next()) + temp.add(rs.getInt("tableNum")); + } catch (SQLException e) { + e.printStackTrace(); + } + return temp; + } + }); + int tableNum =0; + if(list!=null){ + tableNum= (int) list.get(0); + } + return tableNum; + } //鐢垫睜鏁版嵁鍘嗗彶瀹炴椂澶勭悊 public List<RealDateDTO> getBattRealDataHis(BattRealdataId realdata, int granularity,Integer maxRecordNum,Integer minRecordNum) { String sql=" select record_time, group_vol, online_vol,group_curr, mon_vol, mon_tmp, mon_res, mon_num,record_num " + @@ -773,27 +801,95 @@ return list; } //鐢垫睜鏁版嵁鍘嗗彶瀹炴椂澶勭悊(棰勮鍒嗘瀽) - public List<RealDateDTO> getBattHisRealInAlm(BattRealdataId realdata) { - String sql=" select record_time, group_vol, online_vol,group_curr, mon_vol, mon_tmp, mon_res, mon_num,record_num " + + public List<ResAnalysis> getBattHisRealInAlm(BattRealdataId realdata, Map<String,Integer> battMap) { + String result = String.join(",", battMap.keySet()); + String sql=" select record_time,"+result+" " + " 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)+"' " + " order by record_time asc,mon_num asc"; - List<RealDateDTO> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { + List<ResAnalysis> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { - List<RealDateDTO> list=new ArrayList<>(); + List<ResAnalysis> list=new ArrayList<>(); while (rs.next()){ - RealDateDTO ph=new RealDateDTO(); + ResAnalysis ph=new ResAnalysis(); ph.setRecordTime(rs.getTimestamp("record_time")); - ph.setGroupVol(rs.getFloat("group_vol")); - ph.setOnlineVol(rs.getFloat("online_vol")); - ph.setGroupCurr(rs.getFloat("group_curr")); - ph.setMonVol(rs.getFloat("mon_vol")); - ph.setMonTmp(rs.getFloat("mon_tmp")); - ph.setMonRes(rs.getFloat("mon_res")); - ph.setMonNum(rs.getInt("mon_num")); - ph.setRecordNum(rs.getInt("record_num")); + int i=1; + for (String key : battMap.keySet()) { + Integer dataType = battMap.get(key); + try { + String propertyType = "dataType"+(i); + Field fieldType = ResAnalysis.class.getDeclaredField(propertyType); + fieldType.setAccessible(true); + fieldType.set(ph,dataType); + + Float value = rs.getFloat(key); + String propertyName = "dataName"+(i); + Field fieldName = ResAnalysis.class.getDeclaredField(propertyName); + fieldName.setAccessible(true); // 濡傛灉瀛楁鏄鏈夌殑锛岄渶瑕佽缃负鍙闂� + fieldName.set(ph,key); + + String propertyValue = "dataValue"+(i); + Field fieldValue = ResAnalysis.class.getDeclaredField(propertyValue); + fieldValue.setAccessible(true); + fieldValue.set(ph,value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + i++; + } + list.add(ph); + } + return list; + } + }); + return list; + } + + //鐢垫簮鏁版嵁鍘嗗彶瀹炴椂澶勭悊(棰勮鍒嗘瀽) + public List<ResAnalysis> getPwrHisRealInAlm(PwrdevHistorydataId pwrHis, Map<String,Integer> pwrMap) { + String result = String.join(",", pwrMap.keySet()); + String sql=" select record_datetime,"+result+" " + + " from db_data_history.tb_pwrdev_historydata_"+pwrHis.getTableName()+" " + + " where record_datetime >= '"+ThreadLocalUtil.format(pwrHis.getRecordDatetime(),1)+"' " + + " and record_datetime <= '"+ThreadLocalUtil.format(pwrHis.getRecordDatetime1(),1)+"' " + + " order by record_datetime asc "; + List<ResAnalysis> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { + @Override + public List getResults(ResultSet rs) throws SQLException { + List<ResAnalysis> list=new ArrayList<>(); + while (rs.next()){ + ResAnalysis ph=new ResAnalysis(); + ph.setRecordTime(rs.getTimestamp("record_datetime")); + int i=1; + for (String key : pwrMap.keySet()) { + Integer dataType = pwrMap.get(key); + try { + String propertyType = "dataType"+(i); + Field fieldType = ResAnalysis.class.getDeclaredField(propertyType); + fieldType.setAccessible(true); + fieldType.set(ph,dataType); + + Float value = rs.getFloat(key); + String propertyName = "dataName"+(i); + Field fieldName = ResAnalysis.class.getDeclaredField(propertyName); + fieldName.setAccessible(true); // 濡傛灉瀛楁鏄鏈夌殑锛岄渶瑕佽缃负鍙闂� + fieldName.set(ph,key); + + String propertyValue = "dataValue"+(i); + Field fieldValue = ResAnalysis.class.getDeclaredField(propertyValue); + fieldValue.setAccessible(true); + fieldValue.set(ph,value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + i++; + } list.add(ph); } return list; @@ -822,8 +918,9 @@ return list; } //1.2.7浼樿壇鐢垫簮缁熻涓婁竴瀛e害鐨勭數婧愭煇涓�灞炴�у拰鍙傛暟闃堝�艰秴杩囩殑娆℃暟 - public List<PwrdevHistorydataId> getPwrQuarter7(String tableName) { - String sql=" select distinct * " + + public List<PwrdevHistorydataId> getPwrQuarter7(String tableName,List<String> propertyNameList) { + String result = propertyNameList.stream().collect(Collectors.joining(",")); + String sql=" select distinct record_datetime,"+result+" " + " from "+tableName+" " ; sql+=" order by record_datetime asc"; List<PwrdevHistorydataId> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @@ -833,91 +930,55 @@ while (rs.next()){ PwrdevHistorydataId data=new PwrdevHistorydataId(); data.setRecordDatetime(rs.getTimestamp("record_datetime")); - data.setAcin1Vola(rs.getFloat("acin1_vola")); - data.setAcin1Volb(rs.getFloat("acin1_volb")); - data.setAcin1Volc(rs.getFloat("acin1_volc")); - data.setAcin2Vola(rs.getFloat("acin2_vola")); - data.setAcin2Volb(rs.getFloat("acin2_volb")); - data.setAcin2Volc(rs.getFloat("acin2_volc")); - data.setAcoutVola(rs.getFloat("acout_vola")); - data.setAcoutVolb(rs.getFloat("acout_volb")); - data.setAcoutVolc(rs.getFloat("acout_volc")); - data.setAcoutCurra(rs.getFloat("acout_curra")); - data.setAcoutCurrb(rs.getFloat("acout_currb")); - data.setAcoutCurrc(rs.getFloat("acout_currc")); - data.setDcoutVol(rs.getFloat("dcout_vol")); - data.setDcoutCurr(rs.getFloat("dcout_curr")); - - data.setBattgroup1Vol(rs.getFloat("battgroup1_vol")); - data.setBattgroup1Curr(rs.getFloat("battgroup1_curr")); - data.setBattgroup2Vol(rs.getFloat("battgroup2_vol")); - data.setBattgroup2Curr(rs.getFloat("battgroup2_curr")); - data.setTemprature(rs.getFloat("temprature")); - data.setMOutputvol(rs.getFloat("m_outputvol")); - data.setM1Outcurr(rs.getFloat("m1_outcurr")); - data.setM2Outcurr(rs.getFloat("m2_outcurr")); - data.setM3Outcurr(rs.getFloat("m3_outcurr")); - data.setM4Outcurr(rs.getFloat("m4_outcurr")); - data.setM5Outcurr(rs.getFloat("m5_outcurr")); - data.setM6Outcurr(rs.getFloat("m6_outcurr")); - data.setM7Outcurr(rs.getFloat("m7_outcurr")); - data.setM8Outcurr(rs.getFloat("m8_outcurr")); - data.setM9Outcurr(rs.getFloat("m9_outcurr")); - data.setM10Outcurr(rs.getFloat("m10_outcurr")); - data.setM11Outcurr(rs.getFloat("m11_outcurr")); - data.setM12Outcurr(rs.getFloat("m12_outcurr")); - data.setM13Outcurr(rs.getFloat("m13_outcurr")); - data.setM14Outcurr(rs.getFloat("m14_outcurr")); - data.setM15Outcurr(rs.getFloat("m15_outcurr")); - data.setM16Outcurr(rs.getFloat("m16_outcurr")); - - data.setAcin1Curra(rs.getFloat("acin1_curra")); - data.setAcin1Currb(rs.getFloat("acin1_currb")); - data.setAcin1Currc(rs.getFloat("acin1_currc")); - data.setLoaderCurr(rs.getFloat("loader_curr")); - data.setBattgroup1Ah(rs.getFloat("battgroup1_ah")); - data.setBattgroup1Temp(rs.getFloat("battgroup1_temp")); - data.setBattgroup2Ah(rs.getFloat("battgroup2_ah")); - data.setBattgroup2Temp(rs.getFloat("battgroup2_temp")); - data.setAcdcmTemp(rs.getFloat("acdcm_temp")); - data.setM1OutVol(rs.getFloat("m1_out_vol")); - data.setM2OutVol(rs.getFloat("m2_out_vol")); - data.setM3OutVol(rs.getFloat("m3_out_vol")); - data.setM4OutVol(rs.getFloat("m4_out_vol")); - data.setM5OutVol(rs.getFloat("m5_out_vol")); - data.setM6OutVol(rs.getFloat("m6_out_vol")); - data.setM7OutVol(rs.getFloat("m7_out_vol")); - data.setM8OutVol(rs.getFloat("m8_out_vol")); - data.setM9OutVol(rs.getFloat("m9_out_vol")); - data.setM10OutVol(rs.getFloat("m10_out_vol")); - data.setM11OutVol(rs.getFloat("m11_out_vol")); - data.setM12OutVol(rs.getFloat("m12_out_vol")); - data.setM13OutVol(rs.getFloat("m13_out_vol")); - data.setM14OutVol(rs.getFloat("m14_out_vol")); - data.setM15OutVol(rs.getFloat("m15_out_vol")); - data.setM16OutVol(rs.getFloat("m16_out_vol")); - - data.setUseracin1Vola(rs.getFloat("useracin1_vola")); - data.setUseracin1Volb(rs.getFloat("useracin1_volb")); - data.setUseracin1Volc(rs.getFloat("useracin1_volc")); - data.setUseracin1Curra(rs.getFloat("useracin1_curra")); - data.setUseracin1Currb(rs.getFloat("useracin1_currb")); - data.setUseracin1Currc(rs.getFloat("useracin1_currc")); - data.setUseracin1Freq(rs.getFloat("useracin1_freq")); - data.setUseracin2Vola(rs.getFloat("useracin2_vola")); - data.setUseracin2Volb(rs.getFloat("useracin2_volb")); - data.setUseracin2Volc(rs.getFloat("useracin2_volc")); - data.setUseracin2Curra(rs.getFloat("useracin2_curra")); - data.setUseracin2Currb(rs.getFloat("useracin2_currb")); - data.setUseracin2Currc(rs.getFloat("useracin2_currc")); - data.setUseracin2Freq(rs.getFloat("useracin2_freq")); - - data.setMTemper1(rs.getFloat("m_temper1")); - data.setMTemper2(rs.getFloat("m_temper2")); - data.setMTemper3(rs.getFloat("m_temper3")); - data.setMHumidity1(rs.getFloat("m_humidity1")); - data.setMHumidity2(rs.getFloat("m_humidity2")); - data.setMHumidity3(rs.getFloat("m_humidity3")); + for (int i=0;i<propertyNameList.size();i++){ + try { + Float value = rs.getFloat(propertyNameList.get(i)); + String propertyName = ActionUtil.toCamelCase(propertyNameList.get(i)); + Field fieldValue = PwrdevHistorydataId.class.getDeclaredField(propertyName); + fieldValue.setAccessible(true); + fieldValue.set(data,value); + } catch (NoSuchFieldException e) { + e.printStackTrace(); + } catch (IllegalAccessException e) { + e.printStackTrace(); + } + } + list.add(data); + } + return list; + } + }); + return list; + } + //鑾峰彇鍏蜂綋鐨勬斁鐢垫暟鎹� + public List<BatttestdataId> exportTinfDataByTestRecordCount(Integer battgroupId, Integer testRecordCount, String tableName) { + String sql="select distinct * from "+tableName+" "+ + " where test_record_count="+testRecordCount; + sql+=" order by record_time asc"; + List<BatttestdataId> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { + @Override + public List getResults(ResultSet rs) throws SQLException { + List<BatttestdataId> list=new ArrayList<>(); + while (rs.next()){ + BatttestdataId data=new BatttestdataId(); + data.setNum(rs.getInt("num")); + data.setBattgroupId(rs.getInt("battgroup_id")); + data.setTestRecordCount(rs.getInt("test_record_count")); + data.setTestType(rs.getInt("test_type")); + data.setRecordNum(rs.getInt("record_num")); + data.setDataNew(rs.getInt("data_new")); + data.setDataAvailable(rs.getInt("data_available")); + data.setTestTimelong(rs.getInt("test_timelong")); + data.setTestCurr(rs.getFloat("test_curr")); + data.setTestCap(rs.getFloat("test_cap")); + data.setMonNum(rs.getInt("mon_num")); + data.setMonVol(rs.getFloat("mon_vol")); + data.setMonTmp(rs.getFloat("mon_tmp")); + data.setMonRes(rs.getFloat("mon_res")); + data.setTestStarttime(rs.getTimestamp("test_starttime")); + data.setRecordTime(rs.getTimestamp("record_time")); + data.setGroupVol(rs.getFloat("group_vol")); + data.setOnlineVol(rs.getFloat("online_vol")); list.add(data); } return list; -- Gitblit v1.9.1