diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalTree.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalTree.java index bf089ce01..e6e018b95 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalTree.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/TerminalTree.java @@ -70,4 +70,9 @@ public class TerminalTree implements Serializable { * 电网侧变电站 */ private String powerSubstationName; + + /** + * 电网侧变电站 + */ + private String objName; } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/YwZtSubstationController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/YwZtSubstationController.java index 72cc37533..cfa05d12f 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/YwZtSubstationController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/YwZtSubstationController.java @@ -5,6 +5,8 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; +import com.njcn.device.biz.pojo.dto.SubGetBase; +import com.njcn.device.biz.pojo.param.SubstationParam; import com.njcn.device.pq.pojo.po.YwZtSubstation; import com.njcn.device.pq.service.IYwZtSubstationService; import com.njcn.web.controller.BaseController; @@ -51,5 +53,12 @@ public class YwZtSubstationController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, ywZtSubstation, methodDescribe); } - + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/tagOrIdGetYWZtSub") + @ApiOperation("获取变电站信息") + public HttpResult> tagOrIdGetSub(@RequestBody SubstationParam substationParam) { + String methodDescribe = getMethodDescribe("tagOrIdGetSub"); + List subGetBases = ywZtSubstationService.getSubstation(substationParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, subGetBases, methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/YwZtSubstationMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/YwZtSubstationMapper.java index 540e53617..56ab1a0cd 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/YwZtSubstationMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/YwZtSubstationMapper.java @@ -1,11 +1,16 @@ package com.njcn.device.pq.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.device.biz.pojo.dto.SubGetBase; +import com.njcn.device.biz.pojo.param.SubstationParam; import com.njcn.device.pq.pojo.po.YwZtSubstation; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

- * Mapper 接口 + * Mapper 接口 *

* * @author wr @@ -13,4 +18,5 @@ import com.njcn.device.pq.pojo.po.YwZtSubstation; */ public interface YwZtSubstationMapper extends BaseMapper { + List selectSubstationList(@Param("param") SubstationParam substationParam); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/YwZtSubstationMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/YwZtSubstationMapper.xml index a21457d22..11adbd2fe 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/YwZtSubstationMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/YwZtSubstationMapper.xml @@ -2,4 +2,32 @@ + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IYwZtSubstationService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IYwZtSubstationService.java index 9e1a4938b..4f620f934 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IYwZtSubstationService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IYwZtSubstationService.java @@ -1,6 +1,8 @@ package com.njcn.device.pq.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.biz.pojo.dto.SubGetBase; +import com.njcn.device.biz.pojo.param.SubstationParam; import com.njcn.device.pq.pojo.po.YwZtSubstation; import java.util.List; @@ -19,4 +21,11 @@ public interface IYwZtSubstationService extends IService { Boolean syncYwZtSubstation(); List getYwZtSubstation(String orgId); + + /** + * 线上管控获取所有中台变电站信息 + * @param substationParam + * @return + */ + List getSubstation(SubstationParam substationParam); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java index 55b1ef0ac..c519241bb 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalTreeServiceImpl.java @@ -3,6 +3,7 @@ package com.njcn.device.pq.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.pojo.enums.common.ServerEnum; @@ -319,6 +320,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { if(powerFlagMap.containsKey(x.getId())){ x.setPowerFlag(powerFlagMap.get(x.getId()).getPowerFlag()); x.setPowerSubstationName(powerFlagMap.get(x.getId()).getPowerSubstationName()); + x.setObjName(powerFlagMap.get(x.getId()).getObjName()); }else{ x.setPowerFlag(LineBaseEnum.POWER_FLAG.getCode()); } @@ -333,8 +335,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { lineObjNameMap.forEach((key, value)->{ List terminalTrees = Collections.unmodifiableList(collect1); //获取变电信息 - List collect = subList.stream().filter(x -> x.getName().equals(key)).collect(Collectors.toList()); - + List collect = subList.stream().filter(x -> x.getName().equals(key.replace("±",""))).collect(Collectors.toList()); //电网侧监测点 List powerFlag = value.stream().filter(x -> x.getPowerFlag().equals(LineBaseEnum.POWER_FLAG.getCode())).collect(Collectors.toList()); if(CollUtil.isEmpty(powerFlag)){ @@ -342,13 +343,24 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { powerFlag.addAll(collect); } List subChildren = new ArrayList<>(); - getRecursionChildren(powerFlag,subChildren, terminalTrees); - + TerminalTree recursion = getRecursionChildren(powerFlag, terminalTrees); + if(ObjectUtil.isNotNull(recursion)){ + subChildren.add(recursion); + } //非电网侧监测点 List powerFlagNot = value.stream().filter(x -> x.getPowerFlag().equals(LineBaseEnum.POWER_FLAG_NOT.getCode())).collect(Collectors.toList()); List notSubChildren = new ArrayList<>(); - getRecursionChildren(powerFlagNot,notSubChildren,terminalTrees); + if(CollUtil.isNotEmpty(powerFlagNot)){ + Map> objNameMap = powerFlagNot.stream().collect(Collectors.groupingBy(TerminalTree::getObjName)); + objNameMap.forEach((objNameKey,objNameValue)->{ + TerminalTree recursionChildren = getRecursionChildren(objNameValue, terminalTrees); + if(ObjectUtil.isNotNull(recursionChildren)){ + recursionChildren.setName(objNameKey); + notSubChildren.add(recursionChildren); + } + }); + } if(CollUtil.isNotEmpty(collect)){ List valueList = new ArrayList<>(); TerminalTree sub=new TerminalTree(); @@ -506,7 +518,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { * @param all 检测对象 * @return */ - public void getRecursionChildren(List line, List info,List all) { + public TerminalTree getRecursionChildren(List line, List all) { List aa=new ArrayList<>(); for (TerminalTree lineTree : line) { findParentsRecursive(lineTree, all,aa); @@ -520,11 +532,10 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { List lines = aa.stream().distinct().sorted(Comparator.comparing(TerminalTree::getSort)).collect(Collectors.toList()); List collect = distinctList.stream().filter(x -> x.getLevel() == LineBaseEnum.SUB_LEVEL.getCode()).collect(Collectors.toList()); if(CollUtil.isNotEmpty(collect)){ - for (TerminalTree tree : collect) { - TerminalTree terminalTree = BeanUtil.copyProperties(tree, TerminalTree.class); - info.add(findParents(lines,terminalTree)); - } + TerminalTree terminalTree = BeanUtil.copyProperties(collect.get(0), TerminalTree.class); + return findParents(lines,terminalTree); } + return null; } private static void findParentsRecursive(TerminalTree tree, List all,List newParents) { diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/YwZtSubstationServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/YwZtSubstationServiceImpl.java index 186b0c5da..1d069a5ca 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/YwZtSubstationServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/YwZtSubstationServiceImpl.java @@ -3,6 +3,8 @@ package com.njcn.device.pq.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.njcn.device.biz.pojo.dto.SubGetBase; +import com.njcn.device.biz.pojo.param.SubstationParam; import com.njcn.device.pq.mapper.SubstationMapper; import com.njcn.device.pq.mapper.YwZtSubstationMapper; import com.njcn.device.pq.pojo.po.Substation; @@ -12,11 +14,13 @@ import com.njcn.device.pq.service.IYwZtSubstationService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; +import com.njcn.user.pojo.po.Dept; import com.njcn.web.utils.WebUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.function.Function; @@ -98,6 +102,28 @@ public class YwZtSubstationServiceImpl extends ServiceImpl().in(CollUtil.isNotEmpty(orgIds),YwZtSubstation::getOrgId,orgIds)); } + @Override + public List getSubstation(SubstationParam substationParam) { + List orgIds = substationParam.getOrgIds(); + List deptList = deptFeignClient.getDeptInfoListByIds(orgIds).getData(); + List deptCode = deptList.stream().map(Dept::getCode).collect(Collectors.toList()); + substationParam.setOrgIds(deptCode); + List subGetBases = this.baseMapper.selectSubstationList(substationParam); + if(CollUtil.isNotEmpty(subGetBases)){ + Map deptMap = deptList.stream().collect(Collectors.toMap(Dept::getCode, Function.identity())); + subGetBases.stream().forEach(x->{ + if(deptMap.containsKey(x.getOrgId())){ + Dept deptDTO = deptMap.get(x.getOrgId()); + x.setOrgName(deptDTO.getName()); + x.setOrgId(deptDTO.getId()); + } + }); + return subGetBases; + } + return Collections.emptyList(); + } + + public String getDzmc(String dzmc) { if(StrUtil.isNotBlank(dzmc)) { dzmc = dzmc.replace("变电站", "")