diff --git a/pqs-common/common-influxdb/src/main/java/com/njcn/influxdb/param/InfluxDBPublicParam.java b/pqs-common/common-influxdb/src/main/java/com/njcn/influxdb/param/InfluxDBPublicParam.java index 8f8816b3b..869ebe0f1 100644 --- a/pqs-common/common-influxdb/src/main/java/com/njcn/influxdb/param/InfluxDBPublicParam.java +++ b/pqs-common/common-influxdb/src/main/java/com/njcn/influxdb/param/InfluxDBPublicParam.java @@ -209,6 +209,11 @@ public interface InfluxDBPublicParam { */ String LIMIT_TARGET = "limit_target"; + /** + * pqs_comasses + */ + String PQS_COMASSES = "pqs_comasses"; + /** * 监测点状态信息表 */ diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PQSComAssesPO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PQSComAssesPO.java index 93527bb05..9d1267a82 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PQSComAssesPO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/PQSComAssesPO.java @@ -12,103 +12,103 @@ import java.time.Instant; * @date: 2022/04/21 14:58 */ @Data -@Measurement(name = "PQS_COMASSES") +@Measurement(name = "pqs_comasses") public class PQSComAssesPO { //时间索引 @Column(name = "time") private Instant time; //监测点索引 - @Column(name = "LineID") + @Column(name = "line_id") private String lineId; //电压正偏差等级1 - @Column(name = "VU_Dev1") + @Column(name = "vu_dev1") private Double vuDev1; //电压正偏差等级2 - @Column(name = "VU_Dev2") + @Column(name = "vu_dev2") private Double vuDev2; //电压正偏差等级3 - @Column(name = "VU_Dev3") + @Column(name = "vu_dev3") private Double vuDev3; //电压正偏差等级4 - @Column(name = "VU_Dev4") + @Column(name = "vu_dev4") private Double vuDev4; //电压正偏差等级5 - @Column(name = "VU_Dev5") + @Column(name = "vu_dev5") private Double vuDev5; //频率偏差等级1 - @Column(name = "Freq_Dev1") + @Column(name = "freq_dev1") private Double freqDev1; //频率偏差等级2 - @Column(name = "Freq_Dev2") + @Column(name = "freq_dev2") private Double freqDev2; //频率偏差等级3 - @Column(name = "Freq_Dev3") + @Column(name = "freq_dev3") private Double freqDev3; //频率偏差等级4 - @Column(name = "Freq_Dev4") + @Column(name = "freq_dev4") private Double freqDev4; //频率偏差等级5 - @Column(name = "Freq_Dev5") + @Column(name = "freq_dev5") private Double freqDev5; //电压闪变等级1 - @Column(name = "Data_PST1") + @Column(name = "data_plt1") private Double dataPST1; //电压闪变等级2 - @Column(name = "Data_PST2") + @Column(name = "data_plt2") private Double dataPST2; //电压闪变等级3 - @Column(name = "Data_PST3") + @Column(name = "data_plt3") private Double dataPST3; //电压闪变等级4 - @Column(name = "Data_PST4") + @Column(name = "data_plt4") private Double dataPST4; //电压闪变等级5 - @Column(name = "Data_PST5") + @Column(name = "data_plt5") private Double dataPST5; //电压不平衡度等级1 - @Column(name = "V_Unbalance1") + @Column(name = "v_unbalance1") private Double vUnbalance1; //电压不平衡度等级2 - @Column(name = "V_Unbalance2") + @Column(name = "v_unbalance2") private Double vUnbalance2; //电压不平衡度等级3 - @Column(name = "V_Unbalance3") + @Column(name = "v_unbalance3") private Double vUnbalance3; //电压不平衡度等级4 - @Column(name = "V_Unbalance4") + @Column(name = "v_unbalance4") private Double vUnbalance4; //电压不平衡度等级5 - @Column(name = "V_Unbalance5") + @Column(name = "v_unbalance5") private Double vUnbalance5; //谐波含量等级1 - @Column(name = "V_THD1") + @Column(name = "v_thd1") private Double vTHD1; //谐波含量等级2 - @Column(name = "V_THD2") + @Column(name = "v_thd2") private Double vTHD2; //谐波含量等级3 - @Column(name = "V_THD3") + @Column(name = "v_thd3") private Double vTHD3; //谐波含量等级4 - @Column(name = "V_THD4") + @Column(name = "v_thd4") private Double vTHD4; //谐波含量等级5 - @Column(name = "V_THD5") + @Column(name = "v_thd5") private Double vTHD5; //电压暂降等级1 - @Column(name = "Event1") + @Column(name = "event1") private Double event1; //电压暂降等级2 - @Column(name = "Event2") + @Column(name = "event2") private Double event2; //电压暂降等级3 - @Column(name = "Event3") + @Column(name = "event3") private Double event3; //电压暂降等级4 - @Column(name = "Event4") + @Column(name = "event4") private Double event4; //电压暂降等级5 - @Column(name = "Event5") + @Column(name = "event5") private Double event5; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java index 357cdf09e..99d86841f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java @@ -3,12 +3,12 @@ package com.njcn.harmonic.service.impl; import com.njcn.device.api.GeneralDeviceInfoClient; import com.njcn.device.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pojo.param.DeviceInfoParam; -import com.njcn.harmonic.constant.Param; import com.njcn.harmonic.pojo.dto.ComAssessDTO; import com.njcn.harmonic.pojo.po.PQSComAssesPO; import com.njcn.harmonic.pojo.vo.ComAssessVO; import com.njcn.harmonic.service.ComAssessService; import com.njcn.harmonic.utils.HarmonicComAssesUtil; +import com.njcn.influxdb.param.InfluxDBPublicParam; import com.njcn.influxdb.utils.InfluxDbUtils; import lombok.AllArgsConstructor; import org.influxdb.dto.QueryResult; @@ -48,12 +48,13 @@ public class ComAssessServiceImpl implements ComAssessService { comAssessVO.setMonitors(lineIndexes.size()); if (!CollectionUtils.isEmpty(lineIndexes)) { List pqsComAssesPOS = getComAccessData(lineIndexes, comAccessParam.getSearchBeginTime(), comAccessParam.getSearchEndTime()); - setResults(pqsComAssesPOS,comAssessDTOS); - - float allComAss = comAssesUtil.getAllComAss(comAssessDTOS); - String lv = getLevel(allComAss); - comAssessVO.setData(allComAss); - comAssessVO.setLevel(lv); + if (!CollectionUtils.isEmpty(pqsComAssesPOS)) { + setResults(pqsComAssesPOS,comAssessDTOS); + float allComAss = comAssesUtil.getAllComAss(comAssessDTOS); + String lv = getLevel(allComAss); + comAssessVO.setData(allComAss); + comAssessVO.setLevel(lv); + } } comAssessVOList.add(comAssessVO); } @@ -62,6 +63,7 @@ public class ComAssessServiceImpl implements ComAssessService { return comAssessVOList; } + //设置保留四位小数 private void setResults(List pqsComAssesPOS, List comAssessDTOS) { for (int i = 0; i < pqsComAssesPOS.size(); i++) { float v1 = new BigDecimal(pqsComAssesPOS.get(i).getVuDev1()).setScale(4, BigDecimal.ROUND_HALF_UP).floatValue(); @@ -150,6 +152,7 @@ public class ComAssessServiceImpl implements ComAssessService { /** * influxDB查询综合评估相关信息 + * 返回每个监测点在时间段的各指标平均数 * @param lineIndexes * @param searchBeginTime * @param searchEndTime @@ -157,26 +160,24 @@ public class ComAssessServiceImpl implements ComAssessService { private List getComAccessData(List lineIndexes, String searchBeginTime, String searchEndTime) { //组装sql语句 StringBuilder builder = new StringBuilder(); - builder.append("MEAN(VU_Dev1)AS VU_Dev1, MEAN(VU_Dev2)AS VU_Dev2, MEAN(VU_Dev3)AS VU_Dev3, MEAN(VU_Dev4)AS VU_Dev4, MEAN(VU_Dev5)AS VU_Dev5, MEAN(Freq_Dev1)AS Freq_Dev1, MEAN(Freq_Dev2)AS Freq_Dev2, MEAN(Freq_Dev3)AS Freq_Dev3, MEAN(Freq_Dev4)AS Freq_Dev4, MEAN(Freq_Dev5)AS Freq_Dev5, MEAN(Data_PST1)AS Data_PST1, MEAN(Data_PST2)AS Data_PST2, MEAN(Data_PST3)AS Data_PST3, MEAN(Data_PST4)AS Data_PST4, MEAN(Data_PST5)AS Data_PST5, MEAN(V_Unbalance1)AS V_Unbalance1, MEAN(V_Unbalance2)AS V_Unbalance2, MEAN(V_Unbalance3)AS V_Unbalance3, MEAN(V_Unbalance4)AS V_Unbalance4, MEAN(V_Unbalance5)AS V_Unbalance5, MEAN(V_THD1)AS V_THD1, MEAN(V_THD2)AS V_THD2, MEAN(V_THD3)AS V_THD3, MEAN(V_THD4)AS V_THD4, MEAN(V_THD5)AS V_THD5, MEAN(Event1)AS Event1, MEAN(Event2)AS Event2, MEAN(Event3)AS Event3, MEAN(Event4)AS Event4, MEAN(Event5)AS Event5"); + builder.append("MEAN(vu_dev1)AS vu_dev1, MEAN(vu_dev2)AS vu_dev2, MEAN(vu_dev3)AS vu_dev3, MEAN(vu_dev4)AS vu_dev4, MEAN(vu_dev5)AS vu_dev5, MEAN(freq_dev1)AS freq_dev1, MEAN(freq_dev2)AS freq_dev2, MEAN(freq_dev3)AS freq_dev3, MEAN(freq_dev4)AS freq_dev4, MEAN(freq_dev5)AS freq_dev5, MEAN(data_plt1)AS data_plt1, MEAN(data_plt2)AS data_plt2, MEAN(data_plt3)AS data_plt3, MEAN(data_plt4)AS data_plt4, MEAN(data_plt5)AS data_plt5, MEAN(v_unbalance1)AS v_unbalance1, MEAN(v_unbalance2)AS v_unbalance2, MEAN(v_unbalance3)AS v_unbalance3, MEAN(v_unbalance4)AS v_unbalance4, MEAN(v_unbalance5)AS v_unbalance5, MEAN(v_thd1)AS v_thd1, MEAN(v_thd2)AS v_thd2, MEAN(v_thd3)AS v_thd3, MEAN(v_thd4)AS v_thd4, MEAN(v_thd5)AS v_thd5, MEAN(event1)AS event1, MEAN(event2)AS event2, MEAN(event3)AS event3, MEAN(event4)AS event4, MEAN(event5)AS event5"); StringBuffer string = new StringBuffer(); - string.append(Param.TIME + " >= '" + searchBeginTime + Param.START_TIME + "' and " + Param.TIME + " <= '" + searchEndTime + Param.END_TIME + "' and "); + string.append(InfluxDBPublicParam.TIME + " >= '" + searchBeginTime + InfluxDBPublicParam.START_TIME + "' and " + InfluxDBPublicParam.TIME + " <= '" + searchEndTime + InfluxDBPublicParam.END_TIME + "' and "); for (int i = 0; i < lineIndexes.size(); i++) { if (lineIndexes.size() - i != 1) { - string.append(Param.LINEID + "='").append(lineIndexes.get(i)).append("' or "); + string.append(InfluxDBPublicParam.LINE_ID + "='").append(lineIndexes.get(i)).append("' or "); } else { - string.append(Param.LINEID + "='").append(lineIndexes.get(i)).append("' group by " + Param.LINEID); + string.append(InfluxDBPublicParam.LINE_ID + "='").append(lineIndexes.get(i)).append("' group by " + InfluxDBPublicParam.LINE_ID); } } - //sql语句 - String sql = "SELECT "+ builder +" FROM PQS_COMASSES WHERE " + string; + String sql = "SELECT "+ builder +" FROM "+InfluxDBPublicParam.PQS_COMASSES+" WHERE " + string + InfluxDBPublicParam.TIME_ZONE; //结果集 + System.out.println("--------------->>>>"+sql); QueryResult result = influxDbUtils.query(sql); //结果集映射到对象中 InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); List pqsComAssesPOS = resultMapper.toPOJO(result, PQSComAssesPO.class); - - return pqsComAssesPOS; }