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