From d6bd657ccd181752e0bf9ab9db3e4b18a51579f4 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Fri, 5 May 2023 13:48:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/influx/pojo/dto/DataFlickerDTO.java | 1 + .../service/impl/DataFlickerServiceImpl.java | 76 +++++++++---------- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/pqs-influx/src/main/java/com/njcn/influx/pojo/dto/DataFlickerDTO.java b/pqs-influx/src/main/java/com/njcn/influx/pojo/dto/DataFlickerDTO.java index ed3e05794..5fd25443e 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/pojo/dto/DataFlickerDTO.java +++ b/pqs-influx/src/main/java/com/njcn/influx/pojo/dto/DataFlickerDTO.java @@ -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 { diff --git a/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataFlickerServiceImpl.java b/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataFlickerServiceImpl.java index ab5b20b9e..765dd6f74 100644 --- a/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataFlickerServiceImpl.java +++ b/pqs-influx/src/main/java/com/njcn/influx/service/impl/DataFlickerServiceImpl.java @@ -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 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 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 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 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 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 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 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 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 list4 = resultMapper4.toPOJO(sqlResult4, DataFlickerDTO.class); + list4.forEach(item -> { + item.setValueType("CP95"); + }); + result.addAll(list1); + result.addAll(list2); + result.addAll(list3); + result.addAll(list4); /////改造前↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑改造后↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ //最小值