功能提交
This commit is contained in:
@@ -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层树排除设备 母线监测点合并
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user