From a00dbfbe374b69b7f50164e6f1964707cb89b3b4 Mon Sep 17 00:00:00 2001 From: zhuxinyu <1799009482@qq.com> Date: Tue, 18 Apr 2023 09:04:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=8D=95=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TerminalOnlineRateDataServiceImpl.java | 24 +++++++++++++++---- .../service/impl/AnalyzeServiceImpl.java | 4 +++- .../impl/PollutionSubstationServiceImpl.java | 4 ++-- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java index 33ec90e7a..dc23ff6d2 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalOnlineRateDataServiceImpl.java @@ -150,11 +150,14 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData terminalOnlineRateDataVO.setLevel(0); if (terminalOnlineRateDataParam.getStatisticalType().getCode().equalsIgnoreCase(StatisticsEnum.POWER_NETWORK.getCode())) { - TerminalOnlineRateDataVO temp = gdList.stream().filter(t -> t.getAlgoDescribe() != null).min(Comparator.comparing(TerminalOnlineRateDataVO::getAlgoDescribe)).orElseGet(TerminalOnlineRateDataVO::new); + TerminalOnlineRateDataVO temp = gdList.stream() + .filter(t -> t.getAlgoDescribe() != null) + .min(Comparator.comparing(TerminalOnlineRateDataVO::getAlgoDescribe)) + .orElseGet(TerminalOnlineRateDataVO::new); terminalOnlineRateDataVO.setAlgoDescribe(temp.getAlgoDescribe()); terminalOnlineRateDataVO.setChildren(gdList); } else { - //还需要额外处理省会 + // 还需要额外处理省会 dealChildrenData(proList, gdList, false); terminalOnlineRateDataVO.setChildren(proList); } @@ -298,14 +301,27 @@ public class TerminalOnlineRateDataServiceImpl implements TerminalOnlineRateData List devs = subItem.getChildren(); if (CollectionUtil.isNotEmpty(devs)) { for (TerminalOnlineRateDataVO devItem : devs) { - if (Objects.nonNull(devItem.getAlgoDescribe())) { + if (Objects.isNull(devItem.getChildren())) { if (mapAlarm.containsKey(devItem.getAlgoDescribe())) { - if (devItem.getOnlineRate() != 3.14159 && devItem.getOnlineRate() > mapAlarm.get(devItem.getAlgoDescribe())) { + if (devItem.getOnlineRate() != 3.14159 && devItem.getOnlineRate() > mapAlarm.get(devItem.getAlgoDescribe())) { devItem.setValueOver(1); } else { devItem.setValueOver(0); } } + } else { + List children = devItem.getChildren(); + for (TerminalOnlineRateDataVO child : children) { + if (mapAlarm.containsKey(child.getAlgoDescribe())) { + if (child.getOnlineRate() != 3.14159 && child.getOnlineRate() > mapAlarm.get(child.getAlgoDescribe())) { + child.setValueOver(1); + } else { + child.setValueOver(0); + } + } + } + Double devAvg = children.stream().filter(item -> item.getOnlineRate() != 3.14159).collect(Collectors.averagingDouble(TerminalOnlineRateDataVO::getOnlineRate)); + devItem.setOnlineRate(devAvg); } } Double devAvg = devs.stream().filter(item -> item.getOnlineRate() != 3.14159).collect(Collectors.averagingDouble(TerminalOnlineRateDataVO::getOnlineRate)); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java index 3f5462ae1..e778d9973 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/AnalyzeServiceImpl.java @@ -16,6 +16,7 @@ import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.dto.OverLimitLineDTO; import com.njcn.device.pq.pojo.dto.PollutionParamDTO; import com.njcn.device.pq.pojo.dto.WarningSubstationDTO; +import com.njcn.device.pq.pojo.vo.AreaLineInfoVO; import com.njcn.harmonic.constant.Param; import com.njcn.harmonic.mapper.RStatLimitRateDMapper; import com.njcn.harmonic.pojo.excel.area.AreaExcel; @@ -301,7 +302,8 @@ public class AnalyzeServiceImpl implements IAnalyzeService { list.addAll(monMap.keySet()); PollutionParamDTO pollutionParamDTO = new PollutionParamDTO(); pollutionParamDTO.setLineList(list); -// List data = lineFeignClient.getBaseLineAreaInfo(list).getData(); + List data = lineFeignClient.getBaseLineAreaInfo(list).getData(); + System.out.println(data); List overLimitLineList = lineFeignClient.getOverLimitLineInfo(pollutionParamDTO).getData(); List rStatLimitRateDPOS = rateDMapper.selectList(new QueryWrapper() .in("r_stat_limit_rate_d.my_index", list) 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 523f6cf57..70c70728a 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 @@ -175,8 +175,8 @@ public class PollutionSubstationServiceImpl extends ServiceImpl getDeptSubstationRelations(HarmonicPublicParam harmonicPublicParam) { List list = new ArrayList<>(); - String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId (); - String searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0,10); + String pollutionType = harmonicPublicParam.getStatisticalType ().getId (); + String searchBeginTime = harmonicPublicParam.getSearchBeginTime ().substring (0,10); if (StringUtils.isBlank(RequestUtil.getDeptIndex())){ return list; }