From ab5d28e3cbbe0ac7a22a1f03123358030c0dc64e Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Fri, 26 Dec 2025 11:23:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=98=E7=94=B5=E7=AB=99=E5=8F=B0=E8=B4=A6?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/PollutionSubstationServiceImpl.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) 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; }