diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DeviceParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DeviceParam.java index b5200bc17..e032ce032 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DeviceParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/DeviceParam.java @@ -9,6 +9,7 @@ import lombok.Data; import org.hibernate.validator.constraints.Range; import javax.validation.Valid; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -118,6 +119,7 @@ public class DeviceParam { @ApiModelProperty(name = "sort",value = "排序",required = true) @NotNull(message = "排序不可为空") + @Min(value = 0,message = "排序格式有误") private Integer sort; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/GdInformationParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/GdInformationParam.java index 4e8365c1f..35d93ab31 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/GdInformationParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/GdInformationParam.java @@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -29,6 +30,7 @@ public class GdInformationParam { @ApiModelProperty(name = "sort",value = "排序",required = true) @NotNull(message = "排序不可为空") + @Min(value = 0,message = "排序格式有误") private Integer sort; /** diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LineParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LineParam.java index ab1b26cd5..b8c7caf0f 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LineParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/LineParam.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Range; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -33,6 +34,7 @@ public class LineParam { */ @ApiModelProperty(name = "pt1",value = "PT一次变比",required = true) @NotNull(message = "PT一次变比不可为空") + @Min(value = 1,message = "PT一次变比最小值应大于等于1") private Float pt1; /** @@ -40,6 +42,7 @@ public class LineParam { */ @ApiModelProperty(name = "pt2",value = "PT二次变比",required = true) @NotNull(message = "PT二次变比不可为空") + @Min(value = 1,message = "PT二次变比最小值应大于等于1") private Float pt2; /** @@ -47,6 +50,7 @@ public class LineParam { */ @ApiModelProperty(name = "ct1",value = "CT一次变比",required = true) @NotNull(message = "CT一次变比不可为空") + @Min(value = 1,message = "CT一次变比最小值应大于等于1") private Float ct1; /** @@ -54,6 +58,7 @@ public class LineParam { */ @ApiModelProperty(name = "ct2",value = "CT二次变比",required = true) @NotNull(message = "CT二次变比不可为空") + @Min(value = 1,message = "CT二次变比最小值应大于等于1") private Float ct2; /** @@ -61,6 +66,7 @@ public class LineParam { */ @ApiModelProperty(name = "devCapacity",value = "设备容量",required = true) @NotNull(message = "设备容量不可为空") + @Min(value = 1,message = "设备容量格式有误") private Float devCapacity; /** @@ -68,6 +74,7 @@ public class LineParam { */ @ApiModelProperty(name = "shortCapacity",value = "短路容量",required = true) @NotNull(message = "短路容量不可为空") + @Min(value = 1,message = "设备容量格式有误") private Float shortCapacity; /** @@ -75,6 +82,7 @@ public class LineParam { */ @ApiModelProperty(name = "dealCapacity",value = "协议容量",required = true) @NotNull(message = "协议容量不可为空") + @Min(value = 1,message = "设备容量格式有误") private Float dealCapacity; /** @@ -82,6 +90,7 @@ public class LineParam { */ @ApiModelProperty(name = "standardCapacity",value = "基准容量新增时候可为空",required = true) @NotNull(message = "基准容量不可为空") + @Min(value = 1,message = "设备容量格式有误") private Float standardCapacity; @@ -117,6 +126,7 @@ public class LineParam { */ @ApiModelProperty(name = "ptType",value = "接线类型(0:星型接法;1:三角型接法;2:开口三角型接法)",required = true) @NotNull(message = "接线类型不可为空") + @Range(min = 0,max = 2,message = "接线类型有误") private Integer ptType; @ApiModelProperty(name = "num",value = "监测点序列",required = true) @@ -125,8 +135,9 @@ public class LineParam { @ApiModelProperty(name = "sort",value = "排序",required = true) @NotNull(message = "排序不可为空") + @Min(value = 0,message = "排序格式有误") private Integer sort; - + /** * 电压上偏差限值 */ diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/ProvinceParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/ProvinceParam.java index d72195f5a..7a774b49b 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/ProvinceParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/ProvinceParam.java @@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -29,6 +30,7 @@ public class ProvinceParam { @ApiModelProperty(name = "sort",value = "排序",required = true) @NotNull(message = "排序不可为空") + @Min(value = 0,message = "排序格式有误") private Integer sort; /** diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SubStationParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SubStationParam.java index 9cab4ebbe..f538c923d 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SubStationParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SubStationParam.java @@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -31,6 +32,7 @@ public class SubStationParam { @ApiModelProperty(name = "sort",value = "排序",required = true) @NotNull(message = "排序不可为空") + @Min(value = 0,message = "排序格式有误") private Integer sort; /** diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SubVoltageParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SubVoltageParam.java index d30bafa65..705c17179 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SubVoltageParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/SubVoltageParam.java @@ -7,6 +7,7 @@ import lombok.Data; import org.hibernate.validator.constraints.Range; import javax.validation.Valid; +import javax.validation.constraints.Min; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; @@ -52,6 +53,7 @@ public class SubVoltageParam { @ApiModelProperty(name = "sort",value = "排序",required = true) @NotNull(message = "排序不可为空") + @Min(value = 0,message = "排序格式有误") private Integer sort; @ApiModelProperty(name = "lineParam",value = "监测点集合") diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index a57a3f036..6cff265a4 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -701,10 +701,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //获取用户信息 String userName = RequestUtil.getUsername(); String index = RequestUtil.getUserIndex(); - //String userName = "zbj"; - //String index = "123456"; - LineDetail lineDetailResOld = lineDetailMapper.selectById(lineId); - queryUpdateAndInsertLog(userName, index, lineDetailRes, lineDetailResOld); + queryUpdateAndInsertLog(userName, index, lineDetail, lineDetailRes); } } } diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DayJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DayJob.java index 2b69612d9..e10178fd5 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DayJob.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DayJob.java @@ -1,2482 +1,2482 @@ -package com.njcn.executor.handler; - -import com.njcn.common.pojo.constant.PatternRegex; -import com.njcn.device.pq.api.LineFeignClient; -import com.njcn.executor.pojo.vo.*; -import com.njcn.influxdb.config.InfluxDbConfig; -import com.njcn.influxdb.param.InfluxDBPublicParam; -import com.njcn.influxdb.utils.InfluxDbUtils; -import com.xxl.job.core.context.XxlJobHelper; -import com.xxl.job.core.handler.annotation.XxlJob; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.influxdb.InfluxDB; -import org.influxdb.dto.BatchPoints; -import org.influxdb.dto.Point; -import org.influxdb.dto.QueryResult; -import org.influxdb.impl.InfluxDBResultMapper; -import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.regex.Pattern; - -/** - * 类的介绍: - * - * @author xuyang - * @version 1.0.0 - * @createTime 2022/5/10 14:10 - */ -@Slf4j -@Component -@AllArgsConstructor -public class DayJob { - - private final InfluxDbUtils influxDbUtils; - - private final LineFeignClient lineFeignClient; - - private final InfluxDbConfig influxDbConfig; - - @XxlJob("dayJobHandler") - public void getDayData() throws ParseException { - List paramList = new ArrayList<>(); - List lineList = new ArrayList<>(); - String command = XxlJobHelper.getJobParam(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - Calendar calendar = Calendar.getInstance(); - calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)-1, 0, 0, 0); - calendar.set(Calendar.MILLISECOND, 0); - Calendar calendar2 = Calendar.getInstance(); - calendar2.set(calendar2.get(Calendar.YEAR), calendar2.get(Calendar.MONTH), calendar2.get(Calendar.DAY_OF_MONTH)-1, 23, 59, 59); - calendar2.set(Calendar.MILLISECOND, 0); - String startTime = format.format(calendar.getTime()); - String endTime = format.format(calendar2.getTime()); - if (!StringUtils.isEmpty(command)){ - paramList = Arrays.asList(command.split(",")); - startTime = paramList.get(0); - endTime = paramList.get(1); - lineList = paramList.subList(2,paramList.size()); - if (CollectionUtils.isEmpty(lineList)){ - log.info("补招传入的参数,未传监测点id"); - lineList = lineFeignClient.getLineList().getData(); - } - boolean s1 = Pattern.matches(PatternRegex.TIME_FORMAT,startTime); - boolean e1 = Pattern.matches(PatternRegex.TIME_FORMAT,endTime); - if (!s1 || !e1){ - log.error("补招时间格式错误"); - return; - } else { - startTime = startTime + " 00:00:00"; - endTime = endTime + " 23:59:59"; - } - } else { - lineList = lineFeignClient.getLineList().getData(); - } - long diff,diffDays,a,b = 0; - Date d1 = format.parse(startTime); - Date d2 = format.parse(endTime); - diff = d2.getTime() - d1.getTime(); - diffDays = diff / (24 * 60 * 60 * 1000-1000); - int days = (int) diffDays; - for (int i = 1; i <= days; i++) { - a = d1.getTime() + (long)(i-1)*(24 * 60 * 60) * 1000; - b = d1.getTime() + (long)i*(24 * 60 * 60) * 1000-1000; - startTime = format.format(a); - endTime = format.format(b); - //生成dayV表 - List dataV = getDataV(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataV)){ - insertDayV(dataV,a); - } - //生成dayI表 - List dataI = getDataI(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataI)){ - insertDayI(dataI,a); - } - //生成dayFlicker表 - List dataFlicker = getDataFlicker(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataFlicker)){ - insertDayFlicker(dataFlicker,a); - } - //生成dayFluc表 - List dataFluc = getDataFluc(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataFluc)){ - insertDayFluc(dataFluc,a); - } - //生成dayHarmphasicI表 - List dataHarmphasicI = getDataHarmphasicI(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataHarmphasicI)){ - insertDayHarmphasicI(dataHarmphasicI,a); - } - //生成dayHarmphasicV表 - List dataHarmphasicV = getDataHarmphasicV(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataHarmphasicV)){ - insertDayHarmphasicV(dataHarmphasicV,a); - } - //生成dayHarmPowerP表 - List dataHarmPowerP = getDataHarmPowerP(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataHarmPowerP)){ - insertDayHarmPowerP(dataHarmPowerP,a); - } - //生成dayHarmPowerQ表 - List dataHarmPowerQ = getDataHarmPowerQ(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataHarmPowerQ)){ - insertDayHarmPowerQ(dataHarmPowerQ,a); - } - //生成dayHarmPowerS表 - List dataHarmPowerS = getDataHarmPowerS(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataHarmPowerS)){ - insertDayHarmPowerS(dataHarmPowerS,a); - } - //生成dayHarmRateI - List dataHarmRateI = getDataHarmRateI(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataHarmRateI)){ - insertDayHarmRateI(dataHarmRateI,a); - } - //生成dayHarmRateV - List dataHarmRateV = getDataHarmRateV(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataHarmRateV)){ - insertDayHarmRateV(dataHarmRateV,a); - } - //生成dayInHarmI - List dataInHarmI = getDataInHarmI(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataInHarmI)){ - insertDayInHarmI(dataInHarmI,a); - } - //生成dayInHarmV - List dataInHarmV = getDataInHarmV(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataInHarmV)){ - insertDayInHarmV(dataInHarmV,a); - } - //生成dayInHarmRateI - List dataInHarmRateI = getDataInHarmRateI(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataInHarmRateI)){ - insertDayInHarmRateI(dataInHarmRateI,a); - } - //生成dayInHarmRateV - List dataInHarmRateV = getDataInHarmRateV(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataInHarmRateV)){ - insertDayInHarmRateV(dataInHarmRateV,a); - } - //生成dayPlt - List dataPlt = getDataPlt(lineList,startTime,endTime); - if (!CollectionUtils.isEmpty(dataPlt)){ - insertDayPlt(dataPlt,a); - } - } - } - - /** - * 功能描述:获取dataV数据 - * @author xy - * @param lineList 监测点集合 - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataV(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(freq) AS freq,min(freq_dev) AS freq_dev,min(rms) AS rms,min(rms_lvr) AS rms_lvr,min(v_neg) AS v_neg,min(v_pos) AS v_pos,min(v_thd) AS v_thd,min(v_unbalance) AS v_unbalance,min(v_zero) AS v_zero,min(vl_dev) AS vl_dev,min(vu_dev) AS vu_dev,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataV.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(freq) AS freq,max(freq_dev) AS freq_dev,max(rms) AS rms,max(rms_lvr) AS rms_lvr,max(v_neg) AS v_neg,max(v_pos) AS v_pos,max(v_thd) AS v_thd,max(v_unbalance) AS v_unbalance,max(v_zero) AS v_zero,max(vl_dev) AS vl_dev,max(vu_dev) AS vu_dev,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataV.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(freq) AS freq,mean(freq_dev) AS freq_dev,mean(rms) AS rms,mean(rms_lvr) AS rms_lvr,mean(v_neg) AS v_neg,mean(v_pos) AS v_pos,mean(v_thd) AS v_thd,mean(v_unbalance) AS v_unbalance,mean(v_zero) AS v_zero,mean(vl_dev) AS vl_dev,mean(vu_dev) AS vu_dev,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(freq,95) AS freq,percentile(freq_dev,95) AS freq_dev,percentile(rms,95) AS rms,percentile(rms_lvr,95) AS rms_lvr,percentile(v_neg,95) AS v_neg,percentile(v_pos,95) AS v_pos,percentile(v_thd,95) AS v_thd,percentile(v_unbalance,95) AS v_unbalance,percentile(v_zero,95) AS v_zero,percentile(vl_dev,95) AS vl_dev,percentile(vu_dev,95) AS vu_dev,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataV.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入dayV表数据 - * @author xy - * @param list dataV集合 - * @param time 时间戳 - * @date 2022/5/11 14:55 - */ - private void insertDayV(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("freq",item.getFreq()); - fields.put("freq_dev",item.getFreqDev()); - fields.put("rms",item.getRms()); - fields.put("rms_lvr",item.getRmsLvr()); - fields.put("v_neg",item.getVNeg()); - fields.put("v_pos",item.getVPos()); - fields.put("v_thd",item.getVThd()); - fields.put("v_unbalance",item.getVUnbalance()); - fields.put("v_zero",item.getVZero()); - fields.put("vl_dev",item.getVlDev()); - fields.put("vu_dev",item.getVuDev()); - fields.put("v_1",item.getV1()); - fields.put("v_2",item.getV2()); - fields.put("v_3",item.getV3()); - fields.put("v_4",item.getV4()); - fields.put("v_5",item.getV5()); - fields.put("v_6",item.getV6()); - fields.put("v_7",item.getV7()); - fields.put("v_8",item.getV8()); - fields.put("v_9",item.getV9()); - fields.put("v_10",item.getV10()); - fields.put("v_11",item.getV11()); - fields.put("v_12",item.getV12()); - fields.put("v_13",item.getV13()); - fields.put("v_14",item.getV14()); - fields.put("v_15",item.getV15()); - fields.put("v_16",item.getV16()); - fields.put("v_17",item.getV17()); - fields.put("v_18",item.getV18()); - fields.put("v_19",item.getV19()); - fields.put("v_20",item.getV20()); - fields.put("v_21",item.getV21()); - fields.put("v_22",item.getV22()); - fields.put("v_23",item.getV23()); - fields.put("v_24",item.getV24()); - fields.put("v_25",item.getV25()); - fields.put("v_26",item.getV26()); - fields.put("v_27",item.getV27()); - fields.put("v_28",item.getV28()); - fields.put("v_29",item.getV29()); - fields.put("v_30",item.getV30()); - fields.put("v_31",item.getV31()); - fields.put("v_32",item.getV32()); - fields.put("v_33",item.getV33()); - fields.put("v_34",item.getV34()); - fields.put("v_35",item.getV35()); - fields.put("v_36",item.getV36()); - fields.put("v_37",item.getV37()); - fields.put("v_38",item.getV38()); - fields.put("v_39",item.getV39()); - fields.put("v_40",item.getV40()); - fields.put("v_41",item.getV41()); - fields.put("v_42",item.getV42()); - fields.put("v_43",item.getV43()); - fields.put("v_44",item.getV44()); - fields.put("v_45",item.getV45()); - fields.put("v_46",item.getV46()); - fields.put("v_47",item.getV47()); - fields.put("v_48",item.getV48()); - fields.put("v_49",item.getV49()); - fields.put("v_50",item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:获取dataI数据 - * @author xy - * @param lineList 监测点集合 - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataI(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(rms) AS rms,min(i_neg) AS i_neg,min(i_pos) AS i_pos,min(i_thd) AS i_thd,min(i_unbalance) AS i_unbalance,min(i_zero) AS i_zero,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataI.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(rms) AS rms,max(i_neg) AS i_neg,max(i_pos) AS i_pos,max(i_thd) AS i_thd,max(i_unbalance) AS i_unbalance,max(i_zero) AS i_zero,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataI.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(rms) AS rms,mean(i_neg) AS i_neg,mean(i_pos) AS i_pos,mean(i_thd) AS i_thd,mean(i_unbalance) AS i_unbalance,mean(i_zero) AS i_zero,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(rms,95) AS rms,percentile(i_neg,95) AS i_neg,percentile(i_pos,95) AS i_pos,percentile(i_thd,95) AS i_thd,percentile(i_unbalance,95) AS i_unbalance,percentile(i_zero,95) AS i_zero,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataI.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入dayI表数据 - * @author xy - * @param list dataI集合 - * @param time 时间戳 - * @date 2022/5/11 14:55 - */ - private void insertDayI(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("rms",item.getRms()); - fields.put("i_neg",item.getINeg()); - fields.put("i_pos",item.getIPos()); - fields.put("i_thd",item.getIThd()); - fields.put("i_unbalance",item.getIUnbalance()); - fields.put("i_zero",item.getIZero()); - fields.put("i_1",item.getI1()); - fields.put("i_2",item.getI2()); - fields.put("i_3",item.getI3()); - fields.put("i_4",item.getI4()); - fields.put("i_5",item.getI5()); - fields.put("i_6",item.getI6()); - fields.put("i_7",item.getI7()); - fields.put("i_8",item.getI8()); - fields.put("i_9",item.getI9()); - fields.put("i_10",item.getI10()); - fields.put("i_11",item.getI11()); - fields.put("i_12",item.getI12()); - fields.put("i_13",item.getI13()); - fields.put("i_14",item.getI14()); - fields.put("i_15",item.getI15()); - fields.put("i_16",item.getI16()); - fields.put("i_17",item.getI17()); - fields.put("i_18",item.getI18()); - fields.put("i_19",item.getI19()); - fields.put("i_20",item.getI20()); - fields.put("i_21",item.getI21()); - fields.put("i_22",item.getI22()); - fields.put("i_23",item.getI23()); - fields.put("i_24",item.getI24()); - fields.put("i_25",item.getI25()); - fields.put("i_26",item.getI26()); - fields.put("i_27",item.getI27()); - fields.put("i_28",item.getI28()); - fields.put("i_29",item.getI29()); - fields.put("i_30",item.getI30()); - fields.put("i_31",item.getI31()); - fields.put("i_32",item.getI32()); - fields.put("i_33",item.getI33()); - fields.put("i_34",item.getI34()); - fields.put("i_35",item.getI35()); - fields.put("i_36",item.getI36()); - fields.put("i_37",item.getI37()); - fields.put("i_38",item.getI38()); - fields.put("i_39",item.getI39()); - fields.put("i_40",item.getI40()); - fields.put("i_41",item.getI41()); - fields.put("i_42",item.getI42()); - fields.put("i_43",item.getI43()); - fields.put("i_44",item.getI44()); - fields.put("i_45",item.getI45()); - fields.put("i_46",item.getI46()); - fields.put("i_47",item.getI47()); - fields.put("i_48",item.getI48()); - fields.put("i_49",item.getI49()); - fields.put("i_50",item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:获取dataFlicker数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataFlicker(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - String sql1 = "select min(fluc) AS fluc,min(plt) AS plt,min(pst) AS pst from "+ InfluxDBPublicParam.DATA_FLICKER+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataFlicker.class); - list1.forEach(item->{ - item.setValueType("MIN"); - }); - //最大值 - String sql2 = "select max(fluc) AS fluc,max(plt) AS plt,max(pst) AS pst from "+ InfluxDBPublicParam.DATA_FLICKER+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataFlicker.class); - list2.forEach(item->{ - item.setValueType("MAX"); - }); - //平均值 - String sql3 = "select mean(fluc) AS fluc,mean(plt) AS plt,mean(pst) AS pst from "+ InfluxDBPublicParam.DATA_FLICKER+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3= new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataFlicker.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 "+ InfluxDBPublicParam.DATA_FLICKER+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE;; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4= new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataFlicker.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入dayFlicker表数据 - * @author xy - * @param list dataFlicker集合 - * @param time 时间戳 - * @date 2022/5/11 14:55 - */ - private void insertDayFlicker(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("fluc",item.getFluc()); - fields.put("plt",item.getPlt()); - fields.put("pst",item.getPst()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_FLICKER, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:获取dataFluc数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataFluc(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - String sql1 = "select min(fluc) AS fluc,min(fluccf) AS fluccf from "+ InfluxDBPublicParam.DATA_FLUC+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataFluc.class); - list1.forEach(item->{ - item.setValueType("MIN"); - }); - //最大值 - String sql2 = "select max(fluc) AS fluc,max(fluccf) AS fluccf from "+ InfluxDBPublicParam.DATA_FLUC+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataFluc.class); - list2.forEach(item->{ - item.setValueType("MAX"); - }); - //平均值 - String sql3 = "select mean(fluc) AS fluc,mean(fluccf) AS fluccf from "+ InfluxDBPublicParam.DATA_FLUC+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3= new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataFluc.class); - list3.forEach(item->{ - item.setValueType("AVG"); - }); - //CP95值 - String sql4 = "select percentile(fluc,95) AS fluc,percentile(fluccf,95) AS fluccf from "+ InfluxDBPublicParam.DATA_FLUC+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4= new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataFluc.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入dayFluc表数据 - * @author xy - * @param list dataFluc集合 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayFluc(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("fluc",item.getFluc()); - fields.put("fluccf",item.getFluccf()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_FLUC, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:获取data_harmphasic_i数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataHarmphasicI(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_I+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPhasicI.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_I+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPhasicI.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_I+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPhasicI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_I+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPhasicI.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_harmphasic_i表数据 - * @author xy - * @param list data_harmphasic_i表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayHarmphasicI(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("i_1",item.getI1()); - fields.put("i_2",item.getI2()); - fields.put("i_3",item.getI3()); - fields.put("i_4",item.getI4()); - fields.put("i_5",item.getI5()); - fields.put("i_6",item.getI6()); - fields.put("i_7",item.getI7()); - fields.put("i_8",item.getI8()); - fields.put("i_9",item.getI9()); - fields.put("i_10",item.getI10()); - fields.put("i_11",item.getI11()); - fields.put("i_12",item.getI12()); - fields.put("i_13",item.getI13()); - fields.put("i_14",item.getI14()); - fields.put("i_15",item.getI15()); - fields.put("i_16",item.getI16()); - fields.put("i_17",item.getI17()); - fields.put("i_18",item.getI18()); - fields.put("i_19",item.getI19()); - fields.put("i_20",item.getI20()); - fields.put("i_21",item.getI21()); - fields.put("i_22",item.getI22()); - fields.put("i_23",item.getI23()); - fields.put("i_24",item.getI24()); - fields.put("i_25",item.getI25()); - fields.put("i_26",item.getI26()); - fields.put("i_27",item.getI27()); - fields.put("i_28",item.getI28()); - fields.put("i_29",item.getI29()); - fields.put("i_30",item.getI30()); - fields.put("i_31",item.getI31()); - fields.put("i_32",item.getI32()); - fields.put("i_33",item.getI33()); - fields.put("i_34",item.getI34()); - fields.put("i_35",item.getI35()); - fields.put("i_36",item.getI36()); - fields.put("i_37",item.getI37()); - fields.put("i_38",item.getI38()); - fields.put("i_39",item.getI39()); - fields.put("i_40",item.getI40()); - fields.put("i_41",item.getI41()); - fields.put("i_42",item.getI42()); - fields.put("i_43",item.getI43()); - fields.put("i_44",item.getI44()); - fields.put("i_45",item.getI45()); - fields.put("i_46",item.getI46()); - fields.put("i_47",item.getI47()); - fields.put("i_48",item.getI48()); - fields.put("i_49",item.getI49()); - fields.put("i_50",item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_PHASIC_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_harmphasic_v数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataHarmphasicV(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_V+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPhasicV.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_V+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPhasicV.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_V+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPhasicV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_V+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPhasicV.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_harmphasic_V表数据 - * @author xy - * @param list data_harmphasic_V表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayHarmphasicV(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("v_1",item.getV1()); - fields.put("v_2",item.getV2()); - fields.put("v_3",item.getV3()); - fields.put("v_4",item.getV4()); - fields.put("v_5",item.getV5()); - fields.put("v_6",item.getV6()); - fields.put("v_7",item.getV7()); - fields.put("v_8",item.getV8()); - fields.put("v_9",item.getV9()); - fields.put("v_10",item.getV10()); - fields.put("v_11",item.getV11()); - fields.put("v_12",item.getV12()); - fields.put("v_13",item.getV13()); - fields.put("v_14",item.getV14()); - fields.put("v_15",item.getV15()); - fields.put("v_16",item.getV16()); - fields.put("v_17",item.getV17()); - fields.put("v_18",item.getV18()); - fields.put("v_19",item.getV19()); - fields.put("v_20",item.getV20()); - fields.put("v_21",item.getV21()); - fields.put("v_22",item.getV22()); - fields.put("v_23",item.getV23()); - fields.put("v_24",item.getV24()); - fields.put("v_25",item.getV25()); - fields.put("v_26",item.getV26()); - fields.put("v_27",item.getV27()); - fields.put("v_28",item.getV28()); - fields.put("v_29",item.getV29()); - fields.put("v_30",item.getV30()); - fields.put("v_31",item.getV31()); - fields.put("v_32",item.getV32()); - fields.put("v_33",item.getV33()); - fields.put("v_34",item.getV34()); - fields.put("v_35",item.getV35()); - fields.put("v_36",item.getV36()); - fields.put("v_37",item.getV37()); - fields.put("v_38",item.getV38()); - fields.put("v_39",item.getV39()); - fields.put("v_40",item.getV40()); - fields.put("v_41",item.getV41()); - fields.put("v_42",item.getV42()); - fields.put("v_43",item.getV43()); - fields.put("v_44",item.getV44()); - fields.put("v_45",item.getV45()); - fields.put("v_46",item.getV46()); - fields.put("v_47",item.getV47()); - fields.put("v_48",item.getV48()); - fields.put("v_49",item.getV49()); - fields.put("v_50",item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_PHASIC_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_harmpower_p数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataHarmPowerP(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(p) AS p,min(df) AS df,min(pf) AS pf,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(p_").append(i).append(") AS p_").append(i); - } else { - stringBuilder1.append("min(p_").append(i).append(") AS p_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_P+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerP.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(p) AS p,max(df) AS df,max(pf) AS pf,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(p_").append(i).append(") AS p_").append(i); - } else { - stringBuilder3.append("max(p_").append(i).append(") AS p_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_P+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerP.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(p) AS p,mean(df) AS df,mean(pf) AS pf,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(p_").append(i).append(") AS p_").append(i); - } else { - stringBuilder5.append("mean(p_").append(i).append(") AS p_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_P+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerP.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(p,95) AS p,percentile(df,95) AS df,percentile(pf,95) AS pf,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(p_").append(i).append(",95) AS p_").append(i); - } else { - stringBuilder7.append("percentile(p_").append(i).append(",95) AS p_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_P+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerP.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_harmpower_p表数据 - * @author xy - * @param list data_harmpower_p表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayHarmPowerP(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("df",item.getDf()); - fields.put("pf",item.getPf()); - fields.put("p",item.getP()); - fields.put("p_1",item.getP1()); - fields.put("p_2",item.getP2()); - fields.put("p_3",item.getP3()); - fields.put("p_4",item.getP4()); - fields.put("p_5",item.getP5()); - fields.put("p_6",item.getP6()); - fields.put("p_7",item.getP7()); - fields.put("p_8",item.getP8()); - fields.put("p_9",item.getP9()); - fields.put("p_10",item.getP10()); - fields.put("p_11",item.getP11()); - fields.put("p_12",item.getP12()); - fields.put("p_13",item.getP13()); - fields.put("p_14",item.getP14()); - fields.put("p_15",item.getP15()); - fields.put("p_16",item.getP16()); - fields.put("p_17",item.getP17()); - fields.put("p_18",item.getP18()); - fields.put("p_19",item.getP19()); - fields.put("p_20",item.getP20()); - fields.put("p_21",item.getP21()); - fields.put("p_22",item.getP22()); - fields.put("p_23",item.getP23()); - fields.put("p_24",item.getP24()); - fields.put("p_25",item.getP25()); - fields.put("p_26",item.getP26()); - fields.put("p_27",item.getP27()); - fields.put("p_28",item.getP28()); - fields.put("p_29",item.getP29()); - fields.put("p_30",item.getP30()); - fields.put("p_31",item.getP31()); - fields.put("p_32",item.getP32()); - fields.put("p_33",item.getP33()); - fields.put("p_34",item.getP34()); - fields.put("p_35",item.getP35()); - fields.put("p_36",item.getP36()); - fields.put("p_37",item.getP37()); - fields.put("p_38",item.getP38()); - fields.put("p_39",item.getP39()); - fields.put("p_40",item.getP40()); - fields.put("p_41",item.getP41()); - fields.put("p_42",item.getP42()); - fields.put("p_43",item.getP43()); - fields.put("p_44",item.getP44()); - fields.put("p_45",item.getP45()); - fields.put("p_46",item.getP46()); - fields.put("p_47",item.getP47()); - fields.put("p_48",item.getP48()); - fields.put("p_49",item.getP49()); - fields.put("p_50",item.getP50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_P, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:获取data_harmpower_q数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataHarmPowerQ(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(q) AS q,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(q_").append(i).append(") AS q_").append(i); - } else { - stringBuilder1.append("min(q_").append(i).append(") AS q_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_Q+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerQ.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(q) AS q,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(q_").append(i).append(") AS q_").append(i); - } else { - stringBuilder3.append("max(q_").append(i).append(") AS q_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_Q+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerQ.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(q) AS q,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(q_").append(i).append(") AS q_").append(i); - } else { - stringBuilder5.append("mean(q_").append(i).append(") AS q_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_Q+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerQ.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(q,95) AS q,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(q_").append(i).append(",95) AS q_").append(i); - } else { - stringBuilder7.append("percentile(q_").append(i).append(",95) AS q_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_Q+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerQ.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_harmpower_q表数据 - * @author xy - * @param list data_harmpower_q表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayHarmPowerQ(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("q",item.getQ()); - fields.put("q_1",item.getQ1()); - fields.put("q_2",item.getQ2()); - fields.put("q_3",item.getQ3()); - fields.put("q_4",item.getQ4()); - fields.put("q_5",item.getQ5()); - fields.put("q_6",item.getQ6()); - fields.put("q_7",item.getQ7()); - fields.put("q_8",item.getQ8()); - fields.put("q_9",item.getQ9()); - fields.put("q_10",item.getQ10()); - fields.put("q_11",item.getQ11()); - fields.put("q_12",item.getQ12()); - fields.put("q_13",item.getQ13()); - fields.put("q_14",item.getQ14()); - fields.put("q_15",item.getQ15()); - fields.put("q_16",item.getQ16()); - fields.put("q_17",item.getQ17()); - fields.put("q_18",item.getQ18()); - fields.put("q_19",item.getQ19()); - fields.put("q_20",item.getQ20()); - fields.put("q_21",item.getQ21()); - fields.put("q_22",item.getQ22()); - fields.put("q_23",item.getQ23()); - fields.put("q_24",item.getQ24()); - fields.put("q_25",item.getQ25()); - fields.put("q_26",item.getQ26()); - fields.put("q_27",item.getQ27()); - fields.put("q_28",item.getQ28()); - fields.put("q_29",item.getQ29()); - fields.put("q_30",item.getQ30()); - fields.put("q_31",item.getQ31()); - fields.put("q_32",item.getQ32()); - fields.put("q_33",item.getQ33()); - fields.put("q_34",item.getQ34()); - fields.put("q_35",item.getQ35()); - fields.put("q_36",item.getQ36()); - fields.put("q_37",item.getQ37()); - fields.put("q_38",item.getQ38()); - fields.put("q_39",item.getQ39()); - fields.put("q_40",item.getQ40()); - fields.put("q_41",item.getQ41()); - fields.put("q_42",item.getQ42()); - fields.put("q_43",item.getQ43()); - fields.put("q_44",item.getQ44()); - fields.put("q_45",item.getQ45()); - fields.put("q_46",item.getQ46()); - fields.put("q_47",item.getQ47()); - fields.put("q_48",item.getQ48()); - fields.put("q_49",item.getQ49()); - fields.put("q_50",item.getQ50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_Q, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_harmpower_s数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataHarmPowerS(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - stringBuilder1.append("min(s) AS s,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(s_").append(i).append(") AS s_").append(i); - } else { - stringBuilder1.append("min(s_").append(i).append(") AS s_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_S+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerS.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - stringBuilder3.append("max(s) AS s,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(s_").append(i).append(") AS s_").append(i); - } else { - stringBuilder3.append("max(s_").append(i).append(") AS s_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_S+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerS.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - stringBuilder5.append("mean(s) AS s,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(s_").append(i).append(") AS s_").append(i); - } else { - stringBuilder5.append("mean(s_").append(i).append(") AS s_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_S+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerS.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - stringBuilder7.append("percentile(s,95) AS s,"); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(s_").append(i).append(",95) AS s_").append(i); - } else { - stringBuilder7.append("percentile(s_").append(i).append(",95) AS s_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_S+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerS.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_harmpower_q表数据 - * @author xy - * @param list data_harmpower_q表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayHarmPowerS(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("s",item.getS()); - fields.put("s_1",item.getS1()); - fields.put("s_2",item.getS2()); - fields.put("s_3",item.getS3()); - fields.put("s_4",item.getS4()); - fields.put("s_5",item.getS5()); - fields.put("s_6",item.getS6()); - fields.put("s_7",item.getS7()); - fields.put("s_8",item.getS8()); - fields.put("s_9",item.getS9()); - fields.put("s_10",item.getS10()); - fields.put("s_11",item.getS11()); - fields.put("s_12",item.getS12()); - fields.put("s_13",item.getS13()); - fields.put("s_14",item.getS14()); - fields.put("s_15",item.getS15()); - fields.put("s_16",item.getS16()); - fields.put("s_17",item.getS17()); - fields.put("s_18",item.getS18()); - fields.put("s_19",item.getS19()); - fields.put("s_20",item.getS20()); - fields.put("s_21",item.getS21()); - fields.put("s_22",item.getS22()); - fields.put("s_23",item.getS23()); - fields.put("s_24",item.getS24()); - fields.put("s_25",item.getS25()); - fields.put("s_26",item.getS26()); - fields.put("s_27",item.getS27()); - fields.put("s_28",item.getS28()); - fields.put("s_29",item.getS29()); - fields.put("s_30",item.getS30()); - fields.put("s_31",item.getS31()); - fields.put("s_32",item.getS32()); - fields.put("s_33",item.getS33()); - fields.put("s_34",item.getS34()); - fields.put("s_35",item.getS35()); - fields.put("s_36",item.getS36()); - fields.put("s_37",item.getS37()); - fields.put("s_38",item.getS38()); - fields.put("s_39",item.getS39()); - fields.put("s_40",item.getS40()); - fields.put("s_41",item.getS41()); - fields.put("s_42",item.getS42()); - fields.put("s_43",item.getS43()); - fields.put("s_44",item.getS44()); - fields.put("s_45",item.getS45()); - fields.put("s_46",item.getS46()); - fields.put("s_47",item.getS47()); - fields.put("s_48",item.getS48()); - fields.put("s_49",item.getS49()); - fields.put("s_50",item.getS50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_S, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_harmrate_i数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataHarmRateI(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_I+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmRateI.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_I+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmRateI.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_I+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmRateI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_I+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmRateI.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_harmrate_i表数据 - * @author xy - * @param list data_harmrate_i表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayHarmRateI(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("i_1",item.getI1()); - fields.put("i_2",item.getI2()); - fields.put("i_3",item.getI3()); - fields.put("i_4",item.getI4()); - fields.put("i_5",item.getI5()); - fields.put("i_6",item.getI6()); - fields.put("i_7",item.getI7()); - fields.put("i_8",item.getI8()); - fields.put("i_9",item.getI9()); - fields.put("i_10",item.getI10()); - fields.put("i_11",item.getI11()); - fields.put("i_12",item.getI12()); - fields.put("i_13",item.getI13()); - fields.put("i_14",item.getI14()); - fields.put("i_15",item.getI15()); - fields.put("i_16",item.getI16()); - fields.put("i_17",item.getI17()); - fields.put("i_18",item.getI18()); - fields.put("i_19",item.getI19()); - fields.put("i_20",item.getI20()); - fields.put("i_21",item.getI21()); - fields.put("i_22",item.getI22()); - fields.put("i_23",item.getI23()); - fields.put("i_24",item.getI24()); - fields.put("i_25",item.getI25()); - fields.put("i_26",item.getI26()); - fields.put("i_27",item.getI27()); - fields.put("i_28",item.getI28()); - fields.put("i_29",item.getI29()); - fields.put("i_30",item.getI30()); - fields.put("i_31",item.getI31()); - fields.put("i_32",item.getI32()); - fields.put("i_33",item.getI33()); - fields.put("i_34",item.getI34()); - fields.put("i_35",item.getI35()); - fields.put("i_36",item.getI36()); - fields.put("i_37",item.getI37()); - fields.put("i_38",item.getI38()); - fields.put("i_39",item.getI39()); - fields.put("i_40",item.getI40()); - fields.put("i_41",item.getI41()); - fields.put("i_42",item.getI42()); - fields.put("i_43",item.getI43()); - fields.put("i_44",item.getI44()); - fields.put("i_45",item.getI45()); - fields.put("i_46",item.getI46()); - fields.put("i_47",item.getI47()); - fields.put("i_48",item.getI48()); - fields.put("i_49",item.getI49()); - fields.put("i_50",item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_RATE_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_harmrate_v数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataHarmRateV(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_V+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmRateV.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_V+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmRateV.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_V+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmRateV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_V+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmRateV.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_harmrate_v表数据 - * @author xy - * @param list data_harmrate_v表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayHarmRateV(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("v_1",item.getV1()); - fields.put("v_2",item.getV2()); - fields.put("v_3",item.getV3()); - fields.put("v_4",item.getV4()); - fields.put("v_5",item.getV5()); - fields.put("v_6",item.getV6()); - fields.put("v_7",item.getV7()); - fields.put("v_8",item.getV8()); - fields.put("v_9",item.getV9()); - fields.put("v_10",item.getV10()); - fields.put("v_11",item.getV11()); - fields.put("v_12",item.getV12()); - fields.put("v_13",item.getV13()); - fields.put("v_14",item.getV14()); - fields.put("v_15",item.getV15()); - fields.put("v_16",item.getV16()); - fields.put("v_17",item.getV17()); - fields.put("v_18",item.getV18()); - fields.put("v_19",item.getV19()); - fields.put("v_20",item.getV20()); - fields.put("v_21",item.getV21()); - fields.put("v_22",item.getV22()); - fields.put("v_23",item.getV23()); - fields.put("v_24",item.getV24()); - fields.put("v_25",item.getV25()); - fields.put("v_26",item.getV26()); - fields.put("v_27",item.getV27()); - fields.put("v_28",item.getV28()); - fields.put("v_29",item.getV29()); - fields.put("v_30",item.getV30()); - fields.put("v_31",item.getV31()); - fields.put("v_32",item.getV32()); - fields.put("v_33",item.getV33()); - fields.put("v_34",item.getV34()); - fields.put("v_35",item.getV35()); - fields.put("v_36",item.getV36()); - fields.put("v_37",item.getV37()); - fields.put("v_38",item.getV38()); - fields.put("v_39",item.getV39()); - fields.put("v_40",item.getV40()); - fields.put("v_41",item.getV41()); - fields.put("v_42",item.getV42()); - fields.put("v_43",item.getV43()); - fields.put("v_44",item.getV44()); - fields.put("v_45",item.getV45()); - fields.put("v_46",item.getV46()); - fields.put("v_47",item.getV47()); - fields.put("v_48",item.getV48()); - fields.put("v_49",item.getV49()); - fields.put("v_50",item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_RATE_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_inharm_i数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataInHarmI(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmI.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmI.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmI.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_inharm_i表数据 - * @author xy - * @param list data_inharm_i表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayInHarmI(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("i_1",item.getI1()); - fields.put("i_2",item.getI2()); - fields.put("i_3",item.getI3()); - fields.put("i_4",item.getI4()); - fields.put("i_5",item.getI5()); - fields.put("i_6",item.getI6()); - fields.put("i_7",item.getI7()); - fields.put("i_8",item.getI8()); - fields.put("i_9",item.getI9()); - fields.put("i_10",item.getI10()); - fields.put("i_11",item.getI11()); - fields.put("i_12",item.getI12()); - fields.put("i_13",item.getI13()); - fields.put("i_14",item.getI14()); - fields.put("i_15",item.getI15()); - fields.put("i_16",item.getI16()); - fields.put("i_17",item.getI17()); - fields.put("i_18",item.getI18()); - fields.put("i_19",item.getI19()); - fields.put("i_20",item.getI20()); - fields.put("i_21",item.getI21()); - fields.put("i_22",item.getI22()); - fields.put("i_23",item.getI23()); - fields.put("i_24",item.getI24()); - fields.put("i_25",item.getI25()); - fields.put("i_26",item.getI26()); - fields.put("i_27",item.getI27()); - fields.put("i_28",item.getI28()); - fields.put("i_29",item.getI29()); - fields.put("i_30",item.getI30()); - fields.put("i_31",item.getI31()); - fields.put("i_32",item.getI32()); - fields.put("i_33",item.getI33()); - fields.put("i_34",item.getI34()); - fields.put("i_35",item.getI35()); - fields.put("i_36",item.getI36()); - fields.put("i_37",item.getI37()); - fields.put("i_38",item.getI38()); - fields.put("i_39",item.getI39()); - fields.put("i_40",item.getI40()); - fields.put("i_41",item.getI41()); - fields.put("i_42",item.getI42()); - fields.put("i_43",item.getI43()); - fields.put("i_44",item.getI44()); - fields.put("i_45",item.getI45()); - fields.put("i_46",item.getI46()); - fields.put("i_47",item.getI47()); - fields.put("i_48",item.getI48()); - fields.put("i_49",item.getI49()); - fields.put("i_50",item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_inharm_v数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataInHarmV(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmV.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmV.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmV.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_inharm_v表数据 - * @author xy - * @param list data_inharm_v表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayInHarmV(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("v_1",item.getV1()); - fields.put("v_2",item.getV2()); - fields.put("v_3",item.getV3()); - fields.put("v_4",item.getV4()); - fields.put("v_5",item.getV5()); - fields.put("v_6",item.getV6()); - fields.put("v_7",item.getV7()); - fields.put("v_8",item.getV8()); - fields.put("v_9",item.getV9()); - fields.put("v_10",item.getV10()); - fields.put("v_11",item.getV11()); - fields.put("v_12",item.getV12()); - fields.put("v_13",item.getV13()); - fields.put("v_14",item.getV14()); - fields.put("v_15",item.getV15()); - fields.put("v_16",item.getV16()); - fields.put("v_17",item.getV17()); - fields.put("v_18",item.getV18()); - fields.put("v_19",item.getV19()); - fields.put("v_20",item.getV20()); - fields.put("v_21",item.getV21()); - fields.put("v_22",item.getV22()); - fields.put("v_23",item.getV23()); - fields.put("v_24",item.getV24()); - fields.put("v_25",item.getV25()); - fields.put("v_26",item.getV26()); - fields.put("v_27",item.getV27()); - fields.put("v_28",item.getV28()); - fields.put("v_29",item.getV29()); - fields.put("v_30",item.getV30()); - fields.put("v_31",item.getV31()); - fields.put("v_32",item.getV32()); - fields.put("v_33",item.getV33()); - fields.put("v_34",item.getV34()); - fields.put("v_35",item.getV35()); - fields.put("v_36",item.getV36()); - fields.put("v_37",item.getV37()); - fields.put("v_38",item.getV38()); - fields.put("v_39",item.getV39()); - fields.put("v_40",item.getV40()); - fields.put("v_41",item.getV41()); - fields.put("v_42",item.getV42()); - fields.put("v_43",item.getV43()); - fields.put("v_44",item.getV44()); - fields.put("v_45",item.getV45()); - fields.put("v_46",item.getV46()); - fields.put("v_47",item.getV47()); - fields.put("v_48",item.getV48()); - fields.put("v_49",item.getV49()); - fields.put("v_50",item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - - /** - * 功能描述:获取data_inharmrate_i数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataInHarmRateI(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmRateI.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmRateI.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); - } else { - stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmRateI.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); - } else { - stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmRateI.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_inharmrate_i表数据 - * @author xy - * @param list data_inharmrate_i表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayInHarmRateI(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("i_1",item.getI1()); - fields.put("i_2",item.getI2()); - fields.put("i_3",item.getI3()); - fields.put("i_4",item.getI4()); - fields.put("i_5",item.getI5()); - fields.put("i_6",item.getI6()); - fields.put("i_7",item.getI7()); - fields.put("i_8",item.getI8()); - fields.put("i_9",item.getI9()); - fields.put("i_10",item.getI10()); - fields.put("i_11",item.getI11()); - fields.put("i_12",item.getI12()); - fields.put("i_13",item.getI13()); - fields.put("i_14",item.getI14()); - fields.put("i_15",item.getI15()); - fields.put("i_16",item.getI16()); - fields.put("i_17",item.getI17()); - fields.put("i_18",item.getI18()); - fields.put("i_19",item.getI19()); - fields.put("i_20",item.getI20()); - fields.put("i_21",item.getI21()); - fields.put("i_22",item.getI22()); - fields.put("i_23",item.getI23()); - fields.put("i_24",item.getI24()); - fields.put("i_25",item.getI25()); - fields.put("i_26",item.getI26()); - fields.put("i_27",item.getI27()); - fields.put("i_28",item.getI28()); - fields.put("i_29",item.getI29()); - fields.put("i_30",item.getI30()); - fields.put("i_31",item.getI31()); - fields.put("i_32",item.getI32()); - fields.put("i_33",item.getI33()); - fields.put("i_34",item.getI34()); - fields.put("i_35",item.getI35()); - fields.put("i_36",item.getI36()); - fields.put("i_37",item.getI37()); - fields.put("i_38",item.getI38()); - fields.put("i_39",item.getI39()); - fields.put("i_40",item.getI40()); - fields.put("i_41",item.getI41()); - fields.put("i_42",item.getI42()); - fields.put("i_43",item.getI43()); - fields.put("i_44",item.getI44()); - fields.put("i_45",item.getI45()); - fields.put("i_46",item.getI46()); - fields.put("i_47",item.getI47()); - fields.put("i_48",item.getI48()); - fields.put("i_49",item.getI49()); - fields.put("i_50",item.getI50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_I, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_inharmrate_v数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataInHarmRateV(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - StringBuilder stringBuilder1 = new StringBuilder(); - StringBuilder stringBuilder2 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder2; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmRateV.class); - //最大值 - StringBuilder stringBuilder3 = new StringBuilder(); - StringBuilder stringBuilder4 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder4; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmRateV.class); - //平均值 - StringBuilder stringBuilder5 = new StringBuilder(); - StringBuilder stringBuilder6 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); - } else { - stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); - } - } - stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder6; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmRateV.class); - //CP95值 - StringBuilder stringBuilder7 = new StringBuilder(); - StringBuilder stringBuilder8 = new StringBuilder(); - for (int i = 1; i <=50 ; i++) { - if (i==50){ - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); - } else { - stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); - } - } - stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); - String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder8; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmRateV.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_inharmrate_v表数据 - * @author xy - * @param list data_inharmrate_v表数据 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayInHarmRateV(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("v_1",item.getV1()); - fields.put("v_2",item.getV2()); - fields.put("v_3",item.getV3()); - fields.put("v_4",item.getV4()); - fields.put("v_5",item.getV5()); - fields.put("v_6",item.getV6()); - fields.put("v_7",item.getV7()); - fields.put("v_8",item.getV8()); - fields.put("v_9",item.getV9()); - fields.put("v_10",item.getV10()); - fields.put("v_11",item.getV11()); - fields.put("v_12",item.getV12()); - fields.put("v_13",item.getV13()); - fields.put("v_14",item.getV14()); - fields.put("v_15",item.getV15()); - fields.put("v_16",item.getV16()); - fields.put("v_17",item.getV17()); - fields.put("v_18",item.getV18()); - fields.put("v_19",item.getV19()); - fields.put("v_20",item.getV20()); - fields.put("v_21",item.getV21()); - fields.put("v_22",item.getV22()); - fields.put("v_23",item.getV23()); - fields.put("v_24",item.getV24()); - fields.put("v_25",item.getV25()); - fields.put("v_26",item.getV26()); - fields.put("v_27",item.getV27()); - fields.put("v_28",item.getV28()); - fields.put("v_29",item.getV29()); - fields.put("v_30",item.getV30()); - fields.put("v_31",item.getV31()); - fields.put("v_32",item.getV32()); - fields.put("v_33",item.getV33()); - fields.put("v_34",item.getV34()); - fields.put("v_35",item.getV35()); - fields.put("v_36",item.getV36()); - fields.put("v_37",item.getV37()); - fields.put("v_38",item.getV38()); - fields.put("v_39",item.getV39()); - fields.put("v_40",item.getV40()); - fields.put("v_41",item.getV41()); - fields.put("v_42",item.getV42()); - fields.put("v_43",item.getV43()); - fields.put("v_44",item.getV44()); - fields.put("v_45",item.getV45()); - fields.put("v_46",item.getV46()); - fields.put("v_47",item.getV47()); - fields.put("v_48",item.getV48()); - fields.put("v_49",item.getV49()); - fields.put("v_50",item.getV50()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DATA_IN_HARM_V, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - /** - * 功能描述:获取data_plt数据 - * @author xy - * @param startTime 起始时间 - * @param endTime 结束时间 - * @date 2022/5/10 14:56 - * @return List - */ - public List getDataPlt(List lineList, String startTime, String endTime){ - List result = new ArrayList<>(); - StringBuilder stringBuilder = lineStringBuilder(lineList); - //最小值 - String sql1 = "select min(plt) AS plt from "+ InfluxDBPublicParam.DATA_PLT+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult1 = influxDbUtils.query(sql1); - InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); - List list1 = resultMapper1.toPOJO(sqlResult1, DataPlt.class); - list1.forEach(item->{ - item.setValueType("MIN"); - }); - //最大值 - String sql2 = "select max(plt) AS plt from "+ InfluxDBPublicParam.DATA_PLT+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult2 = influxDbUtils.query(sql2); - InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); - List list2 = resultMapper2.toPOJO(sqlResult2, DataPlt.class); - list2.forEach(item->{ - item.setValueType("MAX"); - }); - //平均值 - String sql3 = "select mean(plt) AS plt from "+ InfluxDBPublicParam.DATA_PLT+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult3 = influxDbUtils.query(sql3); - InfluxDBResultMapper resultMapper3= new InfluxDBResultMapper(); - List list3 = resultMapper3.toPOJO(sqlResult3, DataPlt.class); - list3.forEach(item->{ - item.setValueType("AVG"); - }); - //CP95值 - String sql4 = "select percentile(plt,95) AS plt from "+ InfluxDBPublicParam.DATA_PLT+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; - QueryResult sqlResult4 = influxDbUtils.query(sql4); - InfluxDBResultMapper resultMapper4= new InfluxDBResultMapper(); - List list4 = resultMapper4.toPOJO(sqlResult4, DataPlt.class); - list4.forEach(item->{ - item.setValueType("CP95"); - }); - result.addAll(list1); - result.addAll(list2); - result.addAll(list3); - result.addAll(list4); - return result; - } - - /** - * 功能描述:插入day_plt表数据 - * @author xy - * @param list data_plt集合 - * @param time 时间戳 - * @date 2022/5/12 8:55 - */ - private void insertDayPlt(List list, long time){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getLineId()); - tags.put("phasic_type",item.getPhaseType()); - tags.put("quality_flag",item.getQualityFlag()); - tags.put("value_type",item.getValueType()); - fields.put("plt",item.getPlt()); - Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_PLT, time, TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - - public StringBuilder lineStringBuilder(List list) { - StringBuilder stringBuilder = new StringBuilder(); - if (!CollectionUtils.isEmpty(list)){ - stringBuilder.append("("); - for (int i = 0; i < list.size(); i++) { - if (list.size() - i != 1) { - stringBuilder.append("line_id ='").append(list.get(i)).append("' or "); - } else { - stringBuilder.append("line_id ='").append(list.get(i)).append("') and "); - } - } - } - return stringBuilder; - } -} +//package com.njcn.executor.handler; +// +//import com.njcn.common.pojo.constant.PatternRegex; +//import com.njcn.device.pq.api.LineFeignClient; +//import com.njcn.executor.pojo.vo.*; +//import com.njcn.influxdb.config.InfluxDbConfig; +//import com.njcn.influxdb.param.InfluxDBPublicParam; +//import com.njcn.influxdb.utils.InfluxDbUtils; +//import com.xxl.job.core.context.XxlJobHelper; +//import com.xxl.job.core.handler.annotation.XxlJob; +//import lombok.AllArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.influxdb.InfluxDB; +//import org.influxdb.dto.BatchPoints; +//import org.influxdb.dto.Point; +//import org.influxdb.dto.QueryResult; +//import org.influxdb.impl.InfluxDBResultMapper; +//import org.springframework.stereotype.Component; +//import org.springframework.util.CollectionUtils; +//import org.springframework.util.StringUtils; +// +//import java.text.ParseException; +//import java.text.SimpleDateFormat; +//import java.util.*; +//import java.util.concurrent.TimeUnit; +//import java.util.regex.Pattern; +// +///** +// * 类的介绍: +// * +// * @author xuyang +// * @version 1.0.0 +// * @createTime 2022/5/10 14:10 +// */ +//@Slf4j +//@Component +//@AllArgsConstructor +//public class DayJob { +// +// private final InfluxDbUtils influxDbUtils; +// +// private final LineFeignClient lineFeignClient; +// +// private final InfluxDbConfig influxDbConfig; +// +// @XxlJob("dayJobHandler") +// public void getDayData() throws ParseException { +// List paramList = new ArrayList<>(); +// List lineList = new ArrayList<>(); +// String command = XxlJobHelper.getJobParam(); +// SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// Calendar calendar = Calendar.getInstance(); +// calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)-1, 0, 0, 0); +// calendar.set(Calendar.MILLISECOND, 0); +// Calendar calendar2 = Calendar.getInstance(); +// calendar2.set(calendar2.get(Calendar.YEAR), calendar2.get(Calendar.MONTH), calendar2.get(Calendar.DAY_OF_MONTH)-1, 23, 59, 59); +// calendar2.set(Calendar.MILLISECOND, 0); +// String startTime = format.format(calendar.getTime()); +// String endTime = format.format(calendar2.getTime()); +// if (!StringUtils.isEmpty(command)){ +// paramList = Arrays.asList(command.split(",")); +// startTime = paramList.get(0); +// endTime = paramList.get(1); +// lineList = paramList.subList(2,paramList.size()); +// if (CollectionUtils.isEmpty(lineList)){ +// log.info("补招传入的参数,未传监测点id"); +// lineList = lineFeignClient.getLineList().getData(); +// } +// boolean s1 = Pattern.matches(PatternRegex.TIME_FORMAT,startTime); +// boolean e1 = Pattern.matches(PatternRegex.TIME_FORMAT,endTime); +// if (!s1 || !e1){ +// log.error("补招时间格式错误"); +// return; +// } else { +// startTime = startTime + " 00:00:00"; +// endTime = endTime + " 23:59:59"; +// } +// } else { +// lineList = lineFeignClient.getLineList().getData(); +// } +// long diff,diffDays,a,b = 0; +// Date d1 = format.parse(startTime); +// Date d2 = format.parse(endTime); +// diff = d2.getTime() - d1.getTime(); +// diffDays = diff / (24 * 60 * 60 * 1000-1000); +// int days = (int) diffDays; +// for (int i = 1; i <= days; i++) { +// a = d1.getTime() + (long)(i-1)*(24 * 60 * 60) * 1000; +// b = d1.getTime() + (long)i*(24 * 60 * 60) * 1000-1000; +// startTime = format.format(a); +// endTime = format.format(b); +// //生成dayV表 +// List dataV = getDataV(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataV)){ +// insertDayV(dataV,a); +// } +// //生成dayI表 +// List dataI = getDataI(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataI)){ +// insertDayI(dataI,a); +// } +// //生成dayFlicker表 +// List dataFlicker = getDataFlicker(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataFlicker)){ +// insertDayFlicker(dataFlicker,a); +// } +// //生成dayFluc表 +// List dataFluc = getDataFluc(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataFluc)){ +// insertDayFluc(dataFluc,a); +// } +// //生成dayHarmphasicI表 +// List dataHarmphasicI = getDataHarmphasicI(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataHarmphasicI)){ +// insertDayHarmphasicI(dataHarmphasicI,a); +// } +// //生成dayHarmphasicV表 +// List dataHarmphasicV = getDataHarmphasicV(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataHarmphasicV)){ +// insertDayHarmphasicV(dataHarmphasicV,a); +// } +// //生成dayHarmPowerP表 +// List dataHarmPowerP = getDataHarmPowerP(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataHarmPowerP)){ +// insertDayHarmPowerP(dataHarmPowerP,a); +// } +// //生成dayHarmPowerQ表 +// List dataHarmPowerQ = getDataHarmPowerQ(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataHarmPowerQ)){ +// insertDayHarmPowerQ(dataHarmPowerQ,a); +// } +// //生成dayHarmPowerS表 +// List dataHarmPowerS = getDataHarmPowerS(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataHarmPowerS)){ +// insertDayHarmPowerS(dataHarmPowerS,a); +// } +// //生成dayHarmRateI +// List dataHarmRateI = getDataHarmRateI(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataHarmRateI)){ +// insertDayHarmRateI(dataHarmRateI,a); +// } +// //生成dayHarmRateV +// List dataHarmRateV = getDataHarmRateV(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataHarmRateV)){ +// insertDayHarmRateV(dataHarmRateV,a); +// } +// //生成dayInHarmI +// List dataInHarmI = getDataInHarmI(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataInHarmI)){ +// insertDayInHarmI(dataInHarmI,a); +// } +// //生成dayInHarmV +// List dataInHarmV = getDataInHarmV(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataInHarmV)){ +// insertDayInHarmV(dataInHarmV,a); +// } +// //生成dayInHarmRateI +// List dataInHarmRateI = getDataInHarmRateI(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataInHarmRateI)){ +// insertDayInHarmRateI(dataInHarmRateI,a); +// } +// //生成dayInHarmRateV +// List dataInHarmRateV = getDataInHarmRateV(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataInHarmRateV)){ +// insertDayInHarmRateV(dataInHarmRateV,a); +// } +// //生成dayPlt +// List dataPlt = getDataPlt(lineList,startTime,endTime); +// if (!CollectionUtils.isEmpty(dataPlt)){ +// insertDayPlt(dataPlt,a); +// } +// } +// } +// +// /** +// * 功能描述:获取dataV数据 +// * @author xy +// * @param lineList 监测点集合 +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataV(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// stringBuilder1.append("min(freq) AS freq,min(freq_dev) AS freq_dev,min(rms) AS rms,min(rms_lvr) AS rms_lvr,min(v_neg) AS v_neg,min(v_pos) AS v_pos,min(v_thd) AS v_thd,min(v_unbalance) AS v_unbalance,min(v_zero) AS v_zero,min(vl_dev) AS vl_dev,min(vu_dev) AS vu_dev,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataV.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// stringBuilder3.append("max(freq) AS freq,max(freq_dev) AS freq_dev,max(rms) AS rms,max(rms_lvr) AS rms_lvr,max(v_neg) AS v_neg,max(v_pos) AS v_pos,max(v_thd) AS v_thd,max(v_unbalance) AS v_unbalance,max(v_zero) AS v_zero,max(vl_dev) AS vl_dev,max(vu_dev) AS vu_dev,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataV.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// stringBuilder5.append("mean(freq) AS freq,mean(freq_dev) AS freq_dev,mean(rms) AS rms,mean(rms_lvr) AS rms_lvr,mean(v_neg) AS v_neg,mean(v_pos) AS v_pos,mean(v_thd) AS v_thd,mean(v_unbalance) AS v_unbalance,mean(v_zero) AS v_zero,mean(vl_dev) AS vl_dev,mean(vu_dev) AS vu_dev,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataV.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// stringBuilder7.append("percentile(freq,95) AS freq,percentile(freq_dev,95) AS freq_dev,percentile(rms,95) AS rms,percentile(rms_lvr,95) AS rms_lvr,percentile(v_neg,95) AS v_neg,percentile(v_pos,95) AS v_pos,percentile(v_thd,95) AS v_thd,percentile(v_unbalance,95) AS v_unbalance,percentile(v_zero,95) AS v_zero,percentile(vl_dev,95) AS vl_dev,percentile(vu_dev,95) AS vu_dev,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); +// } else { +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_V+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataV.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入dayV表数据 +// * @author xy +// * @param list dataV集合 +// * @param time 时间戳 +// * @date 2022/5/11 14:55 +// */ +// private void insertDayV(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("freq",item.getFreq()); +// fields.put("freq_dev",item.getFreqDev()); +// fields.put("rms",item.getRms()); +// fields.put("rms_lvr",item.getRmsLvr()); +// fields.put("v_neg",item.getVNeg()); +// fields.put("v_pos",item.getVPos()); +// fields.put("v_thd",item.getVThd()); +// fields.put("v_unbalance",item.getVUnbalance()); +// fields.put("v_zero",item.getVZero()); +// fields.put("vl_dev",item.getVlDev()); +// fields.put("vu_dev",item.getVuDev()); +// fields.put("v_1",item.getV1()); +// fields.put("v_2",item.getV2()); +// fields.put("v_3",item.getV3()); +// fields.put("v_4",item.getV4()); +// fields.put("v_5",item.getV5()); +// fields.put("v_6",item.getV6()); +// fields.put("v_7",item.getV7()); +// fields.put("v_8",item.getV8()); +// fields.put("v_9",item.getV9()); +// fields.put("v_10",item.getV10()); +// fields.put("v_11",item.getV11()); +// fields.put("v_12",item.getV12()); +// fields.put("v_13",item.getV13()); +// fields.put("v_14",item.getV14()); +// fields.put("v_15",item.getV15()); +// fields.put("v_16",item.getV16()); +// fields.put("v_17",item.getV17()); +// fields.put("v_18",item.getV18()); +// fields.put("v_19",item.getV19()); +// fields.put("v_20",item.getV20()); +// fields.put("v_21",item.getV21()); +// fields.put("v_22",item.getV22()); +// fields.put("v_23",item.getV23()); +// fields.put("v_24",item.getV24()); +// fields.put("v_25",item.getV25()); +// fields.put("v_26",item.getV26()); +// fields.put("v_27",item.getV27()); +// fields.put("v_28",item.getV28()); +// fields.put("v_29",item.getV29()); +// fields.put("v_30",item.getV30()); +// fields.put("v_31",item.getV31()); +// fields.put("v_32",item.getV32()); +// fields.put("v_33",item.getV33()); +// fields.put("v_34",item.getV34()); +// fields.put("v_35",item.getV35()); +// fields.put("v_36",item.getV36()); +// fields.put("v_37",item.getV37()); +// fields.put("v_38",item.getV38()); +// fields.put("v_39",item.getV39()); +// fields.put("v_40",item.getV40()); +// fields.put("v_41",item.getV41()); +// fields.put("v_42",item.getV42()); +// fields.put("v_43",item.getV43()); +// fields.put("v_44",item.getV44()); +// fields.put("v_45",item.getV45()); +// fields.put("v_46",item.getV46()); +// fields.put("v_47",item.getV47()); +// fields.put("v_48",item.getV48()); +// fields.put("v_49",item.getV49()); +// fields.put("v_50",item.getV50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_V, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// +// /** +// * 功能描述:获取dataI数据 +// * @author xy +// * @param lineList 监测点集合 +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataI(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// stringBuilder1.append("min(rms) AS rms,min(i_neg) AS i_neg,min(i_pos) AS i_pos,min(i_thd) AS i_thd,min(i_unbalance) AS i_unbalance,min(i_zero) AS i_zero,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataI.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// stringBuilder3.append("max(rms) AS rms,max(i_neg) AS i_neg,max(i_pos) AS i_pos,max(i_thd) AS i_thd,max(i_unbalance) AS i_unbalance,max(i_zero) AS i_zero,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataI.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// stringBuilder5.append("mean(rms) AS rms,mean(i_neg) AS i_neg,mean(i_pos) AS i_pos,mean(i_thd) AS i_thd,mean(i_unbalance) AS i_unbalance,mean(i_zero) AS i_zero,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataI.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// stringBuilder7.append("percentile(rms,95) AS rms,percentile(i_neg,95) AS i_neg,percentile(i_pos,95) AS i_pos,percentile(i_thd,95) AS i_thd,percentile(i_unbalance,95) AS i_unbalance,percentile(i_zero,95) AS i_zero,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); +// } else { +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_I+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataI.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入dayI表数据 +// * @author xy +// * @param list dataI集合 +// * @param time 时间戳 +// * @date 2022/5/11 14:55 +// */ +// private void insertDayI(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("rms",item.getRms()); +// fields.put("i_neg",item.getINeg()); +// fields.put("i_pos",item.getIPos()); +// fields.put("i_thd",item.getIThd()); +// fields.put("i_unbalance",item.getIUnbalance()); +// fields.put("i_zero",item.getIZero()); +// fields.put("i_1",item.getI1()); +// fields.put("i_2",item.getI2()); +// fields.put("i_3",item.getI3()); +// fields.put("i_4",item.getI4()); +// fields.put("i_5",item.getI5()); +// fields.put("i_6",item.getI6()); +// fields.put("i_7",item.getI7()); +// fields.put("i_8",item.getI8()); +// fields.put("i_9",item.getI9()); +// fields.put("i_10",item.getI10()); +// fields.put("i_11",item.getI11()); +// fields.put("i_12",item.getI12()); +// fields.put("i_13",item.getI13()); +// fields.put("i_14",item.getI14()); +// fields.put("i_15",item.getI15()); +// fields.put("i_16",item.getI16()); +// fields.put("i_17",item.getI17()); +// fields.put("i_18",item.getI18()); +// fields.put("i_19",item.getI19()); +// fields.put("i_20",item.getI20()); +// fields.put("i_21",item.getI21()); +// fields.put("i_22",item.getI22()); +// fields.put("i_23",item.getI23()); +// fields.put("i_24",item.getI24()); +// fields.put("i_25",item.getI25()); +// fields.put("i_26",item.getI26()); +// fields.put("i_27",item.getI27()); +// fields.put("i_28",item.getI28()); +// fields.put("i_29",item.getI29()); +// fields.put("i_30",item.getI30()); +// fields.put("i_31",item.getI31()); +// fields.put("i_32",item.getI32()); +// fields.put("i_33",item.getI33()); +// fields.put("i_34",item.getI34()); +// fields.put("i_35",item.getI35()); +// fields.put("i_36",item.getI36()); +// fields.put("i_37",item.getI37()); +// fields.put("i_38",item.getI38()); +// fields.put("i_39",item.getI39()); +// fields.put("i_40",item.getI40()); +// fields.put("i_41",item.getI41()); +// fields.put("i_42",item.getI42()); +// fields.put("i_43",item.getI43()); +// fields.put("i_44",item.getI44()); +// fields.put("i_45",item.getI45()); +// fields.put("i_46",item.getI46()); +// fields.put("i_47",item.getI47()); +// fields.put("i_48",item.getI48()); +// fields.put("i_49",item.getI49()); +// fields.put("i_50",item.getI50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_I, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// +// /** +// * 功能描述:获取dataFlicker数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataFlicker(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// String sql1 = "select min(fluc) AS fluc,min(plt) AS plt,min(pst) AS pst from "+ InfluxDBPublicParam.DATA_FLICKER+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataFlicker.class); +// list1.forEach(item->{ +// item.setValueType("MIN"); +// }); +// //最大值 +// String sql2 = "select max(fluc) AS fluc,max(plt) AS plt,max(pst) AS pst from "+ InfluxDBPublicParam.DATA_FLICKER+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataFlicker.class); +// list2.forEach(item->{ +// item.setValueType("MAX"); +// }); +// //平均值 +// String sql3 = "select mean(fluc) AS fluc,mean(plt) AS plt,mean(pst) AS pst from "+ InfluxDBPublicParam.DATA_FLICKER+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3= new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataFlicker.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 "+ InfluxDBPublicParam.DATA_FLICKER+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE;; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4= new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataFlicker.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入dayFlicker表数据 +// * @author xy +// * @param list dataFlicker集合 +// * @param time 时间戳 +// * @date 2022/5/11 14:55 +// */ +// private void insertDayFlicker(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("fluc",item.getFluc()); +// fields.put("plt",item.getPlt()); +// fields.put("pst",item.getPst()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_FLICKER, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// +// /** +// * 功能描述:获取dataFluc数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataFluc(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// String sql1 = "select min(fluc) AS fluc,min(fluccf) AS fluccf from "+ InfluxDBPublicParam.DATA_FLUC+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataFluc.class); +// list1.forEach(item->{ +// item.setValueType("MIN"); +// }); +// //最大值 +// String sql2 = "select max(fluc) AS fluc,max(fluccf) AS fluccf from "+ InfluxDBPublicParam.DATA_FLUC+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataFluc.class); +// list2.forEach(item->{ +// item.setValueType("MAX"); +// }); +// //平均值 +// String sql3 = "select mean(fluc) AS fluc,mean(fluccf) AS fluccf from "+ InfluxDBPublicParam.DATA_FLUC+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3= new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataFluc.class); +// list3.forEach(item->{ +// item.setValueType("AVG"); +// }); +// //CP95值 +// String sql4 = "select percentile(fluc,95) AS fluc,percentile(fluccf,95) AS fluccf from "+ InfluxDBPublicParam.DATA_FLUC+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4= new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataFluc.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入dayFluc表数据 +// * @author xy +// * @param list dataFluc集合 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayFluc(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("fluc",item.getFluc()); +// fields.put("fluccf",item.getFluccf()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_FLUC, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// +// /** +// * 功能描述:获取data_harmphasic_i数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataHarmphasicI(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_I+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPhasicI.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_I+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPhasicI.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_I+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPhasicI.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); +// } else { +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_I+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPhasicI.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_harmphasic_i表数据 +// * @author xy +// * @param list data_harmphasic_i表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayHarmphasicI(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("i_1",item.getI1()); +// fields.put("i_2",item.getI2()); +// fields.put("i_3",item.getI3()); +// fields.put("i_4",item.getI4()); +// fields.put("i_5",item.getI5()); +// fields.put("i_6",item.getI6()); +// fields.put("i_7",item.getI7()); +// fields.put("i_8",item.getI8()); +// fields.put("i_9",item.getI9()); +// fields.put("i_10",item.getI10()); +// fields.put("i_11",item.getI11()); +// fields.put("i_12",item.getI12()); +// fields.put("i_13",item.getI13()); +// fields.put("i_14",item.getI14()); +// fields.put("i_15",item.getI15()); +// fields.put("i_16",item.getI16()); +// fields.put("i_17",item.getI17()); +// fields.put("i_18",item.getI18()); +// fields.put("i_19",item.getI19()); +// fields.put("i_20",item.getI20()); +// fields.put("i_21",item.getI21()); +// fields.put("i_22",item.getI22()); +// fields.put("i_23",item.getI23()); +// fields.put("i_24",item.getI24()); +// fields.put("i_25",item.getI25()); +// fields.put("i_26",item.getI26()); +// fields.put("i_27",item.getI27()); +// fields.put("i_28",item.getI28()); +// fields.put("i_29",item.getI29()); +// fields.put("i_30",item.getI30()); +// fields.put("i_31",item.getI31()); +// fields.put("i_32",item.getI32()); +// fields.put("i_33",item.getI33()); +// fields.put("i_34",item.getI34()); +// fields.put("i_35",item.getI35()); +// fields.put("i_36",item.getI36()); +// fields.put("i_37",item.getI37()); +// fields.put("i_38",item.getI38()); +// fields.put("i_39",item.getI39()); +// fields.put("i_40",item.getI40()); +// fields.put("i_41",item.getI41()); +// fields.put("i_42",item.getI42()); +// fields.put("i_43",item.getI43()); +// fields.put("i_44",item.getI44()); +// fields.put("i_45",item.getI45()); +// fields.put("i_46",item.getI46()); +// fields.put("i_47",item.getI47()); +// fields.put("i_48",item.getI48()); +// fields.put("i_49",item.getI49()); +// fields.put("i_50",item.getI50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_PHASIC_I, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_harmphasic_v数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataHarmphasicV(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_V+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPhasicV.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_V+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPhasicV.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_V+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPhasicV.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); +// } else { +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_PHASIC_V+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPhasicV.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_harmphasic_V表数据 +// * @author xy +// * @param list data_harmphasic_V表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayHarmphasicV(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("v_1",item.getV1()); +// fields.put("v_2",item.getV2()); +// fields.put("v_3",item.getV3()); +// fields.put("v_4",item.getV4()); +// fields.put("v_5",item.getV5()); +// fields.put("v_6",item.getV6()); +// fields.put("v_7",item.getV7()); +// fields.put("v_8",item.getV8()); +// fields.put("v_9",item.getV9()); +// fields.put("v_10",item.getV10()); +// fields.put("v_11",item.getV11()); +// fields.put("v_12",item.getV12()); +// fields.put("v_13",item.getV13()); +// fields.put("v_14",item.getV14()); +// fields.put("v_15",item.getV15()); +// fields.put("v_16",item.getV16()); +// fields.put("v_17",item.getV17()); +// fields.put("v_18",item.getV18()); +// fields.put("v_19",item.getV19()); +// fields.put("v_20",item.getV20()); +// fields.put("v_21",item.getV21()); +// fields.put("v_22",item.getV22()); +// fields.put("v_23",item.getV23()); +// fields.put("v_24",item.getV24()); +// fields.put("v_25",item.getV25()); +// fields.put("v_26",item.getV26()); +// fields.put("v_27",item.getV27()); +// fields.put("v_28",item.getV28()); +// fields.put("v_29",item.getV29()); +// fields.put("v_30",item.getV30()); +// fields.put("v_31",item.getV31()); +// fields.put("v_32",item.getV32()); +// fields.put("v_33",item.getV33()); +// fields.put("v_34",item.getV34()); +// fields.put("v_35",item.getV35()); +// fields.put("v_36",item.getV36()); +// fields.put("v_37",item.getV37()); +// fields.put("v_38",item.getV38()); +// fields.put("v_39",item.getV39()); +// fields.put("v_40",item.getV40()); +// fields.put("v_41",item.getV41()); +// fields.put("v_42",item.getV42()); +// fields.put("v_43",item.getV43()); +// fields.put("v_44",item.getV44()); +// fields.put("v_45",item.getV45()); +// fields.put("v_46",item.getV46()); +// fields.put("v_47",item.getV47()); +// fields.put("v_48",item.getV48()); +// fields.put("v_49",item.getV49()); +// fields.put("v_50",item.getV50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_PHASIC_V, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_harmpower_p数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataHarmPowerP(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// stringBuilder1.append("min(p) AS p,min(df) AS df,min(pf) AS pf,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(p_").append(i).append(") AS p_").append(i); +// } else { +// stringBuilder1.append("min(p_").append(i).append(") AS p_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_P+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerP.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// stringBuilder3.append("max(p) AS p,max(df) AS df,max(pf) AS pf,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(p_").append(i).append(") AS p_").append(i); +// } else { +// stringBuilder3.append("max(p_").append(i).append(") AS p_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_P+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerP.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// stringBuilder5.append("mean(p) AS p,mean(df) AS df,mean(pf) AS pf,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(p_").append(i).append(") AS p_").append(i); +// } else { +// stringBuilder5.append("mean(p_").append(i).append(") AS p_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_P+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerP.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// stringBuilder7.append("percentile(p,95) AS p,percentile(df,95) AS df,percentile(pf,95) AS pf,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(p_").append(i).append(",95) AS p_").append(i); +// } else { +// stringBuilder7.append("percentile(p_").append(i).append(",95) AS p_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_P+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerP.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_harmpower_p表数据 +// * @author xy +// * @param list data_harmpower_p表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayHarmPowerP(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("df",item.getDf()); +// fields.put("pf",item.getPf()); +// fields.put("p",item.getP()); +// fields.put("p_1",item.getP1()); +// fields.put("p_2",item.getP2()); +// fields.put("p_3",item.getP3()); +// fields.put("p_4",item.getP4()); +// fields.put("p_5",item.getP5()); +// fields.put("p_6",item.getP6()); +// fields.put("p_7",item.getP7()); +// fields.put("p_8",item.getP8()); +// fields.put("p_9",item.getP9()); +// fields.put("p_10",item.getP10()); +// fields.put("p_11",item.getP11()); +// fields.put("p_12",item.getP12()); +// fields.put("p_13",item.getP13()); +// fields.put("p_14",item.getP14()); +// fields.put("p_15",item.getP15()); +// fields.put("p_16",item.getP16()); +// fields.put("p_17",item.getP17()); +// fields.put("p_18",item.getP18()); +// fields.put("p_19",item.getP19()); +// fields.put("p_20",item.getP20()); +// fields.put("p_21",item.getP21()); +// fields.put("p_22",item.getP22()); +// fields.put("p_23",item.getP23()); +// fields.put("p_24",item.getP24()); +// fields.put("p_25",item.getP25()); +// fields.put("p_26",item.getP26()); +// fields.put("p_27",item.getP27()); +// fields.put("p_28",item.getP28()); +// fields.put("p_29",item.getP29()); +// fields.put("p_30",item.getP30()); +// fields.put("p_31",item.getP31()); +// fields.put("p_32",item.getP32()); +// fields.put("p_33",item.getP33()); +// fields.put("p_34",item.getP34()); +// fields.put("p_35",item.getP35()); +// fields.put("p_36",item.getP36()); +// fields.put("p_37",item.getP37()); +// fields.put("p_38",item.getP38()); +// fields.put("p_39",item.getP39()); +// fields.put("p_40",item.getP40()); +// fields.put("p_41",item.getP41()); +// fields.put("p_42",item.getP42()); +// fields.put("p_43",item.getP43()); +// fields.put("p_44",item.getP44()); +// fields.put("p_45",item.getP45()); +// fields.put("p_46",item.getP46()); +// fields.put("p_47",item.getP47()); +// fields.put("p_48",item.getP48()); +// fields.put("p_49",item.getP49()); +// fields.put("p_50",item.getP50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_P, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// +// /** +// * 功能描述:获取data_harmpower_q数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataHarmPowerQ(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// stringBuilder1.append("min(q) AS q,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(q_").append(i).append(") AS q_").append(i); +// } else { +// stringBuilder1.append("min(q_").append(i).append(") AS q_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_Q+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerQ.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// stringBuilder3.append("max(q) AS q,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(q_").append(i).append(") AS q_").append(i); +// } else { +// stringBuilder3.append("max(q_").append(i).append(") AS q_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_Q+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerQ.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// stringBuilder5.append("mean(q) AS q,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(q_").append(i).append(") AS q_").append(i); +// } else { +// stringBuilder5.append("mean(q_").append(i).append(") AS q_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_Q+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerQ.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// stringBuilder7.append("percentile(q,95) AS q,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(q_").append(i).append(",95) AS q_").append(i); +// } else { +// stringBuilder7.append("percentile(q_").append(i).append(",95) AS q_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_Q+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerQ.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_harmpower_q表数据 +// * @author xy +// * @param list data_harmpower_q表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayHarmPowerQ(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("q",item.getQ()); +// fields.put("q_1",item.getQ1()); +// fields.put("q_2",item.getQ2()); +// fields.put("q_3",item.getQ3()); +// fields.put("q_4",item.getQ4()); +// fields.put("q_5",item.getQ5()); +// fields.put("q_6",item.getQ6()); +// fields.put("q_7",item.getQ7()); +// fields.put("q_8",item.getQ8()); +// fields.put("q_9",item.getQ9()); +// fields.put("q_10",item.getQ10()); +// fields.put("q_11",item.getQ11()); +// fields.put("q_12",item.getQ12()); +// fields.put("q_13",item.getQ13()); +// fields.put("q_14",item.getQ14()); +// fields.put("q_15",item.getQ15()); +// fields.put("q_16",item.getQ16()); +// fields.put("q_17",item.getQ17()); +// fields.put("q_18",item.getQ18()); +// fields.put("q_19",item.getQ19()); +// fields.put("q_20",item.getQ20()); +// fields.put("q_21",item.getQ21()); +// fields.put("q_22",item.getQ22()); +// fields.put("q_23",item.getQ23()); +// fields.put("q_24",item.getQ24()); +// fields.put("q_25",item.getQ25()); +// fields.put("q_26",item.getQ26()); +// fields.put("q_27",item.getQ27()); +// fields.put("q_28",item.getQ28()); +// fields.put("q_29",item.getQ29()); +// fields.put("q_30",item.getQ30()); +// fields.put("q_31",item.getQ31()); +// fields.put("q_32",item.getQ32()); +// fields.put("q_33",item.getQ33()); +// fields.put("q_34",item.getQ34()); +// fields.put("q_35",item.getQ35()); +// fields.put("q_36",item.getQ36()); +// fields.put("q_37",item.getQ37()); +// fields.put("q_38",item.getQ38()); +// fields.put("q_39",item.getQ39()); +// fields.put("q_40",item.getQ40()); +// fields.put("q_41",item.getQ41()); +// fields.put("q_42",item.getQ42()); +// fields.put("q_43",item.getQ43()); +// fields.put("q_44",item.getQ44()); +// fields.put("q_45",item.getQ45()); +// fields.put("q_46",item.getQ46()); +// fields.put("q_47",item.getQ47()); +// fields.put("q_48",item.getQ48()); +// fields.put("q_49",item.getQ49()); +// fields.put("q_50",item.getQ50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_Q, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_harmpower_s数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataHarmPowerS(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// stringBuilder1.append("min(s) AS s,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(s_").append(i).append(") AS s_").append(i); +// } else { +// stringBuilder1.append("min(s_").append(i).append(") AS s_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_S+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmPowerS.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// stringBuilder3.append("max(s) AS s,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(s_").append(i).append(") AS s_").append(i); +// } else { +// stringBuilder3.append("max(s_").append(i).append(") AS s_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_S+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmPowerS.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// stringBuilder5.append("mean(s) AS s,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(s_").append(i).append(") AS s_").append(i); +// } else { +// stringBuilder5.append("mean(s_").append(i).append(") AS s_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_S+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmPowerS.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// stringBuilder7.append("percentile(s,95) AS s,"); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(s_").append(i).append(",95) AS s_").append(i); +// } else { +// stringBuilder7.append("percentile(s_").append(i).append(",95) AS s_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_POWER_S+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmPowerS.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_harmpower_q表数据 +// * @author xy +// * @param list data_harmpower_q表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayHarmPowerS(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("s",item.getS()); +// fields.put("s_1",item.getS1()); +// fields.put("s_2",item.getS2()); +// fields.put("s_3",item.getS3()); +// fields.put("s_4",item.getS4()); +// fields.put("s_5",item.getS5()); +// fields.put("s_6",item.getS6()); +// fields.put("s_7",item.getS7()); +// fields.put("s_8",item.getS8()); +// fields.put("s_9",item.getS9()); +// fields.put("s_10",item.getS10()); +// fields.put("s_11",item.getS11()); +// fields.put("s_12",item.getS12()); +// fields.put("s_13",item.getS13()); +// fields.put("s_14",item.getS14()); +// fields.put("s_15",item.getS15()); +// fields.put("s_16",item.getS16()); +// fields.put("s_17",item.getS17()); +// fields.put("s_18",item.getS18()); +// fields.put("s_19",item.getS19()); +// fields.put("s_20",item.getS20()); +// fields.put("s_21",item.getS21()); +// fields.put("s_22",item.getS22()); +// fields.put("s_23",item.getS23()); +// fields.put("s_24",item.getS24()); +// fields.put("s_25",item.getS25()); +// fields.put("s_26",item.getS26()); +// fields.put("s_27",item.getS27()); +// fields.put("s_28",item.getS28()); +// fields.put("s_29",item.getS29()); +// fields.put("s_30",item.getS30()); +// fields.put("s_31",item.getS31()); +// fields.put("s_32",item.getS32()); +// fields.put("s_33",item.getS33()); +// fields.put("s_34",item.getS34()); +// fields.put("s_35",item.getS35()); +// fields.put("s_36",item.getS36()); +// fields.put("s_37",item.getS37()); +// fields.put("s_38",item.getS38()); +// fields.put("s_39",item.getS39()); +// fields.put("s_40",item.getS40()); +// fields.put("s_41",item.getS41()); +// fields.put("s_42",item.getS42()); +// fields.put("s_43",item.getS43()); +// fields.put("s_44",item.getS44()); +// fields.put("s_45",item.getS45()); +// fields.put("s_46",item.getS46()); +// fields.put("s_47",item.getS47()); +// fields.put("s_48",item.getS48()); +// fields.put("s_49",item.getS49()); +// fields.put("s_50",item.getS50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_POWER_S, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_harmrate_i数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataHarmRateI(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_I+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmRateI.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_I+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmRateI.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_I+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmRateI.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); +// } else { +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_I+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmRateI.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_harmrate_i表数据 +// * @author xy +// * @param list data_harmrate_i表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayHarmRateI(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("i_1",item.getI1()); +// fields.put("i_2",item.getI2()); +// fields.put("i_3",item.getI3()); +// fields.put("i_4",item.getI4()); +// fields.put("i_5",item.getI5()); +// fields.put("i_6",item.getI6()); +// fields.put("i_7",item.getI7()); +// fields.put("i_8",item.getI8()); +// fields.put("i_9",item.getI9()); +// fields.put("i_10",item.getI10()); +// fields.put("i_11",item.getI11()); +// fields.put("i_12",item.getI12()); +// fields.put("i_13",item.getI13()); +// fields.put("i_14",item.getI14()); +// fields.put("i_15",item.getI15()); +// fields.put("i_16",item.getI16()); +// fields.put("i_17",item.getI17()); +// fields.put("i_18",item.getI18()); +// fields.put("i_19",item.getI19()); +// fields.put("i_20",item.getI20()); +// fields.put("i_21",item.getI21()); +// fields.put("i_22",item.getI22()); +// fields.put("i_23",item.getI23()); +// fields.put("i_24",item.getI24()); +// fields.put("i_25",item.getI25()); +// fields.put("i_26",item.getI26()); +// fields.put("i_27",item.getI27()); +// fields.put("i_28",item.getI28()); +// fields.put("i_29",item.getI29()); +// fields.put("i_30",item.getI30()); +// fields.put("i_31",item.getI31()); +// fields.put("i_32",item.getI32()); +// fields.put("i_33",item.getI33()); +// fields.put("i_34",item.getI34()); +// fields.put("i_35",item.getI35()); +// fields.put("i_36",item.getI36()); +// fields.put("i_37",item.getI37()); +// fields.put("i_38",item.getI38()); +// fields.put("i_39",item.getI39()); +// fields.put("i_40",item.getI40()); +// fields.put("i_41",item.getI41()); +// fields.put("i_42",item.getI42()); +// fields.put("i_43",item.getI43()); +// fields.put("i_44",item.getI44()); +// fields.put("i_45",item.getI45()); +// fields.put("i_46",item.getI46()); +// fields.put("i_47",item.getI47()); +// fields.put("i_48",item.getI48()); +// fields.put("i_49",item.getI49()); +// fields.put("i_50",item.getI50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_RATE_I, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_harmrate_v数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataHarmRateV(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_V+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataHarmRateV.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_V+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataHarmRateV.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_V+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataHarmRateV.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); +// } else { +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_HARM_RATE_V+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataHarmRateV.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_harmrate_v表数据 +// * @author xy +// * @param list data_harmrate_v表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayHarmRateV(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("v_1",item.getV1()); +// fields.put("v_2",item.getV2()); +// fields.put("v_3",item.getV3()); +// fields.put("v_4",item.getV4()); +// fields.put("v_5",item.getV5()); +// fields.put("v_6",item.getV6()); +// fields.put("v_7",item.getV7()); +// fields.put("v_8",item.getV8()); +// fields.put("v_9",item.getV9()); +// fields.put("v_10",item.getV10()); +// fields.put("v_11",item.getV11()); +// fields.put("v_12",item.getV12()); +// fields.put("v_13",item.getV13()); +// fields.put("v_14",item.getV14()); +// fields.put("v_15",item.getV15()); +// fields.put("v_16",item.getV16()); +// fields.put("v_17",item.getV17()); +// fields.put("v_18",item.getV18()); +// fields.put("v_19",item.getV19()); +// fields.put("v_20",item.getV20()); +// fields.put("v_21",item.getV21()); +// fields.put("v_22",item.getV22()); +// fields.put("v_23",item.getV23()); +// fields.put("v_24",item.getV24()); +// fields.put("v_25",item.getV25()); +// fields.put("v_26",item.getV26()); +// fields.put("v_27",item.getV27()); +// fields.put("v_28",item.getV28()); +// fields.put("v_29",item.getV29()); +// fields.put("v_30",item.getV30()); +// fields.put("v_31",item.getV31()); +// fields.put("v_32",item.getV32()); +// fields.put("v_33",item.getV33()); +// fields.put("v_34",item.getV34()); +// fields.put("v_35",item.getV35()); +// fields.put("v_36",item.getV36()); +// fields.put("v_37",item.getV37()); +// fields.put("v_38",item.getV38()); +// fields.put("v_39",item.getV39()); +// fields.put("v_40",item.getV40()); +// fields.put("v_41",item.getV41()); +// fields.put("v_42",item.getV42()); +// fields.put("v_43",item.getV43()); +// fields.put("v_44",item.getV44()); +// fields.put("v_45",item.getV45()); +// fields.put("v_46",item.getV46()); +// fields.put("v_47",item.getV47()); +// fields.put("v_48",item.getV48()); +// fields.put("v_49",item.getV49()); +// fields.put("v_50",item.getV50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_HARM_RATE_V, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_inharm_i数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataInHarmI(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmI.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmI.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmI.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); +// } else { +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmI.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_inharm_i表数据 +// * @author xy +// * @param list data_inharm_i表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayInHarmI(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("i_1",item.getI1()); +// fields.put("i_2",item.getI2()); +// fields.put("i_3",item.getI3()); +// fields.put("i_4",item.getI4()); +// fields.put("i_5",item.getI5()); +// fields.put("i_6",item.getI6()); +// fields.put("i_7",item.getI7()); +// fields.put("i_8",item.getI8()); +// fields.put("i_9",item.getI9()); +// fields.put("i_10",item.getI10()); +// fields.put("i_11",item.getI11()); +// fields.put("i_12",item.getI12()); +// fields.put("i_13",item.getI13()); +// fields.put("i_14",item.getI14()); +// fields.put("i_15",item.getI15()); +// fields.put("i_16",item.getI16()); +// fields.put("i_17",item.getI17()); +// fields.put("i_18",item.getI18()); +// fields.put("i_19",item.getI19()); +// fields.put("i_20",item.getI20()); +// fields.put("i_21",item.getI21()); +// fields.put("i_22",item.getI22()); +// fields.put("i_23",item.getI23()); +// fields.put("i_24",item.getI24()); +// fields.put("i_25",item.getI25()); +// fields.put("i_26",item.getI26()); +// fields.put("i_27",item.getI27()); +// fields.put("i_28",item.getI28()); +// fields.put("i_29",item.getI29()); +// fields.put("i_30",item.getI30()); +// fields.put("i_31",item.getI31()); +// fields.put("i_32",item.getI32()); +// fields.put("i_33",item.getI33()); +// fields.put("i_34",item.getI34()); +// fields.put("i_35",item.getI35()); +// fields.put("i_36",item.getI36()); +// fields.put("i_37",item.getI37()); +// fields.put("i_38",item.getI38()); +// fields.put("i_39",item.getI39()); +// fields.put("i_40",item.getI40()); +// fields.put("i_41",item.getI41()); +// fields.put("i_42",item.getI42()); +// fields.put("i_43",item.getI43()); +// fields.put("i_44",item.getI44()); +// fields.put("i_45",item.getI45()); +// fields.put("i_46",item.getI46()); +// fields.put("i_47",item.getI47()); +// fields.put("i_48",item.getI48()); +// fields.put("i_49",item.getI49()); +// fields.put("i_50",item.getI50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_I, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_inharm_v数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataInHarmV(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmV.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmV.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmV.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); +// } else { +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmV.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_inharm_v表数据 +// * @author xy +// * @param list data_inharm_v表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayInHarmV(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("v_1",item.getV1()); +// fields.put("v_2",item.getV2()); +// fields.put("v_3",item.getV3()); +// fields.put("v_4",item.getV4()); +// fields.put("v_5",item.getV5()); +// fields.put("v_6",item.getV6()); +// fields.put("v_7",item.getV7()); +// fields.put("v_8",item.getV8()); +// fields.put("v_9",item.getV9()); +// fields.put("v_10",item.getV10()); +// fields.put("v_11",item.getV11()); +// fields.put("v_12",item.getV12()); +// fields.put("v_13",item.getV13()); +// fields.put("v_14",item.getV14()); +// fields.put("v_15",item.getV15()); +// fields.put("v_16",item.getV16()); +// fields.put("v_17",item.getV17()); +// fields.put("v_18",item.getV18()); +// fields.put("v_19",item.getV19()); +// fields.put("v_20",item.getV20()); +// fields.put("v_21",item.getV21()); +// fields.put("v_22",item.getV22()); +// fields.put("v_23",item.getV23()); +// fields.put("v_24",item.getV24()); +// fields.put("v_25",item.getV25()); +// fields.put("v_26",item.getV26()); +// fields.put("v_27",item.getV27()); +// fields.put("v_28",item.getV28()); +// fields.put("v_29",item.getV29()); +// fields.put("v_30",item.getV30()); +// fields.put("v_31",item.getV31()); +// fields.put("v_32",item.getV32()); +// fields.put("v_33",item.getV33()); +// fields.put("v_34",item.getV34()); +// fields.put("v_35",item.getV35()); +// fields.put("v_36",item.getV36()); +// fields.put("v_37",item.getV37()); +// fields.put("v_38",item.getV38()); +// fields.put("v_39",item.getV39()); +// fields.put("v_40",item.getV40()); +// fields.put("v_41",item.getV41()); +// fields.put("v_42",item.getV42()); +// fields.put("v_43",item.getV43()); +// fields.put("v_44",item.getV44()); +// fields.put("v_45",item.getV45()); +// fields.put("v_46",item.getV46()); +// fields.put("v_47",item.getV47()); +// fields.put("v_48",item.getV48()); +// fields.put("v_49",item.getV49()); +// fields.put("v_50",item.getV50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_V, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// +// /** +// * 功能描述:获取data_inharmrate_i数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataInHarmRateI(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder1.append("min(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmRateI.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder3.append("max(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmRateI.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i); +// } else { +// stringBuilder5.append("mean(i_").append(i).append(") AS i_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmRateI.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i); +// } else { +// stringBuilder7.append("percentile(i_").append(i).append(",95) AS i_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_IN_HARM_I+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmRateI.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_inharmrate_i表数据 +// * @author xy +// * @param list data_inharmrate_i表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayInHarmRateI(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("i_1",item.getI1()); +// fields.put("i_2",item.getI2()); +// fields.put("i_3",item.getI3()); +// fields.put("i_4",item.getI4()); +// fields.put("i_5",item.getI5()); +// fields.put("i_6",item.getI6()); +// fields.put("i_7",item.getI7()); +// fields.put("i_8",item.getI8()); +// fields.put("i_9",item.getI9()); +// fields.put("i_10",item.getI10()); +// fields.put("i_11",item.getI11()); +// fields.put("i_12",item.getI12()); +// fields.put("i_13",item.getI13()); +// fields.put("i_14",item.getI14()); +// fields.put("i_15",item.getI15()); +// fields.put("i_16",item.getI16()); +// fields.put("i_17",item.getI17()); +// fields.put("i_18",item.getI18()); +// fields.put("i_19",item.getI19()); +// fields.put("i_20",item.getI20()); +// fields.put("i_21",item.getI21()); +// fields.put("i_22",item.getI22()); +// fields.put("i_23",item.getI23()); +// fields.put("i_24",item.getI24()); +// fields.put("i_25",item.getI25()); +// fields.put("i_26",item.getI26()); +// fields.put("i_27",item.getI27()); +// fields.put("i_28",item.getI28()); +// fields.put("i_29",item.getI29()); +// fields.put("i_30",item.getI30()); +// fields.put("i_31",item.getI31()); +// fields.put("i_32",item.getI32()); +// fields.put("i_33",item.getI33()); +// fields.put("i_34",item.getI34()); +// fields.put("i_35",item.getI35()); +// fields.put("i_36",item.getI36()); +// fields.put("i_37",item.getI37()); +// fields.put("i_38",item.getI38()); +// fields.put("i_39",item.getI39()); +// fields.put("i_40",item.getI40()); +// fields.put("i_41",item.getI41()); +// fields.put("i_42",item.getI42()); +// fields.put("i_43",item.getI43()); +// fields.put("i_44",item.getI44()); +// fields.put("i_45",item.getI45()); +// fields.put("i_46",item.getI46()); +// fields.put("i_47",item.getI47()); +// fields.put("i_48",item.getI48()); +// fields.put("i_49",item.getI49()); +// fields.put("i_50",item.getI50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_IN_HARM_I, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_inharmrate_v数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataInHarmRateV(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// StringBuilder stringBuilder1 = new StringBuilder(); +// StringBuilder stringBuilder2 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder1.append("min(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder2.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MIN' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder2; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataInHarmRateV.class); +// //最大值 +// StringBuilder stringBuilder3 = new StringBuilder(); +// StringBuilder stringBuilder4 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder3.append("max(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder4.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'MAX' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql2 = "select "+stringBuilder3+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder4; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataInHarmRateV.class); +// //平均值 +// StringBuilder stringBuilder5 = new StringBuilder(); +// StringBuilder stringBuilder6 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i); +// } else { +// stringBuilder5.append("mean(v_").append(i).append(") AS v_").append(i).append(","); +// } +// } +// stringBuilder6.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql3 = "select "+stringBuilder5+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder6; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3 = new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataInHarmRateV.class); +// //CP95值 +// StringBuilder stringBuilder7 = new StringBuilder(); +// StringBuilder stringBuilder8 = new StringBuilder(); +// for (int i = 1; i <=50 ; i++) { +// if (i==50){ +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i); +// } else { +// stringBuilder7.append("percentile(v_").append(i).append(",95) AS v_").append(i).append(","); +// } +// } +// stringBuilder8.append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' and value_type = 'AVG' group by line_id,phasic_type,value_type,quality_flag ").append(InfluxDBPublicParam.TIME_ZONE); +// String sql4 = "select "+stringBuilder7+" from "+ InfluxDBPublicParam.DATA_IN_HARM_V+" where "+stringBuilder+stringBuilder8; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4 = new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataInHarmRateV.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_inharmrate_v表数据 +// * @author xy +// * @param list data_inharmrate_v表数据 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayInHarmRateV(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("v_1",item.getV1()); +// fields.put("v_2",item.getV2()); +// fields.put("v_3",item.getV3()); +// fields.put("v_4",item.getV4()); +// fields.put("v_5",item.getV5()); +// fields.put("v_6",item.getV6()); +// fields.put("v_7",item.getV7()); +// fields.put("v_8",item.getV8()); +// fields.put("v_9",item.getV9()); +// fields.put("v_10",item.getV10()); +// fields.put("v_11",item.getV11()); +// fields.put("v_12",item.getV12()); +// fields.put("v_13",item.getV13()); +// fields.put("v_14",item.getV14()); +// fields.put("v_15",item.getV15()); +// fields.put("v_16",item.getV16()); +// fields.put("v_17",item.getV17()); +// fields.put("v_18",item.getV18()); +// fields.put("v_19",item.getV19()); +// fields.put("v_20",item.getV20()); +// fields.put("v_21",item.getV21()); +// fields.put("v_22",item.getV22()); +// fields.put("v_23",item.getV23()); +// fields.put("v_24",item.getV24()); +// fields.put("v_25",item.getV25()); +// fields.put("v_26",item.getV26()); +// fields.put("v_27",item.getV27()); +// fields.put("v_28",item.getV28()); +// fields.put("v_29",item.getV29()); +// fields.put("v_30",item.getV30()); +// fields.put("v_31",item.getV31()); +// fields.put("v_32",item.getV32()); +// fields.put("v_33",item.getV33()); +// fields.put("v_34",item.getV34()); +// fields.put("v_35",item.getV35()); +// fields.put("v_36",item.getV36()); +// fields.put("v_37",item.getV37()); +// fields.put("v_38",item.getV38()); +// fields.put("v_39",item.getV39()); +// fields.put("v_40",item.getV40()); +// fields.put("v_41",item.getV41()); +// fields.put("v_42",item.getV42()); +// fields.put("v_43",item.getV43()); +// fields.put("v_44",item.getV44()); +// fields.put("v_45",item.getV45()); +// fields.put("v_46",item.getV46()); +// fields.put("v_47",item.getV47()); +// fields.put("v_48",item.getV48()); +// fields.put("v_49",item.getV49()); +// fields.put("v_50",item.getV50()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DATA_IN_HARM_V, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// /** +// * 功能描述:获取data_plt数据 +// * @author xy +// * @param startTime 起始时间 +// * @param endTime 结束时间 +// * @date 2022/5/10 14:56 +// * @return List +// */ +// public List getDataPlt(List lineList, String startTime, String endTime){ +// List result = new ArrayList<>(); +// StringBuilder stringBuilder = lineStringBuilder(lineList); +// //最小值 +// String sql1 = "select min(plt) AS plt from "+ InfluxDBPublicParam.DATA_PLT+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult1 = influxDbUtils.query(sql1); +// InfluxDBResultMapper resultMapper1 = new InfluxDBResultMapper(); +// List list1 = resultMapper1.toPOJO(sqlResult1, DataPlt.class); +// list1.forEach(item->{ +// item.setValueType("MIN"); +// }); +// //最大值 +// String sql2 = "select max(plt) AS plt from "+ InfluxDBPublicParam.DATA_PLT+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult2 = influxDbUtils.query(sql2); +// InfluxDBResultMapper resultMapper2 = new InfluxDBResultMapper(); +// List list2 = resultMapper2.toPOJO(sqlResult2, DataPlt.class); +// list2.forEach(item->{ +// item.setValueType("MAX"); +// }); +// //平均值 +// String sql3 = "select mean(plt) AS plt from "+ InfluxDBPublicParam.DATA_PLT+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult3 = influxDbUtils.query(sql3); +// InfluxDBResultMapper resultMapper3= new InfluxDBResultMapper(); +// List list3 = resultMapper3.toPOJO(sqlResult3, DataPlt.class); +// list3.forEach(item->{ +// item.setValueType("AVG"); +// }); +// //CP95值 +// String sql4 = "select percentile(plt,95) AS plt from "+ InfluxDBPublicParam.DATA_PLT+" where "+stringBuilder+" time >= '" + startTime + "' and time <= '" + endTime + "' group by line_id,phasic_type,quality_flag "+ InfluxDBPublicParam.TIME_ZONE; +// QueryResult sqlResult4 = influxDbUtils.query(sql4); +// InfluxDBResultMapper resultMapper4= new InfluxDBResultMapper(); +// List list4 = resultMapper4.toPOJO(sqlResult4, DataPlt.class); +// list4.forEach(item->{ +// item.setValueType("CP95"); +// }); +// result.addAll(list1); +// result.addAll(list2); +// result.addAll(list3); +// result.addAll(list4); +// return result; +// } +// +// /** +// * 功能描述:插入day_plt表数据 +// * @author xy +// * @param list data_plt集合 +// * @param time 时间戳 +// * @date 2022/5/12 8:55 +// */ +// private void insertDayPlt(List list, long time){ +// List records = new ArrayList<>(); +// list.forEach(item->{ +// Map tags = new HashMap<>(); +// Map fields = new HashMap<>(); +// tags.put("line_id",item.getLineId()); +// tags.put("phasic_type",item.getPhaseType()); +// tags.put("quality_flag",item.getQualityFlag()); +// tags.put("value_type",item.getValueType()); +// fields.put("plt",item.getPlt()); +// Point point = influxDbUtils.pointBuilder(InfluxDBPublicParam.DAY_PLT, time, TimeUnit.MILLISECONDS, tags, fields); +// BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(InfluxDBPublicParam.LINE_ID, item.getLineId()).tag(InfluxDBPublicParam.PHASIC_TYPE,item.getPhaseType()).tag(InfluxDBPublicParam.QUALITY_FLAG,item.getQualityFlag()).tag(InfluxDBPublicParam.VALUE_TYPE,item.getValueType()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); +// batchPoints.point(point); +// records.add(batchPoints.lineProtocol()); +// }); +// influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); +// } +// +// public StringBuilder lineStringBuilder(List list) { +// StringBuilder stringBuilder = new StringBuilder(); +// if (!CollectionUtils.isEmpty(list)){ +// stringBuilder.append("("); +// for (int i = 0; i < list.size(); i++) { +// if (list.size() - i != 1) { +// stringBuilder.append("line_id ='").append(list.get(i)).append("' or "); +// } else { +// stringBuilder.append("line_id ='").append(list.get(i)).append("') and "); +// } +// } +// } +// return stringBuilder; +// } +//} diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DeviceAbnormalStatisticsJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DeviceAbnormalStatisticsJob.java index 6a2960227..a8e6cfc87 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DeviceAbnormalStatisticsJob.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DeviceAbnormalStatisticsJob.java @@ -12,6 +12,10 @@ import java.time.format.DateTimeFormatter; @Slf4j @Component @AllArgsConstructor +/** + * 终端装置异常告警每日统计 + * @date 2023/4/18 + */ public class DeviceAbnormalStatisticsJob { private final DeviceAbnormalFeignClient deviceAbnormalFeignClient; diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DistortionRateJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DistortionRateJob.java deleted file mode 100644 index be783996b..000000000 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/DistortionRateJob.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.njcn.executor.handler; - -import com.njcn.prepare.harmonic.api.line.DistortionRateFeignClient; -import com.njcn.prepare.harmonic.pojo.param.LineParam; -import com.xxl.job.core.handler.annotation.XxlJob; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.stereotype.Component; - -import java.time.LocalDate; -import java.time.format.DateTimeFormatter; -import java.util.Date; - -@Slf4j -@Component -@AllArgsConstructor -public class DistortionRateJob { - private final DistortionRateFeignClient distortionRateFeignClient; - - @XxlJob("DistortionRateJob") - public void DistortionRateJob () { - log.info("===================DistortionRateJob Start==================="); - LineParam lineParam = new LineParam(); - lineParam.setDataDate(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); - log.info(lineParam.toString()); - distortionRateFeignClient.distortionRate(lineParam); - log.info("===================DistortionRateJob End====================="); - } -} diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PollutionJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PollutionJob.java deleted file mode 100644 index a15902dcc..000000000 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PollutionJob.java +++ /dev/null @@ -1,592 +0,0 @@ -/* -package com.njcn.executor.handler; - -import com.njcn.device.pq.api.LineFeignClient; -import com.njcn.device.pq.pojo.po.Overlimit; -import com.njcn.executor.pojo.dto.PollutionDTO; -import com.njcn.executor.pojo.vo.*; -import com.njcn.harmonic.pojo.dto.PublicDTO; -import com.njcn.influxdb.config.InfluxDbConfig; -import com.njcn.influxdb.utils.InfluxDbUtils; -import com.xxl.job.core.handler.annotation.XxlJob; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.influxdb.InfluxDB; -import org.influxdb.dto.BatchPoints; -import org.influxdb.dto.Point; -import org.influxdb.dto.QueryResult; -import org.influxdb.impl.InfluxDBResultMapper; -import org.influxdb.querybuilder.SelectQueryImpl; -import org.influxdb.querybuilder.WhereNested; -import org.influxdb.querybuilder.WhereQueryImpl; -import org.influxdb.querybuilder.clauses.Clause; -import org.springframework.stereotype.Component; - -import java.math.BigDecimal; -import java.math.RoundingMode; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.function.BinaryOperator; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -*/ -/** - * @author xuy - * @version 1.0.0 - * @date 2022年04月07日 09:54 - *//* - -@Slf4j -@Component -@AllArgsConstructor -public class PollutionJob { - - private final InfluxDbConfig influxDbConfig; - - private final InfluxDbUtils influxDbUtils; - - private final LineFeignClient lineFeignClient; - - */ -/** - * 监测点污染指标 - *//* - - @XxlJob("pollutionJobHandler") - public void pollutionJobHandler() { - List list = new ArrayList<>(); - //谐波电压 - List uaberranceList = new ArrayList<>(); - //谐波电流 - List iHarmList = new ArrayList<>(); - //频率偏差 - List freqList = new ArrayList<>(); - //电压偏差 - List devList = new ArrayList<>(); - //三相电压不平衡度 - List uBalanceList = new ArrayList<>(); - //负序电流 - List iNegList = new ArrayList<>(); - //间谐波电压含有率 - List iNuharmList = new ArrayList<>(); - //长时电压闪变 - List flickerList = new ArrayList<>(); - List lineList = getAllLinesLimitData().stream().map(Overlimit::getId).collect(Collectors.toList()); - List pollutionList = new ArrayList<>(); - lineList.forEach(item->{ - PollutionDTO pollutionDTO = new PollutionDTO(); - pollutionDTO.setId(item); - pollutionList.add(pollutionDTO); - }); - //谐波电压污染数值 - Map> map1 = getDistortionData(); - for (String key : map1.keySet()) { - list.add(map1.get(key).get()); - } - Map> map2 = getContentData(); - for (String key : map2.keySet()) { - list.add(map2.get(key).get()); - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - Map> result = list.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - for (String key : result.keySet()) { - uaberranceList.add(result.get(key).get()); - } - //谐波电流污染数值 - Map> map3 = getIharm(); - for (String key : map3.keySet()) { - iHarmList.add(map3.get(key).get()); - } - //频率偏差污染数值 - Map> map4 = getFreq(); - for (String key : map4.keySet()) { - freqList.add(map4.get(key).get()); - } - //电压偏差 - Map> map5 = getDev(); - for (String key : map5.keySet()) { - devList.add(map5.get(key).get()); - } - //三相电压不平衡度 - Map> map6 = getUbalance(); - for (String key : map6.keySet()) { - uBalanceList.add(map6.get(key).get()); - } - //负序电流 - Map> map7 = getIneg(); - for (String key : map7.keySet()) { - iNegList.add(map7.get(key).get()); - } - //间谐波电压含有率 - Map> map8 = getInuharm(); - for (String key : map8.keySet()) { - iNuharmList.add(map8.get(key).get()); - } - //长时电压闪变 - Map> map9 = getFlicker(); - for (String key : map9.keySet()) { - flickerList.add(map9.get(key).get()); - } - //组装数据 - for (PollutionDTO item1 : pollutionList) { - for (PublicDTO item2 : uaberranceList) { - if (Objects.equals(item1.getId(),item2.getId())){ - item1.setData5(BigDecimal.valueOf(item2.getData()).setScale(4, RoundingMode.HALF_UP).doubleValue()); - } - } - } - for (PollutionDTO item1 : pollutionList) { - for (PublicDTO item2 : iHarmList) { - if (Objects.equals(item1.getId(),item2.getId())){ - item1.setData6(BigDecimal.valueOf(item2.getData()).setScale(4, RoundingMode.HALF_UP).doubleValue()); - } - } - } - for (PollutionDTO item1 : pollutionList) { - for (PublicDTO item2 : freqList) { - if (Objects.equals(item1.getId(),item2.getId())){ - item1.setData1(BigDecimal.valueOf(item2.getData()).setScale(4, RoundingMode.HALF_UP).doubleValue()); - } - } - } - for (PollutionDTO item1 : pollutionList) { - for (PublicDTO item2 : devList) { - if (Objects.equals(item1.getId(),item2.getId())){ - item1.setData2(BigDecimal.valueOf(item2.getData()).setScale(4, RoundingMode.HALF_UP).doubleValue()); - } - } - } - for (PollutionDTO item1 : pollutionList) { - for (PublicDTO item2 : uBalanceList) { - if (Objects.equals(item1.getId(),item2.getId())){ - item1.setData3(BigDecimal.valueOf(item2.getData()).setScale(4, RoundingMode.HALF_UP).doubleValue()); - } - } - } - for (PollutionDTO item1 : pollutionList) { - for (PublicDTO item2 : iNegList) { - if (Objects.equals(item1.getId(),item2.getId())){ - item1.setData4(BigDecimal.valueOf(item2.getData()).setScale(4, RoundingMode.HALF_UP).doubleValue()); - } - } - } - for (PollutionDTO item1 : pollutionList) { - for (PublicDTO item2 : iNuharmList) { - if (Objects.equals(item1.getId(),item2.getId())){ - item1.setData7(BigDecimal.valueOf(item2.getData()).setScale(4, RoundingMode.HALF_UP).doubleValue()); - } - } - } - for (PollutionDTO item1 : pollutionList) { - for (PublicDTO item2 : flickerList) { - if (Objects.equals(item1.getId(),item2.getId())){ - item1.setData8(BigDecimal.valueOf(item2.getData()).setScale(4, RoundingMode.HALF_UP).doubleValue()); - } - } - } - //将处理好的数据存入influxDB表中 - Calendar calendar = Calendar.getInstance(); - calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)-1, 0, 0, 0); - calendar.set(Calendar.MILLISECOND,0); - createMeasurement(pollutionList,calendar.getTimeInMillis()); - } - - - */ -/** - * 获取限值表中的所有监测点信息 - *//* - - private List getAllLinesLimitData() { - return lineFeignClient.getAllLineOverLimit("harmonic-boot","").getData(); - } - - private void whereAndNested(List clauses, WhereQueryImpl whereQuery) { - WhereNested> andNested = whereQuery.andNested(); - for (Clause clause : clauses) { - andNested.or(clause); - } - andNested.close(); - } - - */ -/** - * 谐波电压 -> 电压总谐波畸变率 - * 各监测点最新的A、B、C三相数据 - * 按照监测点分组,每个监测点取最大 - *//* - - private Map> getDistortionData(){ - String sql = "SELECT * FROM day_v where value_type = 'CP95' and (phasic_type = 'A' or phasic_type = 'B' or phasic_type = 'C') group by line_id order by time desc limit 3 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayV.class); - List overLimitList = getAllLinesLimitData(); - for (DayV item1 : list) { - for (Overlimit item2 : overLimitList) { - if (Objects.equals(item1.getLineId(),item2.getId())){ - double vUnbalance = item1.getVUnbalance()/item2.getUaberrance(); - data = Stream.of(vUnbalance).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(item1.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - */ -/** - * 谐波电压 -> 各次谐波电压含有率(2~25次) - * 各监测点最新的A、B、C三相数据 - *//* - - private Map> getContentData(){ - String sql = "SELECT * FROM day_harmrate_v where value_type = 'CP95' and (phasic_type = 'A' or phasic_type = 'B' or phasic_type = 'C') group by line_id order by time desc limit 3 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayHarmrateV.class); - List overLimitList = getAllLinesLimitData(); - for (DayHarmrateV dayHarmrateV : list) { - for (Overlimit overlimit : overLimitList) { - if (Objects.equals(dayHarmrateV.getLineId(),overlimit.getId())){ - double v2 = dayHarmrateV.getV2()/overlimit.getUharm2(); - double v3 = dayHarmrateV.getV3()/overlimit.getUharm3(); - double v4 = dayHarmrateV.getV4()/overlimit.getUharm4(); - double v5 = dayHarmrateV.getV5()/overlimit.getUharm5(); - double v6 = dayHarmrateV.getV6()/overlimit.getUharm6(); - double v7 = dayHarmrateV.getV7()/overlimit.getUharm7(); - double v8 = dayHarmrateV.getV8()/overlimit.getUharm8(); - double v9 = dayHarmrateV.getV9()/overlimit.getUharm9(); - double v10 = dayHarmrateV.getV10()/overlimit.getUharm10(); - double v11 = dayHarmrateV.getV11()/overlimit.getUharm11(); - double v12 = dayHarmrateV.getV12()/overlimit.getUharm12(); - double v13 = dayHarmrateV.getV13()/overlimit.getUharm13(); - double v14 = dayHarmrateV.getV14()/overlimit.getUharm14(); - double v15 = dayHarmrateV.getV15()/overlimit.getUharm15(); - double v16 = dayHarmrateV.getV16()/overlimit.getUharm16(); - double v17 = dayHarmrateV.getV17()/overlimit.getUharm17(); - double v18 = dayHarmrateV.getV18()/overlimit.getUharm18(); - double v19 = dayHarmrateV.getV19()/overlimit.getUharm19(); - double v20 = dayHarmrateV.getV20()/overlimit.getUharm20(); - double v21 = dayHarmrateV.getV21()/overlimit.getUharm21(); - double v22 = dayHarmrateV.getV22()/overlimit.getUharm22(); - double v23 = dayHarmrateV.getV23()/overlimit.getUharm23(); - double v24 = dayHarmrateV.getV24()/overlimit.getUharm24(); - double v25 = dayHarmrateV.getV25()/overlimit.getUharm25(); - data = Stream.of(v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(dayHarmrateV.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - */ -/** - * 谐波电流 -> 各次谐波电流(2~25次) - * 各监测点最新的A、B、C三相数据 - *//* - - private Map> getIharm(){ - String sql = "SELECT * FROM day_i where value_type = 'CP95' and (phasic_type = 'A' or phasic_type = 'B' or phasic_type = 'C') group by line_id order by time desc limit 3 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayI.class); - List overLimitList = getAllLinesLimitData(); - for (DayI dayI : list) { - for (Overlimit overlimit : overLimitList) { - if (Objects.equals(dayI.getLineId(),overlimit.getId())){ - double v2 = dayI.getI2()/overlimit.getIharm2(); - double v3 = dayI.getI3()/overlimit.getIharm3(); - double v4 = dayI.getI4()/overlimit.getIharm4(); - double v5 = dayI.getI5()/overlimit.getIharm5(); - double v6 = dayI.getI6()/overlimit.getIharm6(); - double v7 = dayI.getI7()/overlimit.getIharm7(); - double v8 = dayI.getI8()/overlimit.getIharm8(); - double v9 = dayI.getI9()/overlimit.getIharm9(); - double v10 = dayI.getI10()/overlimit.getIharm10(); - double v11 = dayI.getI11()/overlimit.getIharm11(); - double v12 = dayI.getI12()/overlimit.getIharm12(); - double v13 = dayI.getI13()/overlimit.getIharm13(); - double v14 = dayI.getI14()/overlimit.getIharm14(); - double v15 = dayI.getI15()/overlimit.getIharm15(); - double v16 = dayI.getI16()/overlimit.getIharm16(); - double v17 = dayI.getI17()/overlimit.getIharm17(); - double v18 = dayI.getI18()/overlimit.getIharm18(); - double v19 = dayI.getI19()/overlimit.getIharm19(); - double v20 = dayI.getI20()/overlimit.getIharm20(); - double v21 = dayI.getI21()/overlimit.getIharm21(); - double v22 = dayI.getI22()/overlimit.getIharm22(); - double v23 = dayI.getI23()/overlimit.getIharm23(); - double v24 = dayI.getI24()/overlimit.getIharm24(); - double v25 = dayI.getI25()/overlimit.getIharm25(); - data = Stream.of(v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(dayI.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - */ -/** - * 频率偏差 -> 绝对值 - * 各监测点最新的T相数据 - *//* - - private Map> getFreq(){ - String sql = "SELECT line_id,abs(freq_dev) AS freq_dev FROM day_v where phasic_type = 'T' and (value_type = 'MIN' or value_type = 'MAX') group by line_id order by time desc limit 2 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayV.class); - List overLimitList = getAllLinesLimitData(); - for (DayV dayV : list) { - for (Overlimit overlimit : overLimitList) { - if (Objects.equals(dayV.getLineId(),overlimit.getId())){ - double freqDev = dayV.getFreqDev()/overlimit.getFreqDev(); - data = Stream.of(freqDev).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(dayV.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - */ -/** - * 电压偏差 -> 绝对值 - * 各监测点最新的A、B、C三相数据 - *//* - - private Map> getDev(){ - String sql = "SELECT line_id,vu_dev,vl_dev,value_type FROM day_v where (phasic_type = 'A' or phasic_type = 'B' or phasic_type = 'C') and (value_type = 'MIN' or value_type = 'MAX') group by line_id order by time desc limit 6 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayV.class); - List overLimitList = getAllLinesLimitData(); - for (DayV dayV : list) { - for (Overlimit overlimit : overLimitList) { - if (Objects.equals(dayV.getLineId(),overlimit.getId())){ - double vlDev = Math.abs(dayV.getVlDev()/overlimit.getUvoltageDev()); - double vuDev = Math.abs(dayV.getVuDev()/overlimit.getVoltageDev()); - data = Stream.of(vuDev,vlDev).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(dayV.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - */ -/** - * 三相电压不平衡度 - * 各监测点最新的T相数据 - *//* - - private Map> getUbalance(){ - String sql = "SELECT line_id,v_unbalance,value_type FROM day_v where phasic_type = 'T' and (value_type = 'CP95' or value_type = 'MAX') group by line_id order by time desc limit 2 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayV.class); - List overLimitList = getAllLinesLimitData(); - for (DayV dayV : list) { - for (Overlimit overlimit : overLimitList) { - if (Objects.equals(dayV.getLineId(),overlimit.getId())){ - double vUnbalance = Math.abs(dayV.getVUnbalance()/overlimit.getUbalance()); - data = Stream.of(vUnbalance).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(dayV.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - */ -/** - * 负序电流 - * 各监测点最新的T相数据 - *//* - - private Map> getIneg(){ - String sql = "SELECT line_id,i_neg,value_type FROM day_i where phasic_type = 'T' and (value_type = 'CP95' or value_type = 'MAX') group by line_id order by time desc limit 2 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayI.class); - List overLimitList = getAllLinesLimitData(); - for (DayI dayI : list) { - for (Overlimit overlimit : overLimitList) { - if (Objects.equals(dayI.getLineId(),overlimit.getId())){ - double iNeg = Math.abs(dayI.getINeg()/overlimit.getINeg()); - data = Stream.of(iNeg).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(dayI.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - */ -/** - * 间谐波电压含有率 - * 各监测点最新的A、B、C三相数据 - *//* - - private Map> getInuharm(){ - String sql = "SELECT * FROM day_inharm_v where (phasic_type = 'A' or phasic_type = 'B' or phasic_type = 'C') and value_type = 'CP95' group by line_id order by time desc limit 3 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayInharmV.class); - List overLimitList = getAllLinesLimitData(); - for (DayInharmV dayInharmV : list) { - for (Overlimit overlimit : overLimitList) { - if (Objects.equals(dayInharmV.getLineId(),overlimit.getId())){ - double v1 = Math.abs(dayInharmV.getV1()/overlimit.getInuharm1()); - double v2 = Math.abs(dayInharmV.getV2()/overlimit.getInuharm2()); - double v3 = Math.abs(dayInharmV.getV3()/overlimit.getInuharm3()); - double v4 = Math.abs(dayInharmV.getV4()/overlimit.getInuharm4()); - double v5 = Math.abs(dayInharmV.getV5()/overlimit.getInuharm5()); - double v6 = Math.abs(dayInharmV.getV6()/overlimit.getInuharm6()); - double v7 = Math.abs(dayInharmV.getV7()/overlimit.getInuharm7()); - double v8 = Math.abs(dayInharmV.getV8()/overlimit.getInuharm8()); - double v9 = Math.abs(dayInharmV.getV9()/overlimit.getInuharm9()); - double v10 = Math.abs(dayInharmV.getV10()/overlimit.getInuharm10()); - double v11 = Math.abs(dayInharmV.getV11()/overlimit.getInuharm11()); - double v12 = Math.abs(dayInharmV.getV12()/overlimit.getInuharm12()); - double v13 = Math.abs(dayInharmV.getV13()/overlimit.getInuharm13()); - double v14 = Math.abs(dayInharmV.getV14()/overlimit.getInuharm14()); - double v15 = Math.abs(dayInharmV.getV15()/overlimit.getInuharm15()); - double v16 = Math.abs(dayInharmV.getV16()/overlimit.getInuharm16()); - data = Stream.of(v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(dayInharmV.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - */ -/** - * 长时电压闪变 - * 各监测点最新的A、B、C三相数据 - *//* - - private Map> getFlicker(){ - String sql = "SELECT * FROM day_plt where (phasic_type = 'A' or phasic_type = 'B' or phasic_type = 'C') and value_type = 'CP95' group by line_id order by time desc limit 3 tz('Asia/Shanghai')"; - QueryResult sqlResult = influxDbUtils.query(sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - List data; - PublicDTO publicDTO; - List lineData = new ArrayList<>(); - List list = resultMapper.toPOJO(sqlResult, DayPlt.class); - List overLimitList = getAllLinesLimitData(); - for (DayPlt dayPlt : list) { - for (Overlimit overlimit : overLimitList) { - if (Objects.equals(dayPlt.getLineId(),overlimit.getId())){ - double plt = Math.abs(dayPlt.getPlt()/overlimit.getFlicker()); - data = Stream.of(plt).collect(Collectors.toList()); - double result = data.stream().max(Comparator.comparing(Double::doubleValue)).get(); - publicDTO = new PublicDTO(); - publicDTO.setId(dayPlt.getLineId()); - publicDTO.setData(result); - lineData.add(publicDTO); - } - } - } - Comparator comparator = Comparator.comparing(PublicDTO::getData); - return lineData.stream().collect(Collectors.groupingBy(PublicDTO::getId,Collectors.reducing(BinaryOperator.maxBy(comparator)))); - } - - - */ -/** - * 生成谐波污区图污染指标表 - *//* - - private void createMeasurement(List list, long time){ - List records = new ArrayList(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put("line_id",item.getId()); - fields.put("freq",item.getData1()); - fields.put("freq_dev",item.getData2()); - fields.put("unbalance",item.getData3()); - fields.put("ineg",item.getData4()); - fields.put("harmonic_v",item.getData5()); - fields.put("harmonic_i",item.getData6()); - fields.put("inuharm",item.getData7()); - fields.put("flicker",item.getData8()); - Point point = influxDbUtils.pointBuilder("harmonic_pollution", time, TimeUnit.MILLISECONDS,tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag("line_id", item.getId()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } -} -*/ diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsIntegrityJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsIntegrityJob.java deleted file mode 100644 index 21970e7c2..000000000 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsIntegrityJob.java +++ /dev/null @@ -1,191 +0,0 @@ -/* -package com.njcn.executor.handler; - -import com.njcn.common.pojo.constant.PatternRegex; -import com.njcn.device.pq.api.LineFeignClient; -import com.njcn.device.pq.pojo.po.LineDetail; -import com.njcn.executor.pojo.vo.*; -import com.njcn.influxdb.config.InfluxDbConfig; -import com.njcn.influxdb.param.InfluxDBPublicParam; -import com.njcn.influxdb.utils.InfluxDbUtils; -import com.xxl.job.core.context.XxlJobHelper; -import com.xxl.job.core.handler.annotation.XxlJob; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.influxdb.InfluxDB; -import org.influxdb.dto.BatchPoints; -import org.influxdb.dto.Point; -import org.influxdb.dto.QueryResult; -import org.influxdb.impl.InfluxDBResultMapper; -import org.influxdb.querybuilder.SelectQueryImpl; -import org.influxdb.querybuilder.WhereNested; -import org.influxdb.querybuilder.WhereQueryImpl; -import org.influxdb.querybuilder.clauses.Clause; -import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.Instant; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -import static com.njcn.influxdb.param.InfluxDBPublicParam.*; -import static com.njcn.influxdb.param.InfluxDBPublicParam.LINE_ID; -import static org.influxdb.querybuilder.BuiltQuery.QueryBuilder.*; -import static org.influxdb.querybuilder.BuiltQuery.QueryBuilder.eq; - -*/ -/** - * 类的介绍: - * - * @author xuyang - * @version 1.0.0 - * @createTime 2022/7/8 13:44 - *//* - -@Slf4j -@Component -@AllArgsConstructor -public class PqsIntegrityJob { - - private final InfluxDbUtils influxDbUtils; - - private final InfluxDbConfig influxDbConfig; - - private final LineFeignClient lineFeignClient; - - @XxlJob("pqsIntegrityJobHandler") - public void pqsIntegrityJobHandler() throws ParseException { - List result = new ArrayList<>(); - List paramList = new ArrayList<>(),lineList = new ArrayList<>(); - List dataList = new ArrayList<>(); - String command = XxlJobHelper.getJobParam(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - Calendar calendar = Calendar.getInstance(); - calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)-1, 0, 0, 0); - calendar.set(Calendar.MILLISECOND, 0); - Calendar calendar2 = Calendar.getInstance(); - calendar2.set(calendar2.get(Calendar.YEAR), calendar2.get(Calendar.MONTH), calendar2.get(Calendar.DAY_OF_MONTH)-1, 23, 59, 59); - calendar2.set(Calendar.MILLISECOND, 0); - String startTime = format.format(calendar.getTime()); - String endTime = format.format(calendar2.getTime()); - if (!StringUtils.isEmpty(command)){ - paramList = Arrays.asList(command.split(",")); - startTime = paramList.get(0); - endTime = paramList.get(1); - lineList = paramList.subList(2,paramList.size()); - boolean s1 = Pattern.matches(PatternRegex.TIME_FORMAT,startTime); - boolean e1 = Pattern.matches(PatternRegex.TIME_FORMAT,endTime); - if (!s1 || !e1){ - log.error("补招时间格式错误"); - return; - } else { - startTime = startTime + START_TIME; - endTime = endTime + END_TIME; - } - } - List lineDetail = lineFeignClient.getLineDetail(lineList).getData(); - if (!CollectionUtils.isEmpty(lineDetail)){ - //获取dataV表中监测点的数据数量 - lineList = lineDetail.stream().map(LineDetail::getId).collect(Collectors.toList()); - long diff,diffDays,a,b = 0; - Date d1 = format.parse(startTime); - Date d2 = format.parse(endTime); - diff = d2.getTime() - d1.getTime(); - diffDays = diff / (24 * 60 * 60 * 1000-1000); - int days = (int) diffDays; - for (int i = 1; i <= days; i++) { - a = d1.getTime() + (long)(i-1)*(24 * 60 * 60) * 1000; - b = d1.getTime() + (long)i*(24 * 60 * 60) * 1000-1000; - startTime = format.format(a); - endTime = format.format(b); - dataList = getDataV(lineList,startTime,endTime); - for (LineDetail detail : lineDetail) { - PqsIntegrity pqsIntegrity = new PqsIntegrity(); - pqsIntegrity.setTime(Instant.ofEpochMilli(a)); - pqsIntegrity.setLineId(detail.getId()); - pqsIntegrity.setDue(DAY_MINUTE/detail.getTimeInterval()); - if (!CollectionUtils.isEmpty(dataList)){ - Map> lineMap = dataList.stream().collect(Collectors.groupingBy(DataV::getLineId)); - List l1 = lineMap.get(detail.getId()); - if (!CollectionUtils.isEmpty(l1)){ - Map> timeMap = l1.stream().collect(Collectors.groupingBy(DataV::getTime)); - pqsIntegrity.setReal(timeMap.size()); - } - } - result.add(pqsIntegrity); - } - } - } - insertData(result); - } - - - */ -/** - * 获取dataV数据 - * @param list 监测点集合 - * @return dataV数据 - *//* - - private List getDataV(List list, String startTime, String endTime){ - SelectQueryImpl selectQuery = select().from(influxDbConfig.getDatabase(), DATA_V); - WhereQueryImpl where = selectQuery.where(); - whereAndNested(list, where); - where.and(gte(TIME, startTime)).and(lte(TIME, endTime)); - where.tz(TZ); - QueryResult queryResult = influxDbUtils.query(selectQuery.getCommand()); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - return resultMapper.toPOJO(queryResult, DataV.class); - } - - */ -/** - * 拼接监测点条件 - * @param list 监测点集合 - * @param whereQuery WhereQueryImpl - *//* - - private void whereAndNested(List list, WhereQueryImpl whereQuery) { - List clauses = new ArrayList<>(); - list.forEach(item->{ - Clause clause = eq(LINE_ID, item); - clauses.add(clause); - }); - WhereNested> andNested = whereQuery.andNested(); - for (Clause clause : clauses) { - andNested.or(clause); - } - andNested.close(); - } - - */ -/** - * 功能描述:插入pqs_integrity表数据 - * @author xy - * @param list 数据集合 - * @date 2022/5/12 8:55 - *//* - - private void insertData(List list){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put(LINE_ID,item.getLineId()); - fields.put(DUE,item.getDue()); - fields.put(REAL,item.getReal()); - Point point = influxDbUtils.pointBuilder(PQS_INTEGRITY, item.getTime().toEpochMilli(), TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(LINE_ID, item.getLineId()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } - -} -*/ diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsOnlineRateJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsOnlineRateJob.java deleted file mode 100644 index d3d7bdc65..000000000 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsOnlineRateJob.java +++ /dev/null @@ -1,294 +0,0 @@ -/* -package com.njcn.executor.handler; - -import com.njcn.common.pojo.constant.PatternRegex; -import com.njcn.device.pq.api.LineFeignClient; -import com.njcn.energy.pojo.constant.ModelState; -import com.njcn.executor.pojo.vo.PqsCommunicate; -import com.njcn.executor.pojo.vo.PqsOnlineRate; -import com.njcn.influxdb.config.InfluxDbConfig; -import com.njcn.influxdb.utils.InfluxDbUtils; -import com.xxl.job.core.context.XxlJobHelper; -import com.xxl.job.core.handler.annotation.XxlJob; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.influxdb.InfluxDB; -import org.influxdb.dto.BatchPoints; -import org.influxdb.dto.Point; -import org.influxdb.dto.QueryResult; -import org.influxdb.impl.InfluxDBResultMapper; -import org.influxdb.querybuilder.SelectQueryImpl; -import org.influxdb.querybuilder.WhereNested; -import org.influxdb.querybuilder.WhereQueryImpl; -import org.influxdb.querybuilder.clauses.Clause; -import org.springframework.stereotype.Component; -import org.springframework.util.CollectionUtils; -import org.springframework.util.StringUtils; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.Instant; -import java.time.LocalDateTime; -import java.time.ZoneId; -import java.util.*; -import java.util.concurrent.TimeUnit; -import java.util.regex.Pattern; -import java.util.stream.Collectors; - -import static com.njcn.influxdb.param.InfluxDBPublicParam.*; -import static org.influxdb.querybuilder.BuiltQuery.QueryBuilder.*; - -*/ -/** - * 类的介绍: - * - * @author xuyang - * @version 1.0.0 - * @createTime 2022/7/8 13:43 - *//* - -@Slf4j -@Component -@AllArgsConstructor -public class PqsOnlineRateJob { - - private final InfluxDbUtils influxDbUtils; - - private final InfluxDbConfig influxDbConfig; - - private final LineFeignClient lineFeignClient; - - @XxlJob("pqsOnlineRateJobHandler") - public void pqsOnlineRateJobHandler() throws ParseException { - List result = new ArrayList<>(); - List paramList = new ArrayList<>(),deviceList = new ArrayList<>(); - String command = XxlJobHelper.getJobParam(); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - Calendar calendar = Calendar.getInstance(); - calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)-1, 0, 0, 0); - calendar.set(Calendar.MILLISECOND, 0); - Calendar calendar2 = Calendar.getInstance(); - calendar2.set(calendar2.get(Calendar.YEAR), calendar2.get(Calendar.MONTH), calendar2.get(Calendar.DAY_OF_MONTH)-1, 23, 59, 59); - calendar2.set(Calendar.MILLISECOND, 0); - String startTime = format.format(calendar.getTime()); - String endTime = format.format(calendar2.getTime()); - if (!StringUtils.isEmpty(command)){ - paramList = Arrays.asList(command.split(",")); - startTime = paramList.get(0); - endTime = paramList.get(1); - deviceList = paramList.subList(2,paramList.size()); - boolean s1 = Pattern.matches(PatternRegex.TIME_FORMAT,startTime); - boolean e1 = Pattern.matches(PatternRegex.TIME_FORMAT,endTime); - if (!s1 || !e1){ - log.error("补招时间格式错误"); - return; - } else { - startTime = startTime + START_TIME; - endTime = endTime + END_TIME; - } - } - if (CollectionUtils.isEmpty(deviceList)){ - deviceList = lineFeignClient.getDeviceList().getData(); - } - if (!CollectionUtils.isEmpty(deviceList)){ - long diff,diffDays,a,b = 0; - List l1 = new ArrayList<>(),l2 = new ArrayList<>(); - Date d1 = format.parse(startTime); - Date d2 = format.parse(endTime); - diff = d2.getTime() - d1.getTime(); - diffDays = diff / (24 * 60 * 60 * 1000-1000); - int days = (int) diffDays; - for (int i = 1; i <= days; i++) { - a = d1.getTime() + (long)(i-1)*(24 * 60 * 60) * 1000; - b = d1.getTime() + (long)i*(24 * 60 * 60) * 1000-1000; - startTime = format.format(a); - endTime = format.format(b); - //获取装置的最新的一条数据 - List latestList = getData(deviceList); - if (!CollectionUtils.isEmpty(latestList)){ - for (PqsCommunicate item : latestList) { - if (item.getTime().toEpochMilli() < a){ - l1.add(item); - } else if (a <= item.getTime().toEpochMilli() && item.getTime().toEpochMilli() < b){ - l2.add(item); - } - } - } - if (!CollectionUtils.isEmpty(l1)){ - for (PqsCommunicate item : l1) { - PqsOnlineRate onlineRate = new PqsOnlineRate(); - if (Objects.equals(item.getType(), ModelState.offline)){ - onlineRate.setOfflineMin(DAY_MINUTE); - onlineRate.setOnlineMin(0); - onlineRate.setOnlineRate(0.0); - } else { - onlineRate.setOfflineMin(0); - onlineRate.setOnlineMin(DAY_MINUTE); - onlineRate.setOnlineRate(100.0); - } - onlineRate.setTime(Instant.ofEpochMilli(a)); - onlineRate.setDevId(item.getDevId()); - result.add(onlineRate); - } - } - if (!CollectionUtils.isEmpty(l2)){ - List devList = l2.stream().map(PqsCommunicate::getDevId).collect(Collectors.toList()); - List list = getPqsCommunicate(devList,startTime,endTime); - //根据装置的id进行分组 - Map> groupMap = list.stream().collect(Collectors.groupingBy(PqsCommunicate::getDevId)); - try { - if (!CollectionUtils.isEmpty(groupMap)){ - for (String key : groupMap.keySet()) { - int offTime = 0; - int onTime = 0; - PqsOnlineRate onlineRate = new PqsOnlineRate(); - List infoList = groupMap.get(key); - if (infoList.size() > 1){ - //获取最早一条记录 - PqsCommunicate first = infoList.stream().min(Comparator.comparing(PqsCommunicate::getTime)).get(); - //将上线和下线分组 - Map> typeMap = infoList.stream().collect(Collectors.groupingBy(PqsCommunicate::getType)); - List off = typeMap.get(0); - List on = typeMap.get(1); - if (first.getType() == 0){ - if (off.size() == on.size()){ - for (int j = 0; j < off.size(); j++) { - offTime = offTime + (int) (on.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() + 1000L - off.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()) / (1000*60); - } - } else { - for (int j = 0; j < off.size(); j++) { - if (j == off.size() - 1){ - offTime = offTime + (int) (format.parse(endTime).getTime() + 1000L - off.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()) / (1000*60); - } else { - offTime = offTime + (int) (on.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() + 1000L - off.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()) / (1000*60); - } - } - } - onTime = DAY_MINUTE-offTime; - } else { - if (off.size() == on.size()){ - for (int j = 0; j < on.size(); j++) { - onTime = onTime + (int) (off.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() + 1000L - on.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()) / (1000*60); - } - } else { - for (int j = 0; j < on.size(); j++) { - if (j == on.size() - 1){ - onTime = onTime + (int) (format.parse(endTime).getTime() + 1000L - on.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()) / (1000*60); - } else { - onTime = onTime + (int) (off.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli() + 1000L - on.get(j).getTime().atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()) / (1000*60); - } - } - } - offTime = DAY_MINUTE-onTime; - } - } else { - LocalDateTime updateTime = LocalDateTime.ofInstant(infoList.get(0).getTime(), ZoneId.systemDefault()); - if (Objects.equals(infoList.get(0).getType(),0)) { - onTime = 0; - offTime = (int) (format.parse(endTime).getTime() + 1000L - updateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()) / (1000*60); - } else { - offTime = 0; - onTime = (int) (format.parse(endTime).getTime() + 1000L - updateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()) / (1000*60); - } - } - onlineRate.setDevId(infoList.get(0).getDevId()); - onlineRate.setOnlineMin(onTime); - onlineRate.setOfflineMin(offTime); - onlineRate.setOnlineRate(Double.parseDouble(String.format("%.2f",onTime*1.0/DAY_MINUTE*100))); - onlineRate.setTime(Instant.ofEpochMilli(a)); - result.add(onlineRate); - } - } - } catch (ParseException e) { - e.getMessage(); - } - } - } - } - insertData(result); - } - - */ -/** - * 获取pqs_communicate数据 - * @param list 装置集合 - * @param startTime 开始时间 - * @param endTime 结束时间 - * @return pqs_communicate数据 - *//* - - private List getPqsCommunicate(List list, String startTime, String endTime){ - SelectQueryImpl selectQuery = select().from(influxDbConfig.getDatabase(), PQS_COMMUNICATE); - WhereQueryImpl where = selectQuery.where(); - whereAndNested(list, where); - where.and(gte(TIME, startTime)).and(lte(TIME, endTime)); - where.tz(TZ); - QueryResult queryResult = influxDbUtils.query(selectQuery.getCommand()); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - return resultMapper.toPOJO(queryResult, PqsCommunicate.class); - } - - */ -/** - * 拼接装置条件 - * @param list 装置集合 - * @param whereQuery WhereQueryImpl - *//* - - private void whereAndNested(List list, WhereQueryImpl whereQuery) { - List clauses = new ArrayList<>(); - list.forEach(item->{ - Clause clause = eq(DEV_ID, item); - clauses.add(clause); - }); - WhereNested> andNested = whereQuery.andNested(); - for (Clause clause : clauses) { - andNested.or(clause); - } - andNested.close(); - } - - */ -/** - * 获取pqs_communicate数据最新一条数据 - * @param list 装置id集合 - * @return pqs_communicate数据 - *//* - - private List getData(List list){ - SelectQueryImpl selectQuery = select().from(influxDbConfig.getDatabase(), PQS_COMMUNICATE); - WhereQueryImpl where = selectQuery.where(); - whereAndNested(list, where); - where.groupBy(DEV_ID).orderBy(desc()).limit(1); - where.tz(TZ); - QueryResult queryResult = influxDbUtils.query(selectQuery.getCommand()); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); - return resultMapper.toPOJO(queryResult, PqsCommunicate.class); - } - - */ -/** - * 功能描述:插入pqs_integrity表数据 - * @author xy - * @param list 数据集合 - * @date 2022/5/12 8:55 - *//* - - private void insertData(List list){ - List records = new ArrayList<>(); - list.forEach(item->{ - Map tags = new HashMap<>(); - Map fields = new HashMap<>(); - tags.put(DEV_ID,item.getDevId()); - fields.put(ONLINE_MIN,item.getOnlineMin()); - fields.put(OFFLINE_MIN,item.getOfflineMin()); - fields.put(ONLINE_RATE,item.getOnlineRate()); - Point point = influxDbUtils.pointBuilder(PQS_ONLINERATE, item.getTime().toEpochMilli(), TimeUnit.MILLISECONDS, tags, fields); - BatchPoints batchPoints = BatchPoints.database(influxDbConfig.getDatabase()).tag(DEV_ID, item.getDevId()).retentionPolicy("").consistency(InfluxDB.ConsistencyLevel.ALL).build(); - batchPoints.point(point); - records.add(batchPoints.lineProtocol()); - }); - influxDbUtils.batchInsert(influxDbConfig.getDatabase(),"", InfluxDB.ConsistencyLevel.ALL, records); - } -} -*/ diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/ConfigController.java b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/ConfigController.java index 45ca4e862..dddd5193c 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/controller/ConfigController.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/controller/ConfigController.java @@ -1,6 +1,7 @@ package com.njcn.system.controller; +import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.OperateType; @@ -26,6 +27,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** *

@@ -45,6 +47,7 @@ public class ConfigController extends BaseController { private final IConfigService iConfigService; + @OperateInfo(info = LogEnum.SYSTEM_COMMON) @GetMapping("/getSysConfig") @ApiOperation("获取系统配置") @@ -68,7 +71,8 @@ public class ConfigController extends BaseController { public HttpResult> getSysConfigData() { String methodDescribe = getMethodDescribe("getSysConfigData"); LogUtil.njcnDebug(log, "{}", methodDescribe, methodDescribe); - List res = iConfigService.list(); + List res = iConfigService.getList(); + if (CollectionUtils.isEmpty(res)) { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NO_DATA, null, methodDescribe); } else { diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/ConfigMapper.java b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/ConfigMapper.java index fc16262c8..cdd30f5bd 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/ConfigMapper.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/ConfigMapper.java @@ -1,8 +1,11 @@ package com.njcn.system.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.system.pojo.po.Config; +import java.util.List; + /** *

* Mapper 接口 @@ -13,4 +16,5 @@ import com.njcn.system.pojo.po.Config; */ public interface ConfigMapper extends BaseMapper { + List getList(); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/ConfigMapper.xml b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/ConfigMapper.xml index d138f6edd..0ee2662c9 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/ConfigMapper.xml +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/mapper/mapping/ConfigMapper.xml @@ -2,4 +2,19 @@ + + diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IConfigService.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IConfigService.java index 77f0a64ef..cdf410e47 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/IConfigService.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/IConfigService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.system.pojo.param.ConfigParam; import com.njcn.system.pojo.po.Config; +import java.util.List; + /** *

* 服务类 @@ -26,4 +28,6 @@ public interface IConfigService extends IService { * @return */ boolean updateSysConfig(ConfigParam.ConfigUpdateParam configUpdateParam); + + List getList(); } diff --git a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/ConfigServiceImpl.java b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/ConfigServiceImpl.java index c03d3a7af..8c1030411 100644 --- a/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/ConfigServiceImpl.java +++ b/pqs-system/system-boot/src/main/java/com/njcn/system/service/impl/ConfigServiceImpl.java @@ -10,6 +10,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import java.time.LocalDateTime; +import java.util.List; import java.util.Objects; /** @@ -50,5 +51,10 @@ public class ConfigServiceImpl extends ServiceImpl impleme return false; } + @Override + public List getList() { + return this.baseMapper.getList(); + } + }