From 929c4f378a77aa51e9d71ed4e19aa13f73be6bdf Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期五, 20 六月 2025 14:17:49 +0800
Subject: [PATCH] 预警分析管理-主属性和配置属性

---
 src/main/java/com/whyc/service/SubTablePageInfoService.java |   44 ++++++++++++++++++++++++++++++--------------
 1 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java
index e126ffe..70b7c25 100644
--- a/src/main/java/com/whyc/service/SubTablePageInfoService.java
+++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -800,8 +800,8 @@
         return list;
     }
     //鐢垫睜鏁版嵁鍘嗗彶瀹炴椂澶勭悊(棰勮鍒嗘瀽)
-    public List<ResAnalysis> getBattHisRealInAlm(BattRealdataId realdata, List<String> battList) {
-        String result = battList.stream().collect(Collectors.joining(","));
+    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)+"' " +
@@ -814,15 +814,22 @@
                 while (rs.next()){
                     ResAnalysis ph=new ResAnalysis();
                     ph.setRecordTime(rs.getTimestamp("record_time"));
-                    for (int i=0;i<battList.size();i++){
+                    int i=1;
+                    for (String key : battMap.keySet()) {
+                        Integer dataType = battMap.get(key);
                         try {
-                            Float value = rs.getFloat(battList.get(i));
-                            String propertyName = "dataName"+(i+1);
+                            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,battList.get(i));
+                            fieldName.set(ph,key);
 
-                            String propertyValue = "dataValue"+(i+1);
+                            String propertyValue = "dataValue"+(i);
                             Field fieldValue = ResAnalysis.class.getDeclaredField(propertyValue);
                             fieldValue.setAccessible(true);
                             fieldValue.set(ph,value);
@@ -831,6 +838,7 @@
                         } catch (IllegalAccessException e) {
                             e.printStackTrace();
                         }
+                        i++;
                     }
                     list.add(ph);
                 }
@@ -841,8 +849,8 @@
     }
 
     //鐢垫簮鏁版嵁鍘嗗彶瀹炴椂澶勭悊(棰勮鍒嗘瀽)
-    public List<ResAnalysis> getPwrHisRealInAlm(PwrdevHistorydataId pwrHis, List<String> pwrList) {
-        String result = pwrList.stream().collect(Collectors.joining(","));
+    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)+"' " +
@@ -855,15 +863,22 @@
                 while (rs.next()){
                     ResAnalysis ph=new ResAnalysis();
                     ph.setRecordTime(rs.getTimestamp("record_datetime"));
-                    for (int i=0;i<pwrList.size();i++){
+                    int i=1;
+                    for (String key : pwrMap.keySet()) {
+                        Integer dataType = pwrMap.get(key);
                         try {
-                            Float value = rs.getFloat(pwrList.get(i));
-                            String propertyName = "dataName"+(i+1);
+                            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,pwrList.get(i));
+                            fieldName.set(ph,key);
 
-                            String propertyValue = "dataValue"+(i+1);
+                            String propertyValue = "dataValue"+(i);
                             Field fieldValue = ResAnalysis.class.getDeclaredField(propertyValue);
                             fieldValue.setAccessible(true);
                             fieldValue.set(ph,value);
@@ -872,6 +887,7 @@
                         } catch (IllegalAccessException e) {
                             e.printStackTrace();
                         }
+                        i++;
                     }
                     list.add(ph);
                 }

--
Gitblit v1.9.1