From 1c38fc7d7e6ae55a188e73a934ee46d5b3444b5c Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Thu, 30 Nov 2023 15:34:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=8C=E9=9D=A2=E7=AE=97=E6=B3=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9F=A5=E8=AF=A2=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TerminalServiceImpl.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) 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 0a723a7c4..1f1969d17 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 @@ -182,8 +182,8 @@ public class TerminalServiceImpl implements TerminalService { powerCompanyList.stream().peek(item -> item.setChildren(getChildCategoryList(item, substationList))).collect(Collectors.toList()); setTreeFlag(powerCompanyList,substationList); - setFatherOnlineRate(substationList); - setFatherOnlineRate(powerCompanyList); + setFatherOnlineRate(substationList,3); + setFatherOnlineRate(powerCompanyList,2); // setAreaIntegrity(areaList); return powerCompanyList; } @@ -264,18 +264,24 @@ public class TerminalServiceImpl implements TerminalService { /** * 计算该子层级终端在线率 */ - private void setFatherOnlineRate(List list) { - list.forEach(item -> { + private void setFatherOnlineRate(List list,Integer level) { + List buttonList = new ArrayList<>(),tempList = new ArrayList<>(); + for (TerminalVO item : list) { List children = item.getChildren(); - List tempList = children.stream().filter(s -> !Objects.equals(s.getOnlineRateData(), 3.14159)).collect(Collectors.toList()); + if (Objects.equals(level,2)){ + for (TerminalVO item2 : children) { + buttonList.addAll(item2.getChildren()); + tempList = buttonList.stream().filter(s -> !Objects.equals(s.getOnlineRateData(), 3.14159)).collect(Collectors.toList()); + } + } else if (Objects.equals(level,3)){ + tempList = children.stream().filter(s -> !Objects.equals(s.getOnlineRateData(), 3.14159)).collect(Collectors.toList()); + } if (!CollectionUtils.isEmpty(tempList)) { item.setOnlineRateData(PubUtils.dataLimits(tempList.stream().mapToDouble(TerminalVO::getOnlineRateData).sum() / tempList.size())); } else { item.setOnlineRateData(3.14159); } - }); + } } - - }