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 +++++++++++++++------- src/main/java/com/whyc/dto/AnalysisAlm/ResAnalysis.java | 5 ++ src/main/java/com/whyc/service/AlmAnalysisParamService.java | 54 +++++++++++++------------- 3 files changed, 62 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/whyc/dto/AnalysisAlm/ResAnalysis.java b/src/main/java/com/whyc/dto/AnalysisAlm/ResAnalysis.java index 2b86c98..1c8e1bd 100644 --- a/src/main/java/com/whyc/dto/AnalysisAlm/ResAnalysis.java +++ b/src/main/java/com/whyc/dto/AnalysisAlm/ResAnalysis.java @@ -9,12 +9,17 @@ private Date recordTime; private String dataName1; private Float dataValue1; + private Integer dataType1; private String dataName2; private Float dataValue2; + private Integer dataType2; private String dataName3; private Float dataValue3; + private Integer dataType3; private String dataName4; private Float dataValue4; + private Integer dataType4; private String dataName5; private Float dataValue5; + private Integer dataType5; } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/AlmAnalysisParamService.java b/src/main/java/com/whyc/service/AlmAnalysisParamService.java index b0606c8..be2bfb0 100644 --- a/src/main/java/com/whyc/service/AlmAnalysisParamService.java +++ b/src/main/java/com/whyc/service/AlmAnalysisParamService.java @@ -73,18 +73,18 @@ return new Response().set(1,false,"鏃犲搴斿垎鏋愬睘鎬�"); }else{ //鍒嗙粍鏌ョ湅闇�瑕佹煡璇㈢數婧�/鐢垫睜瀹炴椂琛ㄧ殑鍝簺鏁版嵁 - Map<String,List<String>> groupmap=groupPwrAndBatt(almAnalysisParam); - List<String> battList=groupmap.get("batt"); - List<String> pwrList=groupmap.get("pwr"); + Map<String, Map<String,Integer>> groupmap=groupPwrAndBatt(almAnalysisParam); + Map<String,Integer> battMap=groupmap.get("batt"); + Map<String,Integer> pwrMap=groupmap.get("pwr"); if(battgroupId!=null){ - if(battList!=null&&battList.size()>0){ - List battHislist=getBattRealData(battgroupId,monthTimeList,battList); + if(battMap!=null&&battMap.size()>0){ + List battHislist=getBattRealData(battgroupId,monthTimeList,battMap); map.put("batt",battHislist); } } if(powerId!=null){ - if(pwrList!=null&&pwrList.size()>0){ - List pwrHislist=getPwrRealData(powerId,monthTimeList,pwrList); + if(pwrMap!=null&&pwrMap.size()>0){ + List pwrHislist=getPwrRealData(powerId,monthTimeList,pwrMap); map.put("pwr",pwrHislist); } } @@ -92,61 +92,61 @@ } } //鍒嗙粍鏌ョ湅闇�瑕佹煡璇㈢數婧�/鐢垫睜瀹炴椂琛ㄧ殑鍝簺鏁版嵁 - private Map<String, List<String>> groupPwrAndBatt(AlmAnalysisParam almAnalysisParam) { - Map<String, List<String>> map = new HashMap<>(); - List<String> battList=new ArrayList<>(); - List<String> pwrList=new ArrayList<>(); + private Map<String, Map<String,Integer>> groupPwrAndBatt(AlmAnalysisParam almAnalysisParam) { + Map<String, Map<String,Integer>> map = new HashMap<>(); + Map<String,Integer> battMap=new HashMap<>(); + Map<String,Integer> pwrMap=new HashMap<>(); if(almAnalysisParam.getMainFieldType()==1||almAnalysisParam.getMainFieldType()==2||almAnalysisParam.getMainFieldType()==3){ if(almAnalysisParam.getMainField()!=null||almAnalysisParam.getMainField().length()>0){ - pwrList.add(almAnalysisParam.getMainField()); + pwrMap.put(almAnalysisParam.getMainField(),almAnalysisParam.getMainFieldType()); } }else{ if(almAnalysisParam.getMainField()!=null||almAnalysisParam.getMainField().length()>0){ - battList.add(almAnalysisParam.getMainField()); + battMap.put(almAnalysisParam.getMainField(),almAnalysisParam.getMainFieldType()); } } if(almAnalysisParam.getMinorField1Type()==1||almAnalysisParam.getMinorField1Type()==2||almAnalysisParam.getMinorField1Type()==3){ if(almAnalysisParam.getMinorField1()!=null&&almAnalysisParam.getMinorField1().length()>0){ - pwrList.add(almAnalysisParam.getMinorField1()); + pwrMap.put(almAnalysisParam.getMinorField1(),almAnalysisParam.getMinorField1Type()); } }else{ if(almAnalysisParam.getMinorField1()!=null&&almAnalysisParam.getMinorField1().length()>0){ - battList.add(almAnalysisParam.getMinorField1()); + battMap.put(almAnalysisParam.getMinorField1(),almAnalysisParam.getMinorField1Type()); } } if(almAnalysisParam.getMinorField2Type()==1||almAnalysisParam.getMinorField2Type()==2||almAnalysisParam.getMinorField2Type()==3){ if(almAnalysisParam.getMinorField2()!=null&&almAnalysisParam.getMinorField2().length()>0){ - pwrList.add(almAnalysisParam.getMinorField2()); + pwrMap.put(almAnalysisParam.getMinorField2(),almAnalysisParam.getMinorField2Type()); } }else{ if(almAnalysisParam.getMinorField2()!=null&&almAnalysisParam.getMinorField2().length()>0){ - battList.add(almAnalysisParam.getMinorField2()); + battMap.put(almAnalysisParam.getMinorField2(),almAnalysisParam.getMinorField2Type()); } } if(almAnalysisParam.getMinorField3Type()==1||almAnalysisParam.getMinorField3Type()==2||almAnalysisParam.getMinorField3Type()==3){ if(almAnalysisParam.getMinorField3()!=null&&almAnalysisParam.getMinorField3().length()>0){ - pwrList.add(almAnalysisParam.getMinorField3()); + pwrMap.put(almAnalysisParam.getMinorField3(),almAnalysisParam.getMinorField3Type()); } }else{ if(almAnalysisParam.getMinorField3()!=null&&almAnalysisParam.getMinorField3().length()>0){ - battList.add(almAnalysisParam.getMinorField3()); + battMap.put(almAnalysisParam.getMinorField3(),almAnalysisParam.getMinorField3Type()); } } if(almAnalysisParam.getMinorField4Type()==1||almAnalysisParam.getMinorField4Type()==2||almAnalysisParam.getMinorField4Type()==3){ if(almAnalysisParam.getMinorField4()!=null&&almAnalysisParam.getMinorField4().length()>0){ - pwrList.add(almAnalysisParam.getMinorField4()); + pwrMap.put(almAnalysisParam.getMinorField4(),almAnalysisParam.getMinorField4Type()); } }else{ if(almAnalysisParam.getMinorField4()!=null&&almAnalysisParam.getMinorField4().length()>0){ - battList.add(almAnalysisParam.getMinorField4()); + battMap.put(almAnalysisParam.getMinorField4(),almAnalysisParam.getMinorField4Type()); } } - map.put("pwr",pwrList); - map.put("batt",battList); + map.put("pwr",pwrMap); + map.put("batt",battMap); return map; } //杩炴帴姹犺幏鍙栫數婧愬巻鍙插疄鏃舵暟鎹� - public List getPwrRealData(Integer powerId,List<List<Date>> monthTimeList,List<String> pwrList) throws InterruptedException { + public List getPwrRealData(Integer powerId,List<List<Date>> monthTimeList,Map<String,Integer> pwrMap) throws InterruptedException { List<ResAnalysis> dataList = new LinkedList<>(); ThreadPoolExecutor pool = ThreadPoolExecutorFactory.getPoolExecutor(); CountDownLatch latch = new CountDownLatch(monthTimeList.size()); @@ -163,7 +163,7 @@ int tableNum = subTablePageInfoService.judgeTable_pwrhis(table); List<ResAnalysis> list = new ArrayList(); if (tableNum > 0) { - list = subTablePageInfoService.getPwrHisRealInAlm(pwrHis,pwrList); + list = subTablePageInfoService.getPwrHisRealInAlm(pwrHis,pwrMap); } dataList.addAll(list); latch.countDown(); @@ -176,7 +176,7 @@ } //鐢垫睜鍛婅鐐瑰嚮鍏蜂綋鍛婅淇℃伅鏌ョ湅浠庡憡璀﹀紑濮嬫椂闂村埌鐜板湪鐨勫巻鍙插疄鏃舵暟鎹� - public List getBattRealData(Integer battgroupId, List<List<Date>> monthTimeList,List<String> battList) throws ParseException, InterruptedException { + public List getBattRealData(Integer battgroupId, List<List<Date>> monthTimeList,Map<String,Integer> battMap) throws ParseException, InterruptedException { List<ResAnalysis> dataList = new LinkedList<>(); ThreadPoolExecutor pool = ThreadPoolExecutorFactory.getPoolExecutor(); CountDownLatch latch = new CountDownLatch(monthTimeList.size()); @@ -193,7 +193,7 @@ int tableNum = subTablePageInfoService.judgeTable_realdata(table); List<ResAnalysis> list = new ArrayList(); if (tableNum > 0) { - list = subTablePageInfoService.getBattHisRealInAlm(realdata,battList); + list = subTablePageInfoService.getBattHisRealInAlm(realdata,battMap); } dataList.addAll(list); latch.countDown(); 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