河北pms两级文档需求开发
This commit is contained in:
@@ -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){
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user