diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index d2dd70441..1b5be897c 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -963,17 +963,18 @@ public class PollutionSubstationServiceImpl extends ServiceImpl limitRateList = rStatLimitRateDMapper.getAllOverTimes(lineList, startTime, endTime); Map monitorMap = limitRateList.stream().collect(Collectors.toMap(RStatLimitRateDPO::getLineId, Function.identity())); //todo 获取监测点污染数据 + //谐波电压 + String v = dicDataFeignClient.getDicDataByCode(DicDataEnum.V_HARMONIC_LIMIT.getCode()).getData().getId(); + //谐波电流 + String i = dicDataFeignClient.getDicDataByCode(DicDataEnum.I_ALL_LIMIT.getCode()).getData().getId(); + List list = Arrays.asList(v, i); List lineData = rMpPollutionDPOMapper.selectList(new LambdaQueryWrapper() .in(CollUtil.isNotEmpty(lineList), RMpPollutionDPO::getLineId, lineList) + .in(CollUtil.isNotEmpty(list), RMpPollutionDPO::getPollutionType, list) .ge(StrUtil.isNotBlank(startTime), RMpPollutionDPO::getDataDate, DateUtil.beginOfDay(DateUtil.parse(startTime))) .le(StrUtil.isNotBlank(endTime), RMpPollutionDPO::getDataDate, DateUtil.endOfDay(DateUtil.parse(endTime))) ); - //谐波电压 - String v = dicDataFeignClient.getDicDataByCode(DicDataEnum.V_HARMONIC.getCode()).getData().getId(); List harmonicV = lineData.stream().filter(x -> v.equals(x.getPollutionType())).collect(Collectors.toList()); - - //谐波电流 - String i = dicDataFeignClient.getDicDataByCode(DicDataEnum.I_ALL.getCode()).getData().getId(); List harmonicI = lineData.stream().filter(x -> i.equals(x.getPollutionType())).collect(Collectors.toList()); List subNameMap = deptGetChildrenMoreDTOS.stream().flatMap(x -> x.getStationIds().stream()).distinct().collect(Collectors.toList()); @@ -994,13 +995,14 @@ public class PollutionSubstationServiceImpl extends ServiceImpl unitChildrenList.contains(x.getLineId())).mapToDouble(RMpPollutionDPO::getValue).max(); - vo.setVPollutionData(maxV.isPresent() ? maxV.getAsDouble() : 0.0D); - OptionalDouble maxI = harmonicI.stream().filter(x -> unitChildrenList.contains(x.getLineId())).mapToDouble(RMpPollutionDPO::getValue).max(); - vo.setIPollutionData(maxI.isPresent() ? maxV.getAsDouble() : 0.0D); + double maxV = harmonicV.stream().filter(x -> unitChildrenList.contains(x.getLineId())).mapToDouble(RMpPollutionDPO::getValue).sum(); + vo.setVPollutionData(NumberUtil.round(maxV,2).doubleValue()); + double maxI = harmonicI.stream().filter(x -> unitChildrenList.contains(x.getLineId())).mapToDouble(RMpPollutionDPO::getValue).sum(); + vo.setIPollutionData(NumberUtil.round(maxI,2).doubleValue()); result.add(vo); } } + result.sort(Comparator.comparing(SubstationVo::getVPollutionData).reversed()); return result; }