代码调整

This commit is contained in:
2023-05-05 13:48:25 +08:00
parent 285db14844
commit d6bd657ccd
2 changed files with 39 additions and 38 deletions

View File

@@ -13,6 +13,7 @@ import java.io.Serializable;
* @date 2023年05月05日 10:17
*/
@Data
@Measurement(name = "data_flicker")
@EqualsAndHashCode(callSuper = true)
public class DataFlickerDTO extends DataFlicker implements Serializable {

View File

@@ -33,44 +33,44 @@ public class DataFlickerServiceImpl implements DataFlickerService {
InfluxDbUtil influxDbUtils = new InfluxDbUtil("admin", "123456", "http://192.168.1.16:8086", "pqsbase_sjzx", "autogen");
List<DataFlickerDTO> result = new ArrayList<>();
// StringBuilder stringBuilder = new StringBuilder();
// stringBuilder.append("line_id='").append(lineIndex).append("' and ");
// //最小值
// String sql1 = "select min(fluc) AS fluc,min(plt) AS plt,min(pst) AS pst from data_flicker where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag tz('Asia/Shanghai')";
// QueryResult sqlResult1 = influxDbUtils.query(sql1);
// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper();
// List<DataFlickerDTO> list1 = resultMapper1.toPOJO(sqlResult1, DataFlickerDTO.class);
// list1.forEach(item -> {
// item.setValueType("MIN");
// });
// //最大值
// String sql2 = "select max(fluc) AS fluc,max(plt) AS plt,max(pst) AS pst from data_flicker where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag tz('Asia/Shanghai')";
// QueryResult sqlResult2 = influxDbUtils.query(sql2);
// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper();
// List<DataFlickerDTO> list2 = resultMapper2.toPOJO(sqlResult2, DataFlickerDTO.class);
// list2.forEach(item -> {
// item.setValueType("MAX");
// });
// //平均值
// String sql3 = "select mean(fluc) AS fluc,mean(plt) AS plt,mean(pst) AS pst from data_flicker where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag tz('Asia/Shanghai')";
// QueryResult sqlResult3 = influxDbUtils.query(sql3);
// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper();
// List<DataFlickerDTO> list3 = resultMapper3.toPOJO(sqlResult3, DataFlickerDTO.class);
// list3.forEach(item -> {
// item.setValueType("AVG");
// });
// //CP95值
// String sql4 = "select percentile(fluc,95) AS fluc,percentile(plt,95) AS plt,percentile(pst,95) AS pst from data_flicker where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag tz('Asia/Shanghai')";
// QueryResult sqlResult4 = influxDbUtils.query(sql4);
// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper();
// List<DataFlickerDTO> list4 = resultMapper4.toPOJO(sqlResult4, DataFlickerDTO.class);
// list4.forEach(item -> {
// item.setValueType("CP95");
// });
// result.addAll(list1);
// result.addAll(list2);
// result.addAll(list3);
// result.addAll(list4);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("line_id='").append(lineIndex).append("' and ");
//最小值
String sql1 = "select min(fluc) AS fluc,min(plt) AS plt,min(pst) AS pst from data_flicker where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag tz('Asia/Shanghai')";
QueryResult sqlResult1 = influxDbUtils.query(sql1);
InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper();
List<DataFlickerDTO> list1 = resultMapper1.toPOJO(sqlResult1, DataFlickerDTO.class);
list1.forEach(item -> {
item.setValueType("MIN");
});
//最大值
String sql2 = "select max(fluc) AS fluc,max(plt) AS plt,max(pst) AS pst from data_flicker where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag tz('Asia/Shanghai')";
QueryResult sqlResult2 = influxDbUtils.query(sql2);
InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper();
List<DataFlickerDTO> list2 = resultMapper2.toPOJO(sqlResult2, DataFlickerDTO.class);
list2.forEach(item -> {
item.setValueType("MAX");
});
//平均值
String sql3 = "select mean(fluc) AS fluc,mean(plt) AS plt,mean(pst) AS pst from data_flicker where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag tz('Asia/Shanghai')";
QueryResult sqlResult3 = influxDbUtils.query(sql3);
InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper();
List<DataFlickerDTO> list3 = resultMapper3.toPOJO(sqlResult3, DataFlickerDTO.class);
list3.forEach(item -> {
item.setValueType("AVG");
});
//CP95值
String sql4 = "select percentile(fluc,95) AS fluc,percentile(plt,95) AS plt,percentile(pst,95) AS pst from data_flicker where " + stringBuilder + " time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag tz('Asia/Shanghai')";
QueryResult sqlResult4 = influxDbUtils.query(sql4);
InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper();
List<DataFlickerDTO> list4 = resultMapper4.toPOJO(sqlResult4, DataFlickerDTO.class);
list4.forEach(item -> {
item.setValueType("CP95");
});
result.addAll(list1);
result.addAll(list2);
result.addAll(list3);
result.addAll(list4);
/////改造前↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑改造后↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
//最小值