diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/enums/HarmonicResponseEnum.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/enums/HarmonicResponseEnum.java index 9f4e7ce28..2196780cc 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/enums/HarmonicResponseEnum.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/enums/HarmonicResponseEnum.java @@ -14,7 +14,8 @@ public enum HarmonicResponseEnum { * 谐波模块异常响应码的范围: * A00550 ~ A00649 */ - HARMONIC_COMMON_ERROR("A00550","谐波模块异常") + HARMONIC_COMMON_ERROR("A00550","谐波模块异常"), + LIMIT_RATE_ERROR("A00551","稳态监测点数据异常") ; private final String code; diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/LimitRatePO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/LimitRatePO.java index 3a772a1d8..b356c050f 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/LimitRatePO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/po/LimitRatePO.java @@ -12,232 +12,232 @@ import java.time.Instant; * @date: 2022/04/19 17:37 */ @Data -@Measurement(name = "LIMIT_RATE") +@Measurement(name = "limit_rate") public class LimitRatePO { //时间索引 @Column(name = "time") private Instant time; //监测点索引 - @Column(name = "MYINDEX") + @Column(name = "line_id") private String lineId; //数据类型 - @Column(name = "Phasic_Type") + @Column(name = "phasic_type") private String phasicType; //总次数 - @Column(name = "AllTime") + @Column(name = "all_time") private Integer allTime; //闪变越限次数 - @Column(name = "Flicker_OverTime") + @Column(name = "flicker_overtime") private Integer flickerOverTime; //闪变总次数 - @Column(name = "Flicker_AllTime") + @Column(name = "flicker_all_time") private Integer flickerAllTime; //频率偏差越限次数 - @Column(name = "Freq_Dev_OverTime") + @Column(name = "freq_dev_overtime") private Integer freqDevOverTime; //电压偏差越限次数 - @Column(name = "Voltage_Dev_OverTime") + @Column(name = "voltage_dev_overtime") private Integer voltageDevOverTime; //电压不平衡度越限次数 - @Column(name = "UBalance_OverTime") + @Column(name = "ubalance_overtime") private Integer uBalanceOverTime; //电压谐波畸变率越限次数 - @Column(name = "UAberrance_OverTime") + @Column(name = "uaberrance_overtime") private Integer uAberranceOverTime; //负序电流限值次数 - @Column(name = "I_Neg_OverTime") + @Column(name = "i_neg_overtime") private Integer iNegOverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_2_OverTime") + @Column(name = "uharm_2_overtime") private Integer uHarm2OverTime; //3次电压谐波含有率越限次数 - @Column(name = "UHarm_3_OverTime") + @Column(name = "uharm_3_overtime") private Integer uHarm3OverTime; //4次电压谐波含有率越限次数 - @Column(name = "UHarm_4_OverTime") + @Column(name = "uharm_4_overtime") private Integer uHarm4OverTime; //5次电压谐波含有率越限次数 - @Column(name = "UHarm_5_OverTime") + @Column(name = "uharm_5_overtime") private Integer uHarm5OverTime; //6次电压谐波含有率越限次数 - @Column(name = "UHarm_6_OverTime") + @Column(name = "uharm_6_overtime") private Integer uHarm6OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_7_OverTime") + @Column(name = "uharm_7_overtime") private Integer uHarm7OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_8_OverTime") + @Column(name = "uharm_8_overtime") private Integer uHarm8OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_9_OverTime") + @Column(name = "uharm_9_overtime") private Integer uHarm9OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_10_OverTime") + @Column(name = "uharm_10_overtime") private Integer uHarm10OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_11_OverTime") + @Column(name = "uharm_11_overtime") private Integer uHarm11OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_12_OverTime") + @Column(name = "uharm_12_overtime") private Integer uHarm12OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_13_OverTime") + @Column(name = "uharm_13_overtime") private Integer uHarm13OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_14_OverTime") + @Column(name = "uharm_14_overtime") private Integer uHarm14OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_15_OverTime") + @Column(name = "uharm_15_overtime") private Integer uHarm15OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_16_OverTime") + @Column(name = "uharm_16_overtime") private Integer uHarm16OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_17_OverTime") + @Column(name = "uharm_17_overtime") private Integer uHarm17OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_18_OverTime") + @Column(name = "uharm_18_overtime") private Integer uHarm18OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_19_OverTime") + @Column(name = "uharm_19_overtime") private Integer uHarm19OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_20_OverTime") + @Column(name = "uharm_20_overtime") private Integer uHarm20OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_21_OverTime") + @Column(name = "uharm_21_overtime") private Integer uHarm21OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_22_OverTime") + @Column(name = "uharm_22_overtime") private Integer uHarm22OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_23_OverTime") + @Column(name = "uharm_23_overtime") private Integer uHarm23OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_24_OverTime") + @Column(name = "uharm_24_overtime") private Integer uHarm24OverTime; //2次电压谐波含有率越限次数 - @Column(name = "UHarm_25_OverTime") + @Column(name = "uharm_25_overtime") private Integer uHarm25OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_2_OverTime") + @Column(name = "iharm_2_overtime") private Integer iHarm2OverTime; //3次电流谐波幅值越限次数 - @Column(name = "IHarm_3_OverTime") + @Column(name = "iharm_3_overtime") private Integer iHarm3OverTime; //4次电流谐波幅值越限次数 - @Column(name = "IHarm_4_OverTime") + @Column(name = "iharm_4_overtime") private Integer iHarm4OverTime; //5次电流谐波幅值越限次数 - @Column(name = "IHarm_5_OverTime") + @Column(name = "iharm_5_overtime") private Integer iHarm5OverTime; //6次电流谐波幅值越限次数 - @Column(name = "IHarm_6_OverTime") + @Column(name = "iharm_6_overtime") private Integer iHarm6OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_7_OverTime") + @Column(name = "iharm_7_overtime") private Integer iHarm7OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_8_OverTime") + @Column(name = "iharm_8_overtime") private Integer iHarm8OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_9_OverTime") + @Column(name = "iharm_9_overtime") private Integer iHarm9OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_10_OverTime") + @Column(name = "iharm_10_overtime") private Integer iHarm10OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_11_OverTime") + @Column(name = "iharm_11_overtime") private Integer iHarm11OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_12_OverTime") + @Column(name = "iharm_12_overtime") private Integer iHarm12OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_13_OverTime") + @Column(name = "iharm_13_overtime") private Integer iHarm13OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_14_OverTime") + @Column(name = "iharm_14_overtime") private Integer iHarm14OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_15_OverTime") + @Column(name = "iharm_15_overtime") private Integer iHarm15OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_16_OverTime") + @Column(name = "iharm_16_overtime") private Integer iHarm16OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_17_OverTime") + @Column(name = "iharm_17_overtime") private Integer iHarm17OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_18_OverTime") + @Column(name = "iharm_18_overtime") private Integer iHarm18OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_19_OverTime") + @Column(name = "iharm_19_overtime") private Integer iHarm19OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_20_OverTime") + @Column(name = "iharm_20_overtime") private Integer iHarm20OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_21_OverTime") + @Column(name = "iharm_21_overtime") private Integer iHarm21OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_22_OverTime") + @Column(name = "iharm_22_overtime") private Integer iHarm22OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_23_OverTime") + @Column(name = "iharm_23_overtime") private Integer iHarm23OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_24_OverTime") + @Column(name = "iharm_24_overtime") private Integer iHarm24OverTime; //2次电流谐波幅值越限次数 - @Column(name = "IHarm_25_OverTime") + @Column(name = "iharm_25_overtime") private Integer iHarm25OverTime; //0.5次间谐波电压限值次数 - @Column(name = "InUHARM_1_OverTime") + @Column(name = "inuharm_1_overtime") private Integer inUHARM1OverTime; //1.5次间谐波电压限值次数 - @Column(name = "InUHARM_2_OverTime") + @Column(name = "inuharm_2_overtime") private Integer inUHARM2OverTime; //2.5次间谐波电压限值次数 - @Column(name = "InUHARM_3_OverTime") + @Column(name = "inuharm_3_overtime") private Integer inUHARM3OverTime; //3.5次间谐波电压限值次数 - @Column(name = "InUHARM_4_OverTime") + @Column(name = "inuharm_4_overtime") private Integer inUHARM4OverTime; //4.5次间谐波电压限值次数 - @Column(name = "InUHARM_5_OverTime") + @Column(name = "inuharm_5_overtime") private Integer inUHARM5OverTime; //5.5次间谐波电压限值次数 - @Column(name = "InUHARM_6_OverTime") + @Column(name = "inuharm_6_overtime") private Integer inUHARM6OverTime; //6.5次间谐波电压限值次数 - @Column(name = "InUHARM_7_OverTime") + @Column(name = "inuharm_7_overtime") private Integer inUHARM7OverTime; //7.5次间谐波电压限值次数 - @Column(name = "InUHARM_8_OverTime") + @Column(name = "inuharm_8_overtime") private Integer inUHARM8OverTime; //8.5次间谐波电压限值次数 - @Column(name = "InUHARM_9_OverTime") + @Column(name = "inuharm_9_overtime") private Integer inUHARM9OverTime; //9.5次间谐波电压限值次数 - @Column(name = "InUHARM_10_OverTime") + @Column(name = "inuharm_10_overtime") private Integer inUHARM10OverTime; //10.5次间谐波电压限值次数 - @Column(name = "InUHARM_11_OverTime") + @Column(name = "inuharm_11_overtime") private Integer inUHARM11OverTime; //11.5次间谐波电压限值次数 - @Column(name = "InUHARM_12_OverTime") + @Column(name = "inuharm_12_overtime") private Integer inUHARM12OverTime; //12.5次间谐波电压限值次数 - @Column(name = "InUHARM_13_OverTime") + @Column(name = "inuharm_13_overtime") private Integer inUHARM13OverTime; //13.5次间谐波电压限值次数 - @Column(name = "InUHARM_14_OverTime") + @Column(name = "inuharm_14_overtime") private Integer inUHARM14OverTime; //14.5次间谐波电压限值次数 - @Column(name = "InUHARM_15_OverTime") + @Column(name = "inuharm_15_overtime") private Integer inUHARM15OverTime; //15.5次间谐波电压限值次数 - @Column(name = "InUHARM_16_OverTime") + @Column(name = "inuharm_16_overtime") private Integer inUHARM16OverTime; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyExceedRateServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyExceedRateServiceImpl.java index ee731e216..b7cfb9003 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyExceedRateServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyExceedRateServiceImpl.java @@ -312,7 +312,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService { } /** - * 监测点时间范围统计占比率 + * 计算一个监测点时间范围统计占比率 */ public SteadyExceedRateVO getDataSingleMonitorMoreDay(List qualifiesRate, String lineId) { SteadyExceedRateVO steadyExceedRateVO = new SteadyExceedRateVO(); @@ -321,7 +321,6 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService { //从数据里筛选出指定监测点的数据 limitRatePOList = qualifiesRate.stream().filter( temp -> temp.getLineId().equalsIgnoreCase(lineId)).collect(Collectors.toList()); - System.out.println("该监测点当天的信息为>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+limitRatePOList); if (CollectionUtil.isNotEmpty(limitRatePOList)) { Map> timeMap; //获取出时间和id,获取日统计占比率 @@ -332,7 +331,6 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService { steadyExceedRateVO.setSteadyExceedRate(rate); steadyExceedRateVOS.add(steadyExceedRateVO); } - System.out.println("steadyExceedRateVOS>>>>>>>>>>>>>>>>>>>>>>>>>"+steadyExceedRateVOS); //求时间范围的占比率平均值 steadyExceedRateVO.setSteadyExceedRate(NumberUtil.round(steadyExceedRateVOS.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue()); @@ -357,9 +355,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService { } if (CollectionUtil.isNotEmpty(steadyResults)) { //求区域监测点多天的平均值 - steadyExceedRateVO.setSteadyExceedRate( - NumberUtil.round(steadyResults.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue() - ); + steadyExceedRateVO.setSteadyExceedRate(NumberUtil.round(steadyResults.stream().mapToDouble(SteadyExceedRateVO::getSteadyExceedRate).average().orElse(0), 2).doubleValue()); } return steadyExceedRateVO; } @@ -406,7 +402,7 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService { * @param endTime */ private List getQualifiesRate(List lineIndexes, String startTime, String endTime) { - List limitRatePOS = new ArrayList<>(); + List limitRatePOS; //组装sql语句 // StringBuilder string = new StringBuilder(); // string.append(Param.QualityFlag + "='1' and (" + Param.PHASIC_TYPE + "='" + Param.PHASIC_TYPEA + "' or " + Param.PHASIC_TYPE + "='" + Param.PHASIC_TYPEB + "' or " + Param.PHASIC_TYPE + "='" + Param.PHASIC_TYPEC + "') and "+ Param.VALUETYPE + "='AVG' and "); @@ -419,11 +415,13 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService { timeId.append(InfluxDBPublicParam.LINE_ID + "='").append(lineIndexes.get(i)).append("' tz('Asia/Shanghai')"); } } - String a = "SELECT * FROM LIMIT_RATE WHERE time >= '2021-01-01 00:00:00' and time <= '2022-04-30 23:59:59' and MYINDEX='71b900811d9a95811913776d6e725255' or MYINDEX='479bf4e228b5579629454ee99de0b950' or MYINDEX='1e3b8531483b2a8cbee6747f1f641cf9'"; //sql语句 String sql = "SELECT * FROM "+ InfluxDBPublicParam.LIMIT_RATE +" WHERE " + timeId; //结果集 QueryResult result = influxDbUtils.query(sql); + // if (Objects.isNull(result.getResults().get(0).getSeries())) { + // throw new BusinessException(HarmonicResponseEnum.LIMIT_RATE_ERROR); + // } //结果集映射到对象中 InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); limitRatePOS = resultMapper.toPOJO(result, LimitRatePO.class); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyQualifyServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyQualifyServiceImpl.java index e6d468aa0..417cd8b01 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyQualifyServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyQualifyServiceImpl.java @@ -8,6 +8,7 @@ import com.njcn.device.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pojo.param.DeviceInfoParam; import com.njcn.harmonic.mapper.SteadyQualifyMapper; import com.njcn.harmonic.pojo.dto.SteadyQualifyDTO; +import com.njcn.harmonic.pojo.po.LimitRate; import com.njcn.harmonic.pojo.vo.SteadyQualifyCensusVO; import com.njcn.harmonic.pojo.vo.SteadyQualifyVO; import com.njcn.harmonic.service.SteadyQualifyService; @@ -15,9 +16,13 @@ import com.njcn.influxdb.param.InfluxDBPublicParam; import com.njcn.influxdb.utils.InfluxDbUtils; import lombok.AllArgsConstructor; import org.influxdb.dto.QueryResult; +import org.influxdb.impl.InfluxDBResultMapper; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.format.DateTimeFormatter; import java.util.*; import java.util.stream.Collectors; @@ -412,116 +417,101 @@ public class SteadyQualifyServiceImpl implements SteadyQualifyService { timeId.append(InfluxDBPublicParam.LINE_ID + "='").append(lineIndexes.get(i)).append("' tz('Asia/Shanghai')"); } } - String a = "SELECT * FROM LIMIT_RATE WHERE time >= '2021-01-01 00:00:00' and time <= '2022-04-30 23:59:59' and MYINDEX='bffe97ff541333448358b7b00ed97cdb' or MYINDEX='479bf4e228b5579629454ee99de0b950' or MYINDEX='1e3b8531483b2a8cbee6747f1f641cf9'"; //sql语句 String sql = "SELECT * FROM "+ InfluxDBPublicParam.LIMIT_RATE +" WHERE " + timeId; //结果集 QueryResult result = influxDbUtils.query(sql); - // //结果集映射到对象中 - // InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper(); - // List limitRates = influxDBResultMapper.toPOJO(result, LimitRate.class); + //结果集映射到对象中 + InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper(); + List limitRates = influxDBResultMapper.toPOJO(result, LimitRate.class); + limitRates.forEach(list ->{ + SteadyQualifyDTO steadyQualifyDTO = new SteadyQualifyDTO(); + LocalDateTime localDateTime = LocalDateTime.ofInstant(list.getTime(), ZoneId.systemDefault()); + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); + steadyQualifyDTO.setTime(dateTimeFormatter.format(localDateTime)); + steadyQualifyDTO.setMYINDEX(list.getLineId()); + steadyQualifyDTO.setPhasic_Type(list.getPhasicType()); + steadyQualifyDTO.setAllTime(Double.parseDouble(list.getAllTime().toString())); + steadyQualifyDTO.setFlicker_AllTime(Double.parseDouble(list.getFlickerAllTime().toString())); + steadyQualifyDTO.setFlicker_OverTime(Double.parseDouble(list.getFlickerOverTime().toString())); + steadyQualifyDTO.setFreq_Dev_OverTime(Double.parseDouble(list.getFreqDevOverTime().toString())); + steadyQualifyDTO.setIHarm_2_OverTime(Double.parseDouble(list.getIHarm2OverTime().toString())); + steadyQualifyDTO.setIHarm_3_OverTime(Double.parseDouble(list.getIHarm3OverTime().toString())); + steadyQualifyDTO.setIHarm_4_OverTime(Double.parseDouble(list.getIHarm4OverTime().toString())); + steadyQualifyDTO.setIHarm_5_OverTime(Double.parseDouble(list.getIHarm5OverTime().toString())); + steadyQualifyDTO.setIHarm_6_OverTime(Double.parseDouble(list.getIHarm6OverTime().toString())); + steadyQualifyDTO.setIHarm_7_OverTime(Double.parseDouble(list.getIHarm7OverTime().toString())); + steadyQualifyDTO.setIHarm_8_OverTime(Double.parseDouble(list.getIHarm8OverTime().toString())); + steadyQualifyDTO.setIHarm_9_OverTime(Double.parseDouble(list.getIHarm9OverTime().toString())); + steadyQualifyDTO.setIHarm_10_OverTime(Double.parseDouble(list.getIHarm10OverTime().toString())); + steadyQualifyDTO.setIHarm_11_OverTime(Double.parseDouble(list.getIHarm11OverTime().toString())); + steadyQualifyDTO.setIHarm_12_OverTime(Double.parseDouble(list.getIHarm12OverTime().toString())); + steadyQualifyDTO.setIHarm_13_OverTime(Double.parseDouble(list.getIHarm13OverTime().toString())); + steadyQualifyDTO.setIHarm_14_OverTime(Double.parseDouble(list.getIHarm14OverTime().toString())); + steadyQualifyDTO.setIHarm_15_OverTime(Double.parseDouble(list.getIHarm15OverTime().toString())); + steadyQualifyDTO.setIHarm_16_OverTime(Double.parseDouble(list.getIHarm16OverTime().toString())); + steadyQualifyDTO.setIHarm_17_OverTime(Double.parseDouble(list.getIHarm17OverTime().toString())); + steadyQualifyDTO.setIHarm_18_OverTime(Double.parseDouble(list.getIHarm18OverTime().toString())); + steadyQualifyDTO.setIHarm_19_OverTime(Double.parseDouble(list.getIHarm19OverTime().toString())); + steadyQualifyDTO.setIHarm_20_OverTime(Double.parseDouble(list.getIHarm20OverTime().toString())); + steadyQualifyDTO.setIHarm_21_OverTime(Double.parseDouble(list.getIHarm21OverTime().toString())); + steadyQualifyDTO.setIHarm_22_OverTime(Double.parseDouble(list.getIHarm22OverTime().toString())); + steadyQualifyDTO.setIHarm_23_OverTime(Double.parseDouble(list.getIHarm23OverTime().toString())); + steadyQualifyDTO.setIHarm_24_OverTime(Double.parseDouble(list.getIHarm24OverTime().toString())); + steadyQualifyDTO.setIHarm_25_OverTime(Double.parseDouble(list.getIHarm25OverTime().toString())); + steadyQualifyDTO.setI_Neg_OverTime(Double.parseDouble(list.getINegOverTime().toString())); + steadyQualifyDTO.setInUHARM_1_OverTime(Double.parseDouble(list.getInuHarm1OverTime().toString())); + steadyQualifyDTO.setInUHARM_2_OverTime(Double.parseDouble(list.getInuHarm2OverTime().toString())); + steadyQualifyDTO.setInUHARM_3_OverTime(Double.parseDouble(list.getInuHarm3OverTime().toString())); + steadyQualifyDTO.setInUHARM_4_OverTime(Double.parseDouble(list.getInuHarm4OverTime().toString())); + steadyQualifyDTO.setInUHARM_5_OverTime(Double.parseDouble(list.getInuHarm5OverTime().toString())); + steadyQualifyDTO.setInUHARM_6_OverTime(Double.parseDouble(list.getInuHarm6OverTime().toString())); + steadyQualifyDTO.setInUHARM_7_OverTime(Double.parseDouble(list.getInuHarm7OverTime().toString())); + steadyQualifyDTO.setInUHARM_8_OverTime(Double.parseDouble(list.getInuHarm8OverTime().toString())); + steadyQualifyDTO.setInUHARM_9_OverTime(Double.parseDouble(list.getInuHarm9OverTime().toString())); + steadyQualifyDTO.setInUHARM_10_OverTime(Double.parseDouble(list.getInuHarm10OverTime().toString())); + steadyQualifyDTO.setInUHARM_11_OverTime(Double.parseDouble(list.getInuHarm11OverTime().toString())); + steadyQualifyDTO.setInUHARM_12_OverTime(Double.parseDouble(list.getInuHarm12OverTime().toString())); + steadyQualifyDTO.setInUHARM_13_OverTime(Double.parseDouble(list.getInuHarm13OverTime().toString())); + steadyQualifyDTO.setInUHARM_14_OverTime(Double.parseDouble(list.getInuHarm14OverTime().toString())); + steadyQualifyDTO.setInUHARM_15_OverTime(Double.parseDouble(list.getInuHarm15OverTime().toString())); + steadyQualifyDTO.setInUHARM_16_OverTime(Double.parseDouble(list.getInuHarm16OverTime().toString())); + steadyQualifyDTO.setUAberrance_OverTime(Double.parseDouble(list.getUAberranceOverTime().toString())); + steadyQualifyDTO.setUBalance_OverTime(Double.parseDouble(list.getUBalanceOverTime().toString())); + steadyQualifyDTO.setUHarm_2_OverTime(Double.parseDouble(list.getUHarm2OverTime().toString())); + steadyQualifyDTO.setUHarm_3_OverTime(Double.parseDouble(list.getUHarm3OverTime().toString())); + steadyQualifyDTO.setUHarm_4_OverTime(Double.parseDouble(list.getUHarm4OverTime().toString())); + steadyQualifyDTO.setUHarm_5_OverTime(Double.parseDouble(list.getUHarm5OverTime().toString())); + steadyQualifyDTO.setUHarm_6_OverTime(Double.parseDouble(list.getUHarm6OverTime().toString())); + steadyQualifyDTO.setUHarm_7_OverTime(Double.parseDouble(list.getUHarm7OverTime().toString())); + steadyQualifyDTO.setUHarm_8_OverTime(Double.parseDouble(list.getUHarm8OverTime().toString())); + steadyQualifyDTO.setUHarm_9_OverTime(Double.parseDouble(list.getUHarm9OverTime().toString())); + steadyQualifyDTO.setUHarm_10_OverTime(Double.parseDouble(list.getUHarm10OverTime().toString())); + steadyQualifyDTO.setUHarm_11_OverTime(Double.parseDouble(list.getUHarm11OverTime().toString())); + steadyQualifyDTO.setUHarm_12_OverTime(Double.parseDouble(list.getUHarm12OverTime().toString())); + steadyQualifyDTO.setUHarm_13_OverTime(Double.parseDouble(list.getUHarm13OverTime().toString())); + steadyQualifyDTO.setUHarm_14_OverTime(Double.parseDouble(list.getUHarm14OverTime().toString())); + steadyQualifyDTO.setUHarm_15_OverTime(Double.parseDouble(list.getUHarm15OverTime().toString())); + steadyQualifyDTO.setUHarm_16_OverTime(Double.parseDouble(list.getUHarm16OverTime().toString())); + steadyQualifyDTO.setUHarm_17_OverTime(Double.parseDouble(list.getUHarm17OverTime().toString())); + steadyQualifyDTO.setUHarm_18_OverTime(Double.parseDouble(list.getUHarm18OverTime().toString())); + steadyQualifyDTO.setUHarm_19_OverTime(Double.parseDouble(list.getUHarm19OverTime().toString())); + steadyQualifyDTO.setUHarm_20_OverTime(Double.parseDouble(list.getUHarm20OverTime().toString())); + steadyQualifyDTO.setUHarm_21_OverTime(Double.parseDouble(list.getUHarm21OverTime().toString())); + steadyQualifyDTO.setUHarm_22_OverTime(Double.parseDouble(list.getUHarm22OverTime().toString())); + steadyQualifyDTO.setUHarm_23_OverTime(Double.parseDouble(list.getUHarm23OverTime().toString())); + steadyQualifyDTO.setUHarm_24_OverTime(Double.parseDouble(list.getUHarm24OverTime().toString())); + steadyQualifyDTO.setUHarm_25_OverTime(Double.parseDouble(list.getUHarm25OverTime().toString())); + steadyQualifyDTO.setVoltage_Dev_OverTime(Double.parseDouble(list.getVoltageDevOverTime().toString())); + qualifyDTOList.add(steadyQualifyDTO); + }); - //处理结果集 - if (!CollectionUtils.isEmpty(result.getResults().get(0).getSeries())) { - List> values = result.getResults().get(0).getSeries().get(0).getValues(); - values.forEach(list ->{ - SteadyQualifyDTO steadyQualifyDTO = new SteadyQualifyDTO(); - steadyQualifyDTO.setTime(list.get(0).toString()); - steadyQualifyDTO.setMYINDEX(list.get(46).toString()); - steadyQualifyDTO.setPhasic_Type(list.get(47).toString()); - steadyQualifyDTO.setAllTime(Double.parseDouble(list.get(1).toString())); - steadyQualifyDTO.setFlicker_AllTime(Double.parseDouble(list.get(2).toString())); - steadyQualifyDTO.setFlicker_OverTime(Double.parseDouble(list.get(3).toString())); - steadyQualifyDTO.setFreq_Dev_OverTime(Double.parseDouble(list.get(4).toString())); - steadyQualifyDTO.setIHarm_10_OverTime(Double.parseDouble(list.get(5).toString())); - steadyQualifyDTO.setIHarm_11_OverTime(Double.parseDouble(list.get(6).toString())); - steadyQualifyDTO.setIHarm_12_OverTime(Double.parseDouble(list.get(7).toString())); - steadyQualifyDTO.setIHarm_13_OverTime(Double.parseDouble(list.get(8).toString())); - steadyQualifyDTO.setIHarm_14_OverTime(Double.parseDouble(list.get(9).toString())); - steadyQualifyDTO.setIHarm_15_OverTime(Double.parseDouble(list.get(10).toString())); - steadyQualifyDTO.setIHarm_16_OverTime(Double.parseDouble(list.get(11).toString())); - steadyQualifyDTO.setIHarm_17_OverTime(Double.parseDouble(list.get(12).toString())); - steadyQualifyDTO.setIHarm_18_OverTime(Double.parseDouble(list.get(13).toString())); - steadyQualifyDTO.setIHarm_19_OverTime(Double.parseDouble(list.get(14).toString())); - steadyQualifyDTO.setIHarm_20_OverTime(Double.parseDouble(list.get(15).toString())); - steadyQualifyDTO.setIHarm_21_OverTime(Double.parseDouble(list.get(16).toString())); - steadyQualifyDTO.setIHarm_22_OverTime(Double.parseDouble(list.get(17).toString())); - steadyQualifyDTO.setIHarm_23_OverTime(Double.parseDouble(list.get(18).toString())); - steadyQualifyDTO.setIHarm_24_OverTime(Double.parseDouble(list.get(19).toString())); - steadyQualifyDTO.setIHarm_25_OverTime(Double.parseDouble(list.get(20).toString())); - steadyQualifyDTO.setIHarm_2_OverTime(Double.parseDouble(list.get(21).toString())); - steadyQualifyDTO.setIHarm_3_OverTime(Double.parseDouble(list.get(22).toString())); - steadyQualifyDTO.setIHarm_4_OverTime(Double.parseDouble(list.get(23).toString())); - steadyQualifyDTO.setIHarm_5_OverTime(Double.parseDouble(list.get(24).toString())); - steadyQualifyDTO.setIHarm_6_OverTime(Double.parseDouble(list.get(25).toString())); - steadyQualifyDTO.setIHarm_7_OverTime(Double.parseDouble(list.get(26).toString())); - steadyQualifyDTO.setIHarm_8_OverTime(Double.parseDouble(list.get(27).toString())); - steadyQualifyDTO.setIHarm_9_OverTime(Double.parseDouble(list.get(28).toString())); - steadyQualifyDTO.setI_Neg_OverTime(Double.parseDouble(list.get(29).toString())); - steadyQualifyDTO.setInUHARM_10_OverTime(Double.parseDouble(list.get(30).toString())); - steadyQualifyDTO.setInUHARM_11_OverTime(Double.parseDouble(list.get(31).toString())); - steadyQualifyDTO.setInUHARM_12_OverTime(Double.parseDouble(list.get(32).toString())); - steadyQualifyDTO.setInUHARM_13_OverTime(Double.parseDouble(list.get(33).toString())); - steadyQualifyDTO.setInUHARM_14_OverTime(Double.parseDouble(list.get(34).toString())); - steadyQualifyDTO.setInUHARM_15_OverTime(Double.parseDouble(list.get(35).toString())); - steadyQualifyDTO.setInUHARM_16_OverTime(Double.parseDouble(list.get(36).toString())); - steadyQualifyDTO.setInUHARM_1_OverTime(Double.parseDouble(list.get(37).toString())); - steadyQualifyDTO.setInUHARM_2_OverTime(Double.parseDouble(list.get(38).toString())); - steadyQualifyDTO.setInUHARM_3_OverTime(Double.parseDouble(list.get(39).toString())); - steadyQualifyDTO.setInUHARM_4_OverTime(Double.parseDouble(list.get(40).toString())); - steadyQualifyDTO.setInUHARM_5_OverTime(Double.parseDouble(list.get(41).toString())); - steadyQualifyDTO.setInUHARM_6_OverTime(Double.parseDouble(list.get(42).toString())); - steadyQualifyDTO.setInUHARM_7_OverTime(Double.parseDouble(list.get(43).toString())); - steadyQualifyDTO.setInUHARM_8_OverTime(Double.parseDouble(list.get(44).toString())); - steadyQualifyDTO.setInUHARM_9_OverTime(Double.parseDouble(list.get(45).toString())); - steadyQualifyDTO.setUAberrance_OverTime(Double.parseDouble(list.get(48).toString())); - steadyQualifyDTO.setUBalance_OverTime(Double.parseDouble(list.get(49).toString())); - steadyQualifyDTO.setUHarm_10_OverTime(Double.parseDouble(list.get(50).toString())); - steadyQualifyDTO.setUHarm_11_OverTime(Double.parseDouble(list.get(51).toString())); - steadyQualifyDTO.setUHarm_12_OverTime(Double.parseDouble(list.get(52).toString())); - steadyQualifyDTO.setUHarm_13_OverTime(Double.parseDouble(list.get(53).toString())); - steadyQualifyDTO.setUHarm_14_OverTime(Double.parseDouble(list.get(54).toString())); - steadyQualifyDTO.setUHarm_15_OverTime(Double.parseDouble(list.get(55).toString())); - steadyQualifyDTO.setUHarm_16_OverTime(Double.parseDouble(list.get(56).toString())); - steadyQualifyDTO.setUHarm_17_OverTime(Double.parseDouble(list.get(57).toString())); - steadyQualifyDTO.setUHarm_18_OverTime(Double.parseDouble(list.get(58).toString())); - steadyQualifyDTO.setUHarm_19_OverTime(Double.parseDouble(list.get(59).toString())); - steadyQualifyDTO.setUHarm_20_OverTime(Double.parseDouble(list.get(60).toString())); - steadyQualifyDTO.setUHarm_21_OverTime(Double.parseDouble(list.get(61).toString())); - steadyQualifyDTO.setUHarm_22_OverTime(Double.parseDouble(list.get(62).toString())); - steadyQualifyDTO.setUHarm_23_OverTime(Double.parseDouble(list.get(63).toString())); - steadyQualifyDTO.setUHarm_24_OverTime(Double.parseDouble(list.get(64).toString())); - steadyQualifyDTO.setUHarm_25_OverTime(Double.parseDouble(list.get(65).toString())); - steadyQualifyDTO.setUHarm_2_OverTime(Double.parseDouble(list.get(66).toString())); - steadyQualifyDTO.setUHarm_3_OverTime(Double.parseDouble(list.get(67).toString())); - steadyQualifyDTO.setUHarm_4_OverTime(Double.parseDouble(list.get(68).toString())); - steadyQualifyDTO.setUHarm_5_OverTime(Double.parseDouble(list.get(69).toString())); - steadyQualifyDTO.setUHarm_6_OverTime(Double.parseDouble(list.get(70).toString())); - steadyQualifyDTO.setUHarm_7_OverTime(Double.parseDouble(list.get(71).toString())); - steadyQualifyDTO.setUHarm_8_OverTime(Double.parseDouble(list.get(72).toString())); - steadyQualifyDTO.setUHarm_9_OverTime(Double.parseDouble(list.get(73).toString())); - steadyQualifyDTO.setVoltage_Dev_OverTime(Double.parseDouble(list.get(74).toString())); - - // steadyQualifyDTO.setTime(time); - // if (!CollectionUtils.isEmpty(valueList)){ - // for (List value : valueList) { - // String time = value.get(0).toString(); - // double v = Double.parseDouble(value.get(1).toString()); - // value.get(2); - // value.get(3); - // //谐波畸变率 保留两位小数 - // Double distortion = value.get(1) == null ? null : BigDecimal.valueOf(Double.parseDouble(value.get(1).toString())).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); - // - // - // } - // } - qualifyDTOList.add(steadyQualifyDTO); - }); - } return qualifyDTOList; } + + private static double calculate(Double allTime, Double overTime) { if (allTime == 0) { return 3.14159; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java index 3d1693b7b..50c6dbdc5 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/TerminalServiceImpl.java @@ -151,7 +151,7 @@ public class TerminalServiceImpl implements TerminalService { /** - * 获取父级每层数据 + * 获取树的每层级数据 */ public List getTreeData(List deviceIndexes, DeviceInfoParam.BusinessParam terminalParam) { //终端集合 @@ -241,14 +241,14 @@ public class TerminalServiceImpl implements TerminalService { } /** - * 计算父级终端在线率 + * 计算该子层级终端在线率 */ private void setFatherOnlineRate(List list) { list.forEach(item -> { List children = item.getChildren(); List tempList = children.stream().filter(s -> !Objects.equals(s.getOnlineRateData(), 3.14159)).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(tempList)) { - item.setOnlineRateData(tempList.stream().mapToDouble(TerminalVO::getOnlineRateData).sum() / children.size()); + item.setOnlineRateData(tempList.stream().mapToDouble(TerminalVO::getOnlineRateData).sum() / tempList.size()); } else { item.setOnlineRateData(3.14159); } @@ -256,22 +256,5 @@ public class TerminalServiceImpl implements TerminalService { } - //省级 - private void setAreaOnlineRate(List list) { - list.forEach(item -> { - List result = new ArrayList<>(); - List children = item.getChildren(); - children.forEach(item2 -> { - List children2 = item2.getChildren(); - children2.forEach(item3 -> { - List children3 = item3.getChildren(); - result.addAll(children3); - }); - }); - double aver = result.stream().mapToDouble(TerminalVO::getOnlineRateData).average().orElseThrow(IllegalStateException::new); - item.setOnlineRateData(BigDecimal.valueOf(aver).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()); - }); - } - }