功能提交

This commit is contained in:
2025-03-21 16:38:04 +08:00
parent 6df4074c59
commit 72b2283165
7 changed files with 137 additions and 1 deletions

View File

@@ -21,6 +21,9 @@ import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.device.pq.pojo.vo.DeptLineTreeVO;
import com.njcn.device.pq.pojo.vo.TerminalTree;
import com.njcn.device.pq.service.TerminalTreeService;
import com.njcn.supervision.api.UserLedgerFeignClient;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.user.UserReportPO;
import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.pojo.enums.StatisticsEnum;
@@ -60,6 +63,8 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
private final TreeMapper treeMapper;
private final UserLedgerFeignClient userLedgerFeignClient;
/**
* 台账页面终端树
*
@@ -78,10 +83,20 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
List<TerminalTree> subvList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.SUB_V_LEVEL.getCode())).sorted(Comparator.comparing(TerminalTree::getSort)).collect(Collectors.toList());
List<TerminalTree> lineList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.LINE_LEVEL.getCode())).sorted(Comparator.comparing(TerminalTree::getSort)).collect(Collectors.toList());
UserReportParam userReportParam = new UserReportParam();
List<UserReportPO> userReportPOList = userLedgerFeignClient.selectUserList(userReportParam);
userReportPOList = userReportPOList.stream().filter(it->StrUtil.isNotBlank(it.getStationId())).collect(Collectors.toList());
Map<String,List<UserReportPO>> userMap = userReportPOList.stream().collect(Collectors.groupingBy(UserReportPO::getStationId));
subvList.forEach(subv -> subv.setChildren(getChildren(subv, lineList)));
devList.forEach(dev -> dev.setChildren(getChildren(dev, subvList)));
subList.forEach(sub -> sub.setChildren(getChildren(sub, devList)));
subList.forEach(sub -> sub.setChildren(specialDealSubChildren(sub, devList,userMap.get(sub.getId()))));
//subList.forEach(sub -> sub.setChildren(getChildren(sub, devList)));
gdList.forEach(gd -> gd.setChildren(getChildren(gd, subList)));
provinceList.forEach(province -> province.setChildren(getChildren(province, gdList)));
projectList.forEach(project -> project.setChildren(getChildren(project, provinceList)));
@@ -99,6 +114,29 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
return taiZhang;
}
private List<TerminalTree> specialDealSubChildren(TerminalTree sub,List<TerminalTree> devList,List<UserReportPO> userReportPOList){
List<TerminalTree> list = new ArrayList<>();
List<TerminalTree> devTree = devList.stream().filter(it->it.getPid().equals(sub.getId())).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(devTree)){
list.addAll(devTree);
}
for(UserReportPO userReportPO:userReportPOList){
List<TerminalTree> dev = devList.stream().filter(it->it.getPid().equals(userReportPO.getId())).collect(Collectors.toList());
TerminalTree terminalTree = new TerminalTree();
terminalTree.setId(userReportPO.getId());
terminalTree.setPid(userReportPO.getStationId());
terminalTree.setPowerFlag(1);
terminalTree.setLevel(7);
terminalTree.setChildren(dev);
list.add(terminalTree);
}
return list;
}
/**
* 5层树排除设备 母线监测点合并
*