曲靖3层树特殊处理
This commit is contained in:
@@ -25,6 +25,12 @@ public class SimpleDTO implements Serializable {
|
||||
@ApiModelProperty(name = "value", value = "数值")
|
||||
private String value;
|
||||
|
||||
/**
|
||||
* 针对云南曲靖特殊处理的五层树标识符
|
||||
* 特殊在不显示供电公司,显示(变电站、线路)这两个是部门的名称+母线_监测点的名称
|
||||
*/
|
||||
private String deptName;
|
||||
|
||||
private Integer sort;
|
||||
|
||||
private Integer algoDescribe;
|
||||
|
||||
@@ -29,6 +29,8 @@ import com.njcn.supervision.pojo.vo.user.UserLedgerVO;
|
||||
import com.njcn.system.api.AreaFeignClient;
|
||||
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||
import com.njcn.system.pojo.po.Area;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -52,6 +54,8 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
|
||||
private final LineMapper lineMapper;
|
||||
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final LineDetailMapper lineDetailMapper;
|
||||
|
||||
private final AreaFeignClient areaFeignClient;
|
||||
@@ -209,8 +213,6 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 5层树排除设备 母线监测点合并
|
||||
*
|
||||
@@ -226,6 +228,48 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
if (CollectionUtil.isNotEmpty(generalDeviceDTOList)) {
|
||||
// 创建集合
|
||||
List<TerminalTree> taiZhang = new ArrayList<>();
|
||||
if (StrUtil.isNotBlank(deviceInfoParam.getStatisticalType().getDeptName())) {
|
||||
// 遍历集合
|
||||
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
||||
// 创建实体类
|
||||
TerminalTree terminalTree = new TerminalTree();
|
||||
terminalTree.setName(generalDeviceDTO.getName());
|
||||
terminalTree.setId(generalDeviceDTO.getIndex());
|
||||
terminalTree.setLevel(0);
|
||||
// 处理子部门
|
||||
deviceInfoParam.setDeptIndex(generalDeviceDTO.getIndex());
|
||||
List<GeneralDeviceDTO> generalDeviceDTOsubList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
|
||||
if (CollectionUtil.isNotEmpty(generalDeviceDTOsubList)) {
|
||||
List<TerminalTree> terminalTreeList = new ArrayList<>();
|
||||
for (int i = 0; i < generalDeviceDTOsubList.size(); i++) {
|
||||
GeneralDeviceDTO deviceDTO = generalDeviceDTOsubList.get(i);
|
||||
TerminalTree terminalSubTree = new TerminalTree();
|
||||
terminalSubTree.setName(deviceDTO.getName());
|
||||
terminalSubTree.setId(deviceDTO.getIndex());
|
||||
terminalSubTree.setPid(generalDeviceDTO.getIndex());
|
||||
terminalSubTree.setLevel(2);
|
||||
terminalSubTree.setSort(i);
|
||||
if(CollectionUtil.isNotEmpty(deviceDTO.getLineIndexes())){
|
||||
// 处理该部门下的检测点显示
|
||||
// 通过监测点索引查询监测点信息
|
||||
List<TerminalTree> lineList = treeMapper.getLineList(deviceDTO.getLineIndexes());
|
||||
terminalSubTree.setChildren(lineList);
|
||||
terminalTreeList.add(terminalSubTree);
|
||||
}
|
||||
}
|
||||
terminalTree.setChildren(terminalTreeList);
|
||||
} else {
|
||||
if(CollectionUtil.isNotEmpty(generalDeviceDTO.getLineIndexes())){
|
||||
// 处理该部门下的检测点显示
|
||||
// 通过监测点索引查询监测点信息
|
||||
List<TerminalTree> lineList = treeMapper.getLineList(generalDeviceDTO.getLineIndexes());
|
||||
terminalTree.setChildren(lineList);
|
||||
}
|
||||
}
|
||||
taiZhang.add(terminalTree);
|
||||
}
|
||||
|
||||
} else {
|
||||
// 获取用户
|
||||
UserReportParam userReportParam = new UserReportParam();
|
||||
List<UserLedgerVO> userReportPOList = userLedgerFeignClient.selectUserList(userReportParam).getData();
|
||||
@@ -236,10 +280,12 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
||||
// 创建实体类
|
||||
TerminalTree terminalTree = new TerminalTree();
|
||||
|
||||
// 判断监测点索引集合状态
|
||||
if (CollectionUtils.isEmpty(generalDeviceDTO.getLineIndexes())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// 通过供电公司索引查询省会
|
||||
List<TerminalTree> proList = treeMapper.getProvinceList(generalDeviceDTO.getGdIndexes());
|
||||
// 通过供电公司索引查询供电公司信息
|
||||
@@ -277,7 +323,6 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
}
|
||||
|
||||
|
||||
|
||||
//处理变电站
|
||||
dealChildrenData(subList, otherLineList, temMap, true);
|
||||
|
||||
@@ -299,6 +344,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
terminalTree.setLevel(0);
|
||||
taiZhang.add(terminalTree);
|
||||
}
|
||||
}
|
||||
return taiZhang;
|
||||
} else {
|
||||
return new ArrayList<>();
|
||||
@@ -672,7 +718,6 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
List<TerminalTree> lineNotPowerList = allList.stream().filter(item -> item.getLevel().equals(LineBaseEnum.LINE_LEVEL.getCode()) && item.getPowerFlag() == 1).sorted(Comparator.comparing(TerminalTree::getSort)).collect(Collectors.toList());
|
||||
|
||||
|
||||
|
||||
subvList.forEach(subv -> {
|
||||
if (CollUtil.isEmpty(subv.getChildren())) {
|
||||
subv.setChildren(getRecursionChildren(subv, linepowerList));
|
||||
@@ -691,7 +736,6 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
devList.stream().filter(x -> ObjUtil.isNull(x.getPowerFlag())).forEach(x -> x.setPowerFlag(0));
|
||||
|
||||
|
||||
|
||||
subList.forEach(sub -> sub.setChildren(getRecursionChildrenCs(sub, devList)));
|
||||
gdList.forEach(gd -> gd.setChildren(getChildren(gd, subList)));
|
||||
provinceList.forEach(province -> province.setChildren(getChildren(province, gdList)));
|
||||
@@ -728,7 +772,6 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
list.add(power);
|
||||
|
||||
|
||||
|
||||
TerminalTree notPower = new TerminalTree();
|
||||
notPower.setName("非电网侧");
|
||||
notPower.setSort(1);
|
||||
@@ -736,6 +779,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
list.add(notPower);
|
||||
return list;
|
||||
}
|
||||
|
||||
public List<TerminalTree> getRecursionChildren(TerminalTree item, List<TerminalTree> all) {
|
||||
List<TerminalTree> list = all.stream().filter(allItem -> allItem.getPid().equals(item.getId())).sorted(Comparator.comparing(TerminalTree::getSort)).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
@@ -746,6 +790,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
|
||||
|
||||
/**
|
||||
* 变电站层级增加电网侧和非电网侧电站
|
||||
*
|
||||
* @param line 变电站对象
|
||||
* @param all 检测对象
|
||||
* @return
|
||||
|
||||
Reference in New Issue
Block a user