diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatLoadTypeVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatLoadTypeVO.java index b13f53062..43c60e727 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatLoadTypeVO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatLoadTypeVO.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.pojo.vo; +import cn.hutool.core.util.NumberUtil; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -61,4 +62,44 @@ public class RStatLoadTypeVO { @ApiModelProperty(value = "累计闪变超标占比") private Float flickerAccrued; + public void setVAverage(Float vAverage) { + this.vAverage = NumberUtil.round(vAverage*100,2).floatValue(); + } + + public void setVAccrued(Float vAccrued) { + this.vAccrued = NumberUtil.round(vAccrued*100,2).floatValue(); + } + + public void setIAverage(Float iAverage) { + this.iAverage = NumberUtil.round(iAverage*100,2).floatValue(); + } + + public void setIAccrued(Float iAccrued) { + this.iAccrued = NumberUtil.round(iAccrued*100,2).floatValue(); + } + + public void setUnbalanceAverage(Float unbalanceAverage) { + this.unbalanceAverage = NumberUtil.round(unbalanceAverage*100,2).floatValue(); + } + + public void setUnbalanceAccrued(Float unbalanceAccrued) { + this.unbalanceAccrued = NumberUtil.round(unbalanceAccrued*100,2).floatValue(); + } + + public void setINegAverage(Float iNegAverage) { + this.iNegAverage = NumberUtil.round(iNegAverage*100,2).floatValue(); + } + + public void setINegAccrued(Float iNegAccrued) { + this.iNegAccrued = NumberUtil.round(iNegAccrued*100,2).floatValue(); + } + + public void setFlickerAverage(Float flickerAverage) { + this.flickerAverage = NumberUtil.round(flickerAverage*100,2).floatValue(); + } + + public void setFlickerAccrued(Float flickerAccrued) { + this.flickerAccrued = NumberUtil.round(flickerAccrued*100,2).floatValue(); + } + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeMMapper.xml index 7eb455f96..46cb239ed 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeMMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeMMapper.xml @@ -24,15 +24,15 @@ org_no, load_type, v_average, - (case when effective_measurement = 0 then 0 else ROUND( v_count / effective_measurement, 2 ) end) as vAccrued, + IFNULL( v_count / effective_measurement, 0 ) AS vAccrued, i_average, - (case when effective_measurement = 0 then 0 else ROUND( i_count / effective_measurement, 2 ) end) as iAccrued, + IFNULL( i_count / effective_measurement, 0 ) AS iAccrued, unbalance_average, - (case when effective_measurement = 0 then 0 else ROUND( unbalance_count / effective_measurement, 2 ) end) as unbalanceAccrued, + IFNULL( unbalance_count / effective_measurement, 0 ) AS unbalanceAccrued, i_neg_average, - (case when effective_measurement = 0 then 0 else ROUND( i_neg_count / effective_measurement, 2 ) end) as iNegAccrued, + IFNULL( i_neg_count / effective_measurement, 0 ) AS iNegAccrued, flicker_average, - (case when effective_measurement = 0 then 0 else ROUND( flicker_count / effective_measurement, 2 ) end) as flickerAccrued + IFNULL( flicker_count / effective_measurement, 0 ) AS flickerAccrued from r_stat_load_type_m diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeQMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeQMapper.xml index 671bbff59..9a2cb17ea 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeQMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeQMapper.xml @@ -24,15 +24,15 @@ org_no, load_type, v_average, - ROUND( v_count / effective_measurement, 2 ) AS vAccrued, + IFNULL( v_count / effective_measurement, 0 ) AS vAccrued, i_average, - ROUND( i_count / effective_measurement, 2 ) AS iAccrued, + IFNULL( i_count / effective_measurement, 0 ) AS iAccrued, unbalance_average, - ROUND( unbalance_count / effective_measurement, 2 ) AS unbalanceAccrued, + IFNULL( unbalance_count / effective_measurement, 0 ) AS unbalanceAccrued, i_neg_average, - ROUND( i_neg_count / effective_measurement, 2 ) AS iNegAccrued, + IFNULL( i_neg_count / effective_measurement, 0 ) AS iNegAccrued, flicker_average, - ROUND( flicker_count / effective_measurement, 2 ) AS flickerAccrued + IFNULL( flicker_count / effective_measurement, 0 ) AS flickerAccrued from r_stat_load_type_q diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeYMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeYMapper.xml index 58f7d36fc..2f3c46f03 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeYMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatLoadTypeYMapper.xml @@ -24,15 +24,15 @@ org_no, load_type, v_average, - ROUND( v_count / effective_measurement, 2 ) AS vAccrued, + IFNULL( v_count / effective_measurement, 0 ) AS vAccrued, i_average, - ROUND( i_count / effective_measurement, 2 ) AS iAccrued, + IFNULL( i_count / effective_measurement, 0 ) AS iAccrued, unbalance_average, - ROUND( unbalance_count / effective_measurement, 2 ) AS unbalanceAccrued, + IFNULL( unbalance_count / effective_measurement, 0 ) AS unbalanceAccrued, i_neg_average, - ROUND( i_neg_count / effective_measurement, 2 ) AS iNegAccrued, + IFNULL( i_neg_count / effective_measurement, 0 ) AS iNegAccrued, flicker_average, - ROUND( flicker_count / effective_measurement, 2 ) AS flickerAccrued + IFNULL( flicker_count / effective_measurement, 0 ) AS flickerAccrued from r_stat_load_type_y diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RMpDevEvaluateDetailPOServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RMpDevEvaluateDetailPOServiceImpl.java index 6555ffa84..2fdde65e4 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RMpDevEvaluateDetailPOServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RMpDevEvaluateDetailPOServiceImpl.java @@ -155,11 +155,11 @@ public class RMpDevEvaluateDetailPOServiceImpl extends MppServiceImpl ls = map1.get(k); double d1 = ls.stream().mapToDouble(po -> po.getDataIntegrityRate().doubleValue()).average().getAsDouble(); double d2 = ls.stream().mapToDouble(po -> po.getIndexIntegrityRate().doubleValue()).average().getAsDouble(); - rMpDevEvaluateDetailPO.setDevDataRate(d1); - rMpDevEvaluateDetailPO.setDevTargetRate(d2); + rMpDevEvaluateDetailPO.setDevDataRate(d1*100.0); + rMpDevEvaluateDetailPO.setDevTargetRate(d2*100.0); long count = ls.stream().filter(po -> po.getIsUnusual() == 1 && po.getDataIntegrityRate().compareTo(new BigDecimal(0.95)) == 1).count(); double d3 = (double) count / ls.size(); - rMpDevEvaluateDetailPO.setDevEffectiveRate(d3); + rMpDevEvaluateDetailPO.setDevEffectiveRate(d3*100.0); } rMpDevEvaluateDetailPOList.add(rMpDevEvaluateDetailPO); }); diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RMpEmissionMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RMpEmissionMServiceImpl.java index 05f300c20..21c34fd93 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RMpEmissionMServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RMpEmissionMServiceImpl.java @@ -3,6 +3,7 @@ package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; @@ -26,6 +27,10 @@ import com.njcn.prepare.harmonic.service.mysql.day.IRStatDataIDService; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.IRMpEmissionIExcessRateMService; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.IRMpEmissionIMService; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.IRMpEmissionMService; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; import java.lang.reflect.Field; @@ -60,6 +65,7 @@ public class RMpEmissionMServiceImpl extends MppServiceImpl data1 = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); + //获取监测点标签 + List dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData(); + List dicIdsList = dictDataList.stream().filter(x -> ObjectUtil.equals(x.getCode(), DicDataEnum.POWER_STATION.getCode()) || + ObjectUtil.equals(x.getCode(), DicDataEnum.WIND_FARM.getCode()) || + ObjectUtil.equals(x.getCode(), DicDataEnum.SMELT_LOAD.getCode()) || + ObjectUtil.equals(x.getCode(), DicDataEnum.ELECTRIFIED_RAILWAYS.getCode()) + ).map(DictData::getId).collect(Collectors.toList()); + //监测点id List line; for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : data1) { @@ -86,12 +100,13 @@ public class RMpEmissionMServiceImpl extends MppServiceImpl StrUtil.isNotBlank(x.getPointId())).map(LineDevGetDTO::getPointId).collect(Collectors.toList())); lineBaseMap.putAll(lineBaseList.stream().filter(x -> StrUtil.isNotBlank(x.getPointId())) + .filter(x->dicIdsList.contains(x.getLineTag())) .collect(Collectors.groupingBy(LineDevGetDTO::getLineTag, Collectors.mapping(LineDevGetDTO::getPointId, Collectors.toList())))); - + line.addAll(lineBaseList.stream().filter(x -> StrUtil.isNotBlank(x.getPointId())) + .filter(x->dicIdsList.contains(x.getLineTag())) + .map(LineDevGetDTO::getPointId).collect(Collectors.toList())); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RMpInfluenceMServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RMpInfluenceMServiceImpl.java index 9dedac1a5..9e60aa552 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RMpInfluenceMServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RMpInfluenceMServiceImpl.java @@ -3,6 +3,7 @@ package com.njcn.prepare.harmonic.service.mysql.newalgorithm.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; @@ -19,6 +20,10 @@ import com.njcn.prepare.harmonic.mapper.mysql.newalgorithm.RMpInfluenceMMapper; import com.njcn.prepare.harmonic.pojo.param.LineParam; import com.njcn.prepare.harmonic.service.mysql.day.IRStatDataVDService; import com.njcn.prepare.harmonic.service.mysql.newalgorithm.*; +import com.njcn.system.api.DicDataFeignClient; +import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.po.Dept; import lombok.RequiredArgsConstructor; @@ -51,7 +56,7 @@ public class RMpInfluenceMServiceImpl extends MppServiceImpl data1 = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); + //获取监测点标签 + List dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.MONITORING_LABELS.getCode()).getData(); + List dicIdsList = dictDataList.stream().filter(x -> ObjectUtil.equals(x.getCode(), DicDataEnum.POWER_STATION.getCode()) || + ObjectUtil.equals(x.getCode(), DicDataEnum.WIND_FARM.getCode()) || + ObjectUtil.equals(x.getCode(), DicDataEnum.SMELT_LOAD.getCode()) || + ObjectUtil.equals(x.getCode(), DicDataEnum.ELECTRIFIED_RAILWAYS.getCode()) + ).map(DictData::getId).collect(Collectors.toList()); //监测点id List line; for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : data1) { @@ -80,10 +92,12 @@ public class RMpInfluenceMServiceImpl extends MppServiceImpl StrUtil.isNotBlank(x.getPointId())).map(LineDevGetDTO::getPointId).collect(Collectors.toList())); + line.addAll(lineBaseList.stream().filter(x -> StrUtil.isNotBlank(x.getPointId())) + .filter(x->dicIdsList.contains(x.getLineTag())) + .map(LineDevGetDTO::getPointId).collect(Collectors.toList())); lineBaseMap.putAll(lineBaseList.stream().filter(x -> StrUtil.isNotBlank(x.getPointId())) + .filter(x->dicIdsList.contains(x.getLineTag())) .collect(Collectors.groupingBy(LineDevGetDTO::getLineTag, Collectors.mapping(LineDevGetDTO::getPointId, Collectors.toList())))); - } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatLoadTypeServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatLoadTypeServiceImpl.java index 6a8b2c1c0..09e605ad7 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatLoadTypeServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/newalgorithm/impl/RStatLoadTypeServiceImpl.java @@ -430,13 +430,23 @@ public class RStatLoadTypeServiceImpl implements RStatLoadTypeService { rStatLoadTypeYPO.setUnbalanceCount(0); rStatLoadTypeYPO.setFlickerCount(0); }else { - Optional vfirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.HARMONIC_VOLTAGE.getCode()).getId())).findFirst(); + Optional vfirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.HARMONIC_VOLTAGE.getCode()).getId()) + &&Objects.equals(temp.getMeasurementTypeClass(), m) + ).findFirst(); rStatLoadTypeYPO.setVCount(vfirst.isPresent() ? vfirst.get().getOverLimitMeasurementAccrued(): 0); - Optional ifirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.HARMONIC_CURRENT.getCode()).getId())).findFirst(); + Optional ifirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.HARMONIC_CURRENT.getCode()).getId()) + &&Objects.equals(temp.getMeasurementTypeClass(), m) + ).findFirst(); rStatLoadTypeYPO.setICount(ifirst.isPresent() ? ifirst.get().getOverLimitMeasurementAccrued(): 0); - Optional pfirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.PHASE_VOLTAGE.getCode()).getId())).findFirst(); - Optional nfirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.NEG_CURRENT.getCode()).getId())).findFirst(); - Optional ffirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.FLICKER.getCode()).getId())).findFirst(); + Optional pfirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.PHASE_VOLTAGE.getCode()).getId()) + &&Objects.equals(temp.getMeasurementTypeClass(), m) + ).findFirst(); + Optional nfirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.NEG_CURRENT.getCode()).getId()) + &&Objects.equals(temp.getMeasurementTypeClass(), m) + ).findFirst(); + Optional ffirst = rStatHarmonicYPOS.stream().filter(temp -> Objects.equals(temp.getHarmonicType(), steadyStatisMap.get(DicDataEnum.FLICKER.getCode()).getId()) + &&Objects.equals(temp.getMeasurementTypeClass(), m) + ).findFirst(); rStatLoadTypeYPO.setINegCount(nfirst.isPresent() ? nfirst.get().getOverLimitMeasurementAccrued(): 0); rStatLoadTypeYPO.setUnbalanceCount(pfirst.isPresent() ? pfirst.get().getOverLimitMeasurementAccrued(): 0);