diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/ExecutionCenter.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/ExecutionCenter.java index 60b5b62..b455dbf 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/ExecutionCenter.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/ExecutionCenter.java @@ -44,6 +44,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; + import static com.njcn.algorithm.utils.MemorySizeUtil.dealResponse; /** @@ -164,6 +165,7 @@ public class ExecutionCenter extends BaseController { } } else { //非补招 + calculatedParam.setType(2); liteflowResponse = flowExecutor.execute2Resp("wl_measurement_point", calculatedParam); dealResponse(calculatedParam, liteflowResponse, methodDescribe); } diff --git a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java index f9191c0..1059c2b 100644 --- a/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java +++ b/algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/serviceimpl/line/IDataCrossingServiceImpl.java @@ -92,7 +92,7 @@ public class IDataCrossingServiceImpl implements IDataCrossingService { List overLimitList; //获取所有监测点的限值 if (Objects.equals(lineParam.getType(), 2)) { - List list = csOverLimitClient.getOverLimitByLineIds(lineIds).getData(); + List list = csOverLimitClient.getOverLimitByLineIds(lineIds).getData(); overLimitList = list.stream() .map(item -> { Overlimit overlimit = new Overlimit(); diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerP.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerP.java index 1dd15f5..49d9cc3 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerP.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerP.java @@ -213,6 +213,115 @@ public class DataHarmpowerP { @Column(name = "p_50") private Double p50; + //在线监测添加的字段 + @Column(name = "totPf") + private Double totPf; + @Column(name = "totDf") + private Double totDf; + @Column(name = "totP") + private Double totP; + @Column(name = "totP1") + private Double totP1; + @Column(name = "totP2") + private Double totP2; + @Column(name = "totP3") + private Double totP3; + @Column(name = "totP4") + private Double totP4; + @Column(name = "totP5") + private Double totP5; + @Column(name = "totP6") + private Double totP6; + @Column(name = "totP7") + private Double totP7; + @Column(name = "totP8") + private Double totP8; + @Column(name = "totP9") + private Double totP9; + @Column(name = "totP10") + private Double totP10; + @Column(name = "totP11") + private Double totP11; + @Column(name = "totP12") + private Double totP12; + @Column(name = "totP13") + private Double totP13; + @Column(name = "totP14") + private Double totP14; + @Column(name = "totP15") + private Double totP15; + @Column(name = "totP16") + private Double totP16; + @Column(name = "totP17") + private Double totP17; + @Column(name = "totP18") + private Double totP18; + @Column(name = "totP19") + private Double totP19; + @Column(name = "totP20") + private Double totP20; + @Column(name = "totP21") + private Double totP21; + @Column(name = "totP22") + private Double totP22; + @Column(name = "totP23") + private Double totP23; + @Column(name = "totP24") + private Double totP24; + @Column(name = "totP25") + private Double totP25; + @Column(name = "totP26") + private Double totP26; + @Column(name = "totP27") + private Double totP27; + @Column(name = "totP28") + private Double totP28; + @Column(name = "totP29") + private Double totP29; + @Column(name = "totP30") + private Double totP30; + @Column(name = "totP31") + private Double totP31; + @Column(name = "totP32") + private Double totP32; + @Column(name = "totP33") + private Double totP33; + @Column(name = "totP34") + private Double totP34; + @Column(name = "totP35") + private Double totP35; + @Column(name = "totP36") + private Double totP36; + @Column(name = "totP37") + private Double totP37; + @Column(name = "totP38") + private Double totP38; + @Column(name = "totP39") + private Double totP39; + @Column(name = "totP40") + private Double totP40; + @Column(name = "totP41") + private Double totP41; + @Column(name = "totP42") + private Double totP42; + @Column(name = "totP43") + private Double totP43; + @Column(name = "totP44") + private Double totP44; + @Column(name = "totP45") + private Double totP45; + @Column(name = "totP46") + private Double totP46; + @Column(name = "totP47") + private Double totP47; + @Column(name = "totP49") + private Double totP48; + @Column(name = "totP49") + private Double totP49; + @Column(name = "totP50") + private Double totP50; + + public static List relationToInfluxDB(DataHarmpowerPDTO dataHarmpowerP) { if (dataHarmpowerP == null) { return null; diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerQ.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerQ.java index 84cf03d..beaeb33 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerQ.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerQ.java @@ -207,6 +207,111 @@ public class DataHarmpowerQ { @Column(name = "q_50") private Double q50; + //在线监测添加的字段 + @Column(name = "totQ") + private Double totQ; + @Column(name = "totQ1") + private Double totQ1; + @Column(name = "totQ2") + private Double totQ2; + @Column(name = "totQ3") + private Double totQ3; + @Column(name = "totQ4") + private Double totQ4; + @Column(name = "totQ5") + private Double totQ5; + @Column(name = "totQ6") + private Double totQ6; + @Column(name = "totQ7") + private Double totQ7; + @Column(name = "totQ8") + private Double totQ8; + @Column(name = "totQ9") + private Double totQ9; + @Column(name = "totQ10") + private Double totQ10; + @Column(name = "totQ11") + private Double totQ11; + @Column(name = "totQ12") + private Double totQ12; + @Column(name = "totQ13") + private Double totQ13; + @Column(name = "totQ14") + private Double totQ14; + @Column(name = "totQ15") + private Double totQ15; + @Column(name = "totQ16") + private Double totQ16; + @Column(name = "totQ17") + private Double totQ17; + @Column(name = "totQ18") + private Double totQ18; + @Column(name = "totQ19") + private Double totQ19; + @Column(name = "totQ20") + private Double totQ20; + @Column(name = "totQ21") + private Double totQ21; + @Column(name = "totQ22") + private Double totQ22; + @Column(name = "totQ23") + private Double totQ23; + @Column(name = "totQ24") + private Double totQ24; + @Column(name = "totQ25") + private Double totQ25; + @Column(name = "totQ26") + private Double totQ26; + @Column(name = "totQ27") + private Double totQ27; + @Column(name = "totQ28") + private Double totQ28; + @Column(name = "totQ29") + private Double totQ29; + @Column(name = "totQ30") + private Double totQ30; + @Column(name = "totQ31") + private Double totQ31; + @Column(name = "totQ32") + private Double totQ32; + @Column(name = "totQ33") + private Double totQ33; + @Column(name = "totQ34") + private Double totQ34; + @Column(name = "totQ35") + private Double totQ35; + @Column(name = "totQ36") + private Double totQ36; + @Column(name = "totQ37") + private Double totQ37; + @Column(name = "totQ38") + private Double totQ38; + @Column(name = "totQ39") + private Double totQ39; + @Column(name = "totQ40") + private Double totQ40; + @Column(name = "totQ41") + private Double totQ41; + @Column(name = "totQ42") + private Double totQ42; + @Column(name = "totQ43") + private Double totQ43; + @Column(name = "totQ44") + private Double totQ44; + @Column(name = "totQ45") + private Double totQ45; + @Column(name = "totQ46") + private Double totQ46; + @Column(name = "totQ47") + private Double totQ47; + @Column(name = "totQ49") + private Double totQ48; + @Column(name = "totQ49") + private Double totQ49; + @Column(name = "totQ50") + private Double totQ50; + + public static List relationToInfluxDB(DataHarmpowerQDTO dataHarmpowerQ) { if (dataHarmpowerQ == null) { return null; diff --git a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerS.java b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerS.java index bbac6f4..ddb0094 100644 --- a/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerS.java +++ b/data-processing/data-processing-api/src/main/java/com/njcn/dataProcess/po/influx/DataHarmpowerS.java @@ -207,6 +207,111 @@ public class DataHarmpowerS { @Column(name = "s_50") private Double s50; + //在线监测添加的字段 + @Column(name = "totS") + private Double totS; + @Column(name = "totS1") + private Double totS1; + @Column(name = "totS2") + private Double totS2; + @Column(name = "totS3") + private Double totS3; + @Column(name = "totS4") + private Double totS4; + @Column(name = "totS5") + private Double totS5; + @Column(name = "totS6") + private Double totS6; + @Column(name = "totS7") + private Double totS7; + @Column(name = "totS8") + private Double totS8; + @Column(name = "totS9") + private Double totS9; + @Column(name = "totS10") + private Double totS10; + @Column(name = "totS11") + private Double totS11; + @Column(name = "totS12") + private Double totS12; + @Column(name = "totS13") + private Double totS13; + @Column(name = "totS14") + private Double totS14; + @Column(name = "totS15") + private Double totS15; + @Column(name = "totS16") + private Double totS16; + @Column(name = "totS17") + private Double totS17; + @Column(name = "totS18") + private Double totS18; + @Column(name = "totS19") + private Double totS19; + @Column(name = "totS20") + private Double totS20; + @Column(name = "totS21") + private Double totS21; + @Column(name = "totS22") + private Double totS22; + @Column(name = "totS23") + private Double totS23; + @Column(name = "totS24") + private Double totS24; + @Column(name = "totS25") + private Double totS25; + @Column(name = "totS26") + private Double totS26; + @Column(name = "totS27") + private Double totS27; + @Column(name = "totS28") + private Double totS28; + @Column(name = "totS29") + private Double totS29; + @Column(name = "totS30") + private Double totS30; + @Column(name = "totS31") + private Double totS31; + @Column(name = "totS32") + private Double totS32; + @Column(name = "totS33") + private Double totS33; + @Column(name = "totS34") + private Double totS34; + @Column(name = "totS35") + private Double totS35; + @Column(name = "totS36") + private Double totS36; + @Column(name = "totS37") + private Double totS37; + @Column(name = "totS38") + private Double totS38; + @Column(name = "totS39") + private Double totS39; + @Column(name = "totS40") + private Double totS40; + @Column(name = "totS41") + private Double totS41; + @Column(name = "totS42") + private Double totS42; + @Column(name = "totS43") + private Double totS43; + @Column(name = "totS44") + private Double totS44; + @Column(name = "totS45") + private Double totS45; + @Column(name = "totS46") + private Double totS46; + @Column(name = "totS47") + private Double totS47; + @Column(name = "totS49") + private Double totS48; + @Column(name = "totS49") + private Double totS49; + @Column(name = "totS50") + private Double totS50; + + public static List relationToInfluxDB(DataHarmpowerSDTO dataHarmpowerS) { if (dataHarmpowerS == null) { return null; diff --git a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmpowerPImpl.java b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmpowerPImpl.java index bbe4bea..cc4ba76 100644 --- a/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmpowerPImpl.java +++ b/data-processing/data-processing-boot/src/main/java/com/njcn/dataProcess/service/impl/influxdb/InfluxdbDataHarmpowerPImpl.java @@ -27,6 +27,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.lang.reflect.Method; import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; @@ -126,68 +127,12 @@ public class InfluxdbDataHarmpowerPImpl extends MppServiceImpl{ CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); value.setValueType(valueType); - //规定好集合指标参数 - List data1 = valueTypeList.stream().map(DataHarmpowerP::getDf).collect(Collectors.toList()); - List data2 = valueTypeList.stream().map(DataHarmpowerP::getPf).collect(Collectors.toList()); - List data3 = valueTypeList.stream().map(DataHarmpowerP::getP).collect(Collectors.toList()); - - List data12 = valueTypeList.stream().map(DataHarmpowerP::getP1).collect(Collectors.toList()); - List data13 = valueTypeList.stream().map(DataHarmpowerP::getP2).collect(Collectors.toList()); - List data14 = valueTypeList.stream().map(DataHarmpowerP::getP3).collect(Collectors.toList()); - List data15 = valueTypeList.stream().map(DataHarmpowerP::getP4).collect(Collectors.toList()); - List data16 = valueTypeList.stream().map(DataHarmpowerP::getP5).collect(Collectors.toList()); - List data17 = valueTypeList.stream().map(DataHarmpowerP::getP6).collect(Collectors.toList()); - List data18 = valueTypeList.stream().map(DataHarmpowerP::getP7).collect(Collectors.toList()); - List data19 = valueTypeList.stream().map(DataHarmpowerP::getP8).collect(Collectors.toList()); - List data20 = valueTypeList.stream().map(DataHarmpowerP::getP9).collect(Collectors.toList()); - List data21 = valueTypeList.stream().map(DataHarmpowerP::getP10).collect(Collectors.toList()); - List data22 = valueTypeList.stream().map(DataHarmpowerP::getP11).collect(Collectors.toList()); - List data23 = valueTypeList.stream().map(DataHarmpowerP::getP12).collect(Collectors.toList()); - List data24 = valueTypeList.stream().map(DataHarmpowerP::getP13).collect(Collectors.toList()); - List data25 = valueTypeList.stream().map(DataHarmpowerP::getP14).collect(Collectors.toList()); - List data26 = valueTypeList.stream().map(DataHarmpowerP::getP15).collect(Collectors.toList()); - List data27 = valueTypeList.stream().map(DataHarmpowerP::getP16).collect(Collectors.toList()); - List data28 = valueTypeList.stream().map(DataHarmpowerP::getP17).collect(Collectors.toList()); - List data29 = valueTypeList.stream().map(DataHarmpowerP::getP18).collect(Collectors.toList()); - List data30 = valueTypeList.stream().map(DataHarmpowerP::getP19).collect(Collectors.toList()); - List data31 = valueTypeList.stream().map(DataHarmpowerP::getP20).collect(Collectors.toList()); - List data32 = valueTypeList.stream().map(DataHarmpowerP::getP21).collect(Collectors.toList()); - List data33 = valueTypeList.stream().map(DataHarmpowerP::getP22).collect(Collectors.toList()); - List data34 = valueTypeList.stream().map(DataHarmpowerP::getP23).collect(Collectors.toList()); - List data35 = valueTypeList.stream().map(DataHarmpowerP::getP24).collect(Collectors.toList()); - List data36 = valueTypeList.stream().map(DataHarmpowerP::getP25).collect(Collectors.toList()); - List data37 = valueTypeList.stream().map(DataHarmpowerP::getP26).collect(Collectors.toList()); - List data38 = valueTypeList.stream().map(DataHarmpowerP::getP27).collect(Collectors.toList()); - List data39 = valueTypeList.stream().map(DataHarmpowerP::getP28).collect(Collectors.toList()); - List data40 = valueTypeList.stream().map(DataHarmpowerP::getP29).collect(Collectors.toList()); - List data41 = valueTypeList.stream().map(DataHarmpowerP::getP30).collect(Collectors.toList()); - List data42 = valueTypeList.stream().map(DataHarmpowerP::getP31).collect(Collectors.toList()); - List data43 = valueTypeList.stream().map(DataHarmpowerP::getP32).collect(Collectors.toList()); - List data44 = valueTypeList.stream().map(DataHarmpowerP::getP33).collect(Collectors.toList()); - List data45 = valueTypeList.stream().map(DataHarmpowerP::getP34).collect(Collectors.toList()); - List data46 = valueTypeList.stream().map(DataHarmpowerP::getP35).collect(Collectors.toList()); - List data47 = valueTypeList.stream().map(DataHarmpowerP::getP36).collect(Collectors.toList()); - List data48 = valueTypeList.stream().map(DataHarmpowerP::getP37).collect(Collectors.toList()); - List data49 = valueTypeList.stream().map(DataHarmpowerP::getP38).collect(Collectors.toList()); - List data50 = valueTypeList.stream().map(DataHarmpowerP::getP39).collect(Collectors.toList()); - List data51 = valueTypeList.stream().map(DataHarmpowerP::getP40).collect(Collectors.toList()); - List data52 = valueTypeList.stream().map(DataHarmpowerP::getP41).collect(Collectors.toList()); - List data53 = valueTypeList.stream().map(DataHarmpowerP::getP42).collect(Collectors.toList()); - List data54 = valueTypeList.stream().map(DataHarmpowerP::getP43).collect(Collectors.toList()); - List data55 = valueTypeList.stream().map(DataHarmpowerP::getP44).collect(Collectors.toList()); - List data56 = valueTypeList.stream().map(DataHarmpowerP::getP45).collect(Collectors.toList()); - List data57 = valueTypeList.stream().map(DataHarmpowerP::getP46).collect(Collectors.toList()); - List data58 = valueTypeList.stream().map(DataHarmpowerP::getP47).collect(Collectors.toList()); - List data59 = valueTypeList.stream().map(DataHarmpowerP::getP48).collect(Collectors.toList()); - List data60 = valueTypeList.stream().map(DataHarmpowerP::getP49).collect(Collectors.toList()); - List data61 = valueTypeList.stream().map(DataHarmpowerP::getP50).collect(Collectors.toList()); - - List> lists = Arrays.asList(data1,data2,data3,data12,data13,data14 - ,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24 - ,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34 - ,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44 - ,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54 - ,data55,data56,data57,data58,data59,data60,data61); + List> lists; + if (Objects.equals(phasicType, "T")) { + lists = extractDataLists(valueTypeList, "Tot"); + } else { + lists = extractDataLists(valueTypeList, ""); + } value.setValueList(lists); valueTypes.add(value); }); @@ -201,6 +146,43 @@ public class InfluxdbDataHarmpowerPImpl extends MppServiceImpl> extractDataLists(List dataList, String prefix) { + List> result = new ArrayList<>(); + // 前三个特殊字段 + result.add(extractField(dataList, prefix + "Df")); + result.add(extractField(dataList, prefix + "Pf")); + result.add(extractField(dataList, prefix + "P")); + // P1到P50 + for (int i = 1; i <= 50; i++) { + String fieldName = prefix + (i == 1 ? "P1" : "P" + i); + result.add(extractField(dataList, fieldName)); + } + return result; + } + + private List extractField(List dataList, String fieldName) { + try { + Method method = DataHarmpowerP.class.getMethod("get" + capitalize(fieldName)); + return dataList.stream() + .map(data -> { + try { + return (Double) method.invoke(data); + } catch (Exception e) { + throw new RuntimeException("Failed to get field: " + fieldName, e); + } + }) + .collect(Collectors.toList()); + } catch (NoSuchMethodException e) { + throw new RuntimeException("Field not found: " + fieldName, e); + } + } + + private String capitalize(String str) { + if (str == null || str.isEmpty()) return str; + return str.substring(0, 1).toUpperCase() + str.substring(1); + } + + @Override public void addList(List list) { @@ -296,20 +278,31 @@ public class InfluxdbDataHarmpowerPImpl extends MppServiceImpl{ CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); value.setValueType(valueType); - //规定好集合指标参数 - List data1 = valueTypeList.stream().map(DataHarmpowerQ::getQ).collect(Collectors.toList()); - List data12 = valueTypeList.stream().map(DataHarmpowerQ::getQ1).collect(Collectors.toList()); - List data13 = valueTypeList.stream().map(DataHarmpowerQ::getQ2).collect(Collectors.toList()); - List data14 = valueTypeList.stream().map(DataHarmpowerQ::getQ3).collect(Collectors.toList()); - List data15 = valueTypeList.stream().map(DataHarmpowerQ::getQ4).collect(Collectors.toList()); - List data16 = valueTypeList.stream().map(DataHarmpowerQ::getQ5).collect(Collectors.toList()); - List data17 = valueTypeList.stream().map(DataHarmpowerQ::getQ6).collect(Collectors.toList()); - List data18 = valueTypeList.stream().map(DataHarmpowerQ::getQ7).collect(Collectors.toList()); - List data19 = valueTypeList.stream().map(DataHarmpowerQ::getQ8).collect(Collectors.toList()); - List data20 = valueTypeList.stream().map(DataHarmpowerQ::getQ9).collect(Collectors.toList()); - List data21 = valueTypeList.stream().map(DataHarmpowerQ::getQ10).collect(Collectors.toList()); - List data22 = valueTypeList.stream().map(DataHarmpowerQ::getQ11).collect(Collectors.toList()); - List data23 = valueTypeList.stream().map(DataHarmpowerQ::getQ12).collect(Collectors.toList()); - List data24 = valueTypeList.stream().map(DataHarmpowerQ::getQ13).collect(Collectors.toList()); - List data25 = valueTypeList.stream().map(DataHarmpowerQ::getQ14).collect(Collectors.toList()); - List data26 = valueTypeList.stream().map(DataHarmpowerQ::getQ15).collect(Collectors.toList()); - List data27 = valueTypeList.stream().map(DataHarmpowerQ::getQ16).collect(Collectors.toList()); - List data28 = valueTypeList.stream().map(DataHarmpowerQ::getQ17).collect(Collectors.toList()); - List data29 = valueTypeList.stream().map(DataHarmpowerQ::getQ18).collect(Collectors.toList()); - List data30 = valueTypeList.stream().map(DataHarmpowerQ::getQ19).collect(Collectors.toList()); - List data31 = valueTypeList.stream().map(DataHarmpowerQ::getQ20).collect(Collectors.toList()); - List data32 = valueTypeList.stream().map(DataHarmpowerQ::getQ21).collect(Collectors.toList()); - List data33 = valueTypeList.stream().map(DataHarmpowerQ::getQ22).collect(Collectors.toList()); - List data34 = valueTypeList.stream().map(DataHarmpowerQ::getQ23).collect(Collectors.toList()); - List data35 = valueTypeList.stream().map(DataHarmpowerQ::getQ24).collect(Collectors.toList()); - List data36 = valueTypeList.stream().map(DataHarmpowerQ::getQ25).collect(Collectors.toList()); - List data37 = valueTypeList.stream().map(DataHarmpowerQ::getQ26).collect(Collectors.toList()); - List data38 = valueTypeList.stream().map(DataHarmpowerQ::getQ27).collect(Collectors.toList()); - List data39 = valueTypeList.stream().map(DataHarmpowerQ::getQ28).collect(Collectors.toList()); - List data40 = valueTypeList.stream().map(DataHarmpowerQ::getQ29).collect(Collectors.toList()); - List data41 = valueTypeList.stream().map(DataHarmpowerQ::getQ30).collect(Collectors.toList()); - List data42 = valueTypeList.stream().map(DataHarmpowerQ::getQ31).collect(Collectors.toList()); - List data43 = valueTypeList.stream().map(DataHarmpowerQ::getQ32).collect(Collectors.toList()); - List data44 = valueTypeList.stream().map(DataHarmpowerQ::getQ33).collect(Collectors.toList()); - List data45 = valueTypeList.stream().map(DataHarmpowerQ::getQ34).collect(Collectors.toList()); - List data46 = valueTypeList.stream().map(DataHarmpowerQ::getQ35).collect(Collectors.toList()); - List data47 = valueTypeList.stream().map(DataHarmpowerQ::getQ36).collect(Collectors.toList()); - List data48 = valueTypeList.stream().map(DataHarmpowerQ::getQ37).collect(Collectors.toList()); - List data49 = valueTypeList.stream().map(DataHarmpowerQ::getQ38).collect(Collectors.toList()); - List data50 = valueTypeList.stream().map(DataHarmpowerQ::getQ39).collect(Collectors.toList()); - List data51 = valueTypeList.stream().map(DataHarmpowerQ::getQ40).collect(Collectors.toList()); - List data52 = valueTypeList.stream().map(DataHarmpowerQ::getQ41).collect(Collectors.toList()); - List data53 = valueTypeList.stream().map(DataHarmpowerQ::getQ42).collect(Collectors.toList()); - List data54 = valueTypeList.stream().map(DataHarmpowerQ::getQ43).collect(Collectors.toList()); - List data55 = valueTypeList.stream().map(DataHarmpowerQ::getQ44).collect(Collectors.toList()); - List data56 = valueTypeList.stream().map(DataHarmpowerQ::getQ45).collect(Collectors.toList()); - List data57 = valueTypeList.stream().map(DataHarmpowerQ::getQ46).collect(Collectors.toList()); - List data58 = valueTypeList.stream().map(DataHarmpowerQ::getQ47).collect(Collectors.toList()); - List data59 = valueTypeList.stream().map(DataHarmpowerQ::getQ48).collect(Collectors.toList()); - List data60 = valueTypeList.stream().map(DataHarmpowerQ::getQ49).collect(Collectors.toList()); - List data61 = valueTypeList.stream().map(DataHarmpowerQ::getQ50).collect(Collectors.toList()); - - List> lists = Arrays.asList(data1,data12,data13,data14 - ,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24 - ,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34 - ,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44 - ,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54 - ,data55,data56,data57,data58,data59,data60,data61); + List> lists; + if (Objects.equals(phasicType, "T")) { + lists = extractDataLists(valueTypeList, "Tot"); + } else { + lists = extractDataLists(valueTypeList, ""); + } value.setValueList(lists); valueTypes.add(value); }); @@ -197,6 +145,39 @@ public class InfluxdbDataHarmpowerQImpl extends MppServiceImpl> extractDataLists(List dataList, String prefix) { + List> result = new ArrayList<>(); + result.add(extractField(dataList, prefix + "Q")); + // Q1到Q50 + for (int i = 1; i <= 50; i++) { + String fieldName = prefix + (i == 1 ? "Q1" : "Q" + i); + result.add(extractField(dataList, fieldName)); + } + return result; + } + + private List extractField(List dataList, String fieldName) { + try { + Method method = DataHarmpowerQ.class.getMethod("get" + capitalize(fieldName)); + return dataList.stream() + .map(data -> { + try { + return (Double) method.invoke(data); + } catch (Exception e) { + throw new RuntimeException("Failed to get field: " + fieldName, e); + } + }) + .collect(Collectors.toList()); + } catch (NoSuchMethodException e) { + throw new RuntimeException("Field not found: " + fieldName, e); + } + } + + private String capitalize(String str) { + if (str == null || str.isEmpty()) return str; + return str.substring(0, 1).toUpperCase() + str.substring(1); + } + @Override public void addList(List list) { @@ -290,16 +271,23 @@ public class InfluxdbDataHarmpowerQImpl extends MppServiceImpl{ CommonMinuteDto.ValueType value = new CommonMinuteDto.ValueType(); value.setValueType(valueType); - //规定好集合指标参数 - List data1 = valueTypeList.stream().map(DataHarmpowerS::getS).collect(Collectors.toList()); - - List data12 = valueTypeList.stream().map(DataHarmpowerS::getS1).collect(Collectors.toList()); - List data13 = valueTypeList.stream().map(DataHarmpowerS::getS2).collect(Collectors.toList()); - List data14 = valueTypeList.stream().map(DataHarmpowerS::getS3).collect(Collectors.toList()); - List data15 = valueTypeList.stream().map(DataHarmpowerS::getS4).collect(Collectors.toList()); - List data16 = valueTypeList.stream().map(DataHarmpowerS::getS5).collect(Collectors.toList()); - List data17 = valueTypeList.stream().map(DataHarmpowerS::getS6).collect(Collectors.toList()); - List data18 = valueTypeList.stream().map(DataHarmpowerS::getS7).collect(Collectors.toList()); - List data19 = valueTypeList.stream().map(DataHarmpowerS::getS8).collect(Collectors.toList()); - List data20 = valueTypeList.stream().map(DataHarmpowerS::getS9).collect(Collectors.toList()); - List data21 = valueTypeList.stream().map(DataHarmpowerS::getS10).collect(Collectors.toList()); - List data22 = valueTypeList.stream().map(DataHarmpowerS::getS11).collect(Collectors.toList()); - List data23 = valueTypeList.stream().map(DataHarmpowerS::getS12).collect(Collectors.toList()); - List data24 = valueTypeList.stream().map(DataHarmpowerS::getS13).collect(Collectors.toList()); - List data25 = valueTypeList.stream().map(DataHarmpowerS::getS14).collect(Collectors.toList()); - List data26 = valueTypeList.stream().map(DataHarmpowerS::getS15).collect(Collectors.toList()); - List data27 = valueTypeList.stream().map(DataHarmpowerS::getS16).collect(Collectors.toList()); - List data28 = valueTypeList.stream().map(DataHarmpowerS::getS17).collect(Collectors.toList()); - List data29 = valueTypeList.stream().map(DataHarmpowerS::getS18).collect(Collectors.toList()); - List data30 = valueTypeList.stream().map(DataHarmpowerS::getS19).collect(Collectors.toList()); - List data31 = valueTypeList.stream().map(DataHarmpowerS::getS20).collect(Collectors.toList()); - List data32 = valueTypeList.stream().map(DataHarmpowerS::getS21).collect(Collectors.toList()); - List data33 = valueTypeList.stream().map(DataHarmpowerS::getS22).collect(Collectors.toList()); - List data34 = valueTypeList.stream().map(DataHarmpowerS::getS23).collect(Collectors.toList()); - List data35 = valueTypeList.stream().map(DataHarmpowerS::getS24).collect(Collectors.toList()); - List data36 = valueTypeList.stream().map(DataHarmpowerS::getS25).collect(Collectors.toList()); - List data37 = valueTypeList.stream().map(DataHarmpowerS::getS26).collect(Collectors.toList()); - List data38 = valueTypeList.stream().map(DataHarmpowerS::getS27).collect(Collectors.toList()); - List data39 = valueTypeList.stream().map(DataHarmpowerS::getS28).collect(Collectors.toList()); - List data40 = valueTypeList.stream().map(DataHarmpowerS::getS29).collect(Collectors.toList()); - List data41 = valueTypeList.stream().map(DataHarmpowerS::getS30).collect(Collectors.toList()); - List data42 = valueTypeList.stream().map(DataHarmpowerS::getS31).collect(Collectors.toList()); - List data43 = valueTypeList.stream().map(DataHarmpowerS::getS32).collect(Collectors.toList()); - List data44 = valueTypeList.stream().map(DataHarmpowerS::getS33).collect(Collectors.toList()); - List data45 = valueTypeList.stream().map(DataHarmpowerS::getS34).collect(Collectors.toList()); - List data46 = valueTypeList.stream().map(DataHarmpowerS::getS35).collect(Collectors.toList()); - List data47 = valueTypeList.stream().map(DataHarmpowerS::getS36).collect(Collectors.toList()); - List data48 = valueTypeList.stream().map(DataHarmpowerS::getS37).collect(Collectors.toList()); - List data49 = valueTypeList.stream().map(DataHarmpowerS::getS38).collect(Collectors.toList()); - List data50 = valueTypeList.stream().map(DataHarmpowerS::getS39).collect(Collectors.toList()); - List data51 = valueTypeList.stream().map(DataHarmpowerS::getS40).collect(Collectors.toList()); - List data52 = valueTypeList.stream().map(DataHarmpowerS::getS41).collect(Collectors.toList()); - List data53 = valueTypeList.stream().map(DataHarmpowerS::getS42).collect(Collectors.toList()); - List data54 = valueTypeList.stream().map(DataHarmpowerS::getS43).collect(Collectors.toList()); - List data55 = valueTypeList.stream().map(DataHarmpowerS::getS44).collect(Collectors.toList()); - List data56 = valueTypeList.stream().map(DataHarmpowerS::getS45).collect(Collectors.toList()); - List data57 = valueTypeList.stream().map(DataHarmpowerS::getS46).collect(Collectors.toList()); - List data58 = valueTypeList.stream().map(DataHarmpowerS::getS47).collect(Collectors.toList()); - List data59 = valueTypeList.stream().map(DataHarmpowerS::getS48).collect(Collectors.toList()); - List data60 = valueTypeList.stream().map(DataHarmpowerS::getS49).collect(Collectors.toList()); - List data61 = valueTypeList.stream().map(DataHarmpowerS::getS50).collect(Collectors.toList()); - - List> lists = Arrays.asList(data1,data12,data13,data14 - ,data15,data16,data17,data18,data19,data20,data21,data22,data23,data24 - ,data25,data26,data27,data28,data29,data30,data31,data32,data33,data34 - ,data35,data36,data37,data38,data39,data40,data41,data42,data43,data44 - ,data45,data46,data47,data48,data49,data50,data51,data52,data53,data54 - ,data55,data56,data57,data58,data59,data60,data61); + List> lists; + if (Objects.equals(phasicType, "T")) { + lists = extractDataLists(valueTypeList, "Tot"); + } else { + lists = extractDataLists(valueTypeList, ""); + } value.setValueList(lists); valueTypes.add(value); }); @@ -197,6 +144,39 @@ public class InfluxdbDataHarmpowerSImpl extends MppServiceImpl> extractDataLists(List dataList, String prefix) { + List> result = new ArrayList<>(); + result.add(extractField(dataList, prefix + "S")); + // Q1到Q50 + for (int i = 1; i <= 50; i++) { + String fieldName = prefix + (i == 1 ? "S1" : "S" + i); + result.add(extractField(dataList, fieldName)); + } + return result; + } + + private List extractField(List dataList, String fieldName) { + try { + Method method = DataHarmpowerS.class.getMethod("get" + capitalize(fieldName)); + return dataList.stream() + .map(data -> { + try { + return (Double) method.invoke(data); + } catch (Exception e) { + throw new RuntimeException("Failed to get field: " + fieldName, e); + } + }) + .collect(Collectors.toList()); + } catch (NoSuchMethodException e) { + throw new RuntimeException("Field not found: " + fieldName, e); + } + } + + private String capitalize(String str) { + if (str == null || str.isEmpty()) return str; + return str.substring(0, 1).toUpperCase() + str.substring(1); + } + @Override public void addList(List list) { @@ -290,16 +270,23 @@ public class InfluxdbDataHarmpowerSImpl extends MppServiceImpl