河北pms两级文档需求开发

This commit is contained in:
cdf
2024-05-13 20:23:50 +08:00
parent cc24fc3124
commit ecf53c9bbb
17 changed files with 352 additions and 89 deletions

View File

@@ -57,7 +57,7 @@ public class TerminalTreeController extends BaseController {
/**
* 获取设备树给前端下拉选择
*/
@ApiOperation("获取终端树")
@ApiOperation("获取简单的终端树")
@OperateInfo(info = LogEnum.BUSINESS_MEDIUM)
@GetMapping("getTerminalSelectTree")
public HttpResult<List<TerminalSelectTreeVO>> getTerminalSelectTree(Integer level){

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pq.mapper;
import com.njcn.device.biz.pojo.vo.TerminalSelectTreeVO;
import com.njcn.device.pq.pojo.vo.TerminalTree;
import org.apache.ibatis.annotations.Param;
@@ -40,4 +41,6 @@ public interface TreeMapper {
* @return 监测点信息
*/
List<TerminalTree> getLineList(@Param("lineIndex")List<String> lineIndexes);
}

View File

@@ -1,6 +1,8 @@
package com.njcn.device.pq.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.enums.common.ServerEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.device.biz.pojo.vo.TerminalSelectTreeVO;
import com.njcn.device.pq.enums.LineBaseEnum;
@@ -9,6 +11,7 @@ import com.njcn.device.pq.mapper.LineMapper;
import com.njcn.device.pq.mapper.TreeMapper;
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
import com.njcn.device.pq.pojo.param.DeviceInfoParam;
import com.njcn.device.pq.pojo.po.Line;
import com.njcn.device.pq.pojo.vo.DeptLineTreeVO;
import com.njcn.device.pq.pojo.vo.TerminalTree;
import com.njcn.device.pq.service.TerminalTreeService;
@@ -16,6 +19,7 @@ import com.njcn.system.api.AreaFeignClient;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.pojo.enums.StatisticsEnum;
import com.njcn.system.pojo.po.Area;
import com.njcn.web.utils.RequestUtil;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -24,6 +28,7 @@ import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -222,7 +227,46 @@ public class TerminalTreeServiceImpl implements TerminalTreeService {
*/
@Override
public List<TerminalSelectTreeVO> getTerminalSelectTree(Integer level) {
return null;
List<TerminalSelectTreeVO> resultList = new ArrayList<>();
DeviceInfoParam deviceInfoParam = new DeviceInfoParam();
deviceInfoParam.setDeptIndex(RequestUtil.getDeptIndex());
deviceInfoParam.setServerName(ServerEnum.HARMONIC.getName());
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(deviceInfoParam, Stream.of(0).collect(Collectors.toList()), Stream.of(1).collect(Collectors.toList()));
for(GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList){
if(CollectionUtil.isEmpty(generalDeviceDTO.getLineIndexes())){
continue;
}
// 通过供电公司索引查询省会
List<TerminalSelectTreeVO> children = new ArrayList<>();
if(level == 4){
List<Line> devList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId,generalDeviceDTO.getDeviceIndexes()));
for(Line line: devList){
TerminalSelectTreeVO terminalSelectTreeVO = new TerminalSelectTreeVO();
terminalSelectTreeVO.setValue(line.getId());
terminalSelectTreeVO.setLabel(line.getName());
children.add(terminalSelectTreeVO);
}
}else if(level == 6){
List<Line> busList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId,generalDeviceDTO.getVoltageIndexes()));
Map<String,Line> map = busList.stream().collect(Collectors.toMap(Line::getId, Function.identity()));
List<Line> lineList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId,generalDeviceDTO.getLineIndexes()));
for(Line line: lineList){
TerminalSelectTreeVO terminalSelectTreeVO = new TerminalSelectTreeVO();
terminalSelectTreeVO.setValue(line.getId());
terminalSelectTreeVO.setLabel(map.get(line.getPid()).getName()+"_"+line.getName());
children.add(terminalSelectTreeVO);
}
}
TerminalSelectTreeVO terminalSelectTreeVO = new TerminalSelectTreeVO();
terminalSelectTreeVO.setValue(generalDeviceDTO.getIndex());
terminalSelectTreeVO.setLabel(generalDeviceDTO.getName());
terminalSelectTreeVO.setChildren(children);
resultList.add(terminalSelectTreeVO);
}
return resultList;
}