界面算法数据查询调整

This commit is contained in:
2023-11-30 15:34:11 +08:00
parent 0e0ad3bf66
commit 1c38fc7d7e

View File

@@ -182,8 +182,8 @@ public class TerminalServiceImpl implements TerminalService {
powerCompanyList.stream().peek(item -> item.setChildren(getChildCategoryList(item, substationList))).collect(Collectors.toList()); powerCompanyList.stream().peek(item -> item.setChildren(getChildCategoryList(item, substationList))).collect(Collectors.toList());
setTreeFlag(powerCompanyList,substationList); setTreeFlag(powerCompanyList,substationList);
setFatherOnlineRate(substationList); setFatherOnlineRate(substationList,3);
setFatherOnlineRate(powerCompanyList); setFatherOnlineRate(powerCompanyList,2);
// setAreaIntegrity(areaList); // setAreaIntegrity(areaList);
return powerCompanyList; return powerCompanyList;
} }
@@ -264,18 +264,24 @@ public class TerminalServiceImpl implements TerminalService {
/** /**
* 计算该子层级终端在线率 * 计算该子层级终端在线率
*/ */
private void setFatherOnlineRate(List<TerminalVO> list) { private void setFatherOnlineRate(List<TerminalVO> list,Integer level) {
list.forEach(item -> { List<TerminalVO> buttonList = new ArrayList<>(),tempList = new ArrayList<>();
for (TerminalVO item : list) {
List<TerminalVO> children = item.getChildren(); List<TerminalVO> children = item.getChildren();
List<TerminalVO> 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)) { if (!CollectionUtils.isEmpty(tempList)) {
item.setOnlineRateData(PubUtils.dataLimits(tempList.stream().mapToDouble(TerminalVO::getOnlineRateData).sum() / tempList.size())); item.setOnlineRateData(PubUtils.dataLimits(tempList.stream().mapToDouble(TerminalVO::getOnlineRateData).sum() / tempList.size()));
} else { } else {
item.setOnlineRateData(3.14159); item.setOnlineRateData(3.14159);
} }
}); }
} }
} }