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); } - }); + } } - - }