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