diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalCheckParam.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalCheckParam.java index c8f7bac33..1c65d0e87 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalCheckParam.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/param/TerminalCheckParam.java @@ -2,6 +2,7 @@ package com.njcn.device.pq.pojo.param; import com.njcn.web.pojo.param.BaseParam; import lombok.Data; +import lombok.EqualsAndHashCode; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDate; @@ -12,6 +13,7 @@ import java.time.format.DateTimeFormatter; * @CreateTime: 2026-07-06 * @Description: */ +@EqualsAndHashCode(callSuper = true) @Data public class TerminalCheckParam extends BaseParam { diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LoadTypeVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LoadTypeVO.java index 2c2e49d2c..cb10181f6 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LoadTypeVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LoadTypeVO.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; +import java.util.List; /** * @version 1.0.0 @@ -26,4 +27,7 @@ public class LoadTypeVO implements Serializable { */ @ApiModelProperty("干扰源暂降次数") private Integer count; + + + private List loadTypeList; } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GridDiagramController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GridDiagramController.java index 5e3eae16c..cc05a1d53 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GridDiagramController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/GridDiagramController.java @@ -11,6 +11,7 @@ import com.njcn.device.pq.pojo.po.RStatIntegrityD; import com.njcn.device.pq.pojo.po.RStatOnlinerateD; import com.njcn.device.pq.pojo.vo.GridDiagramProVO; import com.njcn.device.pq.pojo.vo.GridDiagramVO; +import com.njcn.device.pq.pojo.vo.LoadTypeVO; import com.njcn.device.pq.service.GridDiagramService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -135,4 +136,13 @@ public class GridDiagramController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramOnLineRateD, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/loadTypeVOList") + @ApiOperation("干扰源类型统计") + public HttpResult> loadTypeVOList(@RequestBody GridDiagramParam param){ + String methodDescribe = getMethodDescribe("loadTypeVOList"); + List loadTypeVOList = gridDiagramService.loadTypeVOList(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, loadTypeVOList, methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/GridDiagramService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/GridDiagramService.java index 26a46d590..38f969bf9 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/GridDiagramService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/GridDiagramService.java @@ -7,6 +7,7 @@ import com.njcn.device.pq.pojo.po.RStatIntegrityD; import com.njcn.device.pq.pojo.po.RStatOnlinerateD; import com.njcn.device.pq.pojo.vo.GridDiagramProVO; import com.njcn.device.pq.pojo.vo.GridDiagramVO; +import com.njcn.device.pq.pojo.vo.LoadTypeVO; import java.util.List; import java.util.Map; @@ -90,4 +91,12 @@ public interface GridDiagramService { * @Date: 2024/5/4 18:35 */ List getGridDiagramOnLineRateD(StatisticsBizBaseParam param); + + + /** + * @Description: 根据干扰源进行分组 + * @param param + * @return + */ + List loadTypeVOList(GridDiagramParam param); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java index 91b7dc8bc..f6337d58e 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/GridDiagramServiceImpl.java @@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.param.StatisticsBizBaseParam; +import com.njcn.device.biz.enums.RunFlagEnum; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; @@ -24,9 +25,11 @@ import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; import com.njcn.device.pq.pojo.param.GridDiagramParam; import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; +import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.pojo.po.*; import com.njcn.device.pq.pojo.vo.GridDiagramProVO; import com.njcn.device.pq.pojo.vo.GridDiagramVO; +import com.njcn.device.pq.pojo.vo.LoadTypeVO; import com.njcn.device.pq.pojo.vo.RStatOnlineRateVO; import com.njcn.device.pq.service.*; import com.njcn.device.rstatintegrity.mapper.RStatIntegrityDMapper; @@ -45,6 +48,7 @@ import java.util.stream.Stream; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.NotNull; import org.springframework.stereotype.Service; @@ -569,6 +573,27 @@ public class GridDiagramServiceImpl implements GridDiagramService { ); } + @Override + public List loadTypeVOList(@NotNull GridDiagramParam param) { + List returnList = new ArrayList<>(); + MonitorBaseParam monitorBaseParam = new MonitorBaseParam(); + monitorBaseParam.setDeptId(param.getOrgId()); + monitorBaseParam.setLineRunFlag(RunFlagEnum.RUNNING.getStatus()); + List list = commTerminalService.getRunMonitorByDept(monitorBaseParam); + if(CollUtil.isNotEmpty(list)) { + List lineDetailList =lineDetailMapper.selectList(new LambdaQueryWrapper().select(LineDetail::getLoadType, LineDetail::getId).in(LineDetail::getId, list)); + Map> map = lineDetailList.stream().collect(Collectors.groupingBy(LineDetail::getLoadType,Collectors.mapping(LineDetail::getId, Collectors.toList()))); + map.forEach((k,v)->{ + LoadTypeVO loadTypeVO = new LoadTypeVO(); + loadTypeVO.setName(k); + loadTypeVO.setCount(v.size()); + loadTypeVO.setLoadTypeList(v); + returnList.add(loadTypeVO); + }); + } + return returnList; + } + private void getDevStatisticsData(List statisticsData, List gwStatisticsData, List lineBaseList, List voltageIds) { GridDiagramVO.StatisticsData data; 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 87ead63c3..ab7f8842e 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 @@ -32,6 +32,8 @@ import com.njcn.system.pojo.po.Area; import com.njcn.user.api.DeptFeignClient; import com.njcn.web.utils.RequestUtil; import lombok.AllArgsConstructor; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -48,7 +50,7 @@ import java.util.stream.Stream; * @date 2021/7/19 */ @Service -@AllArgsConstructor +@RequiredArgsConstructor public class TerminalTreeServiceImpl implements TerminalTreeService { private final LineMapper lineMapper; @@ -67,6 +69,8 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { private final UserLedgerService userLedgerService; + @Value("${version.used:master}") + private String versionUsed; /** * 台账页面终端树 * @@ -126,16 +130,7 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { provinceList.forEach(province -> province.setChildren(getChildren(province, gdList))); projectList.forEach(project -> project.setChildren(getChildren(project, provinceList))); - /* if (CollectionUtil.isNotEmpty(allList)) { - TerminalTree terminalTree = new TerminalTree(); - terminalTree.setId("9999999"); - terminalTree.setLevel(0); - terminalTree.setName("台账管理"); - if (CollectionUtil.isNotEmpty(projectList)) { - terminalTree.setChildren(projectList); - } - taiZhang.add(terminalTree); - }*/ + return projectList; } @@ -323,8 +318,6 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { }); temMap = temList.stream().collect(Collectors.groupingBy(TerminalTree::getPid)); } - - //处理变电站 dealChildrenData(subList, otherLineList, temMap, true); @@ -332,11 +325,18 @@ public class TerminalTreeServiceImpl implements TerminalTreeService { //Integer[] arr = {1}; //subList.forEach(item->item.getChildren().forEach(it->it.setName((arr[0]++ +"_"+it.getName())))); //处理供电公司 - dealChildrenData(gdList, subList, null, false); + + if (deviceInfoParam.getStatisticalType().getCode().equalsIgnoreCase(StatisticsEnum.POWER_NETWORK.getCode())) { - terminalTree.setChildren(gdList); + if("liaoning".equals(versionUsed)){ + terminalTree.setChildren(subList); + }else { + dealChildrenData(gdList, subList, null, false); + terminalTree.setChildren(gdList); + } } else { + dealChildrenData(gdList, subList, null, false); //还需要额外处理省会 dealChildrenData(proList, gdList, null, false); terminalTree.setChildren(proList); diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/GeneralDeviceService.java b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/GeneralDeviceService.java index 8fb04b8e3..6a2d1eacc 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/GeneralDeviceService.java +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/GeneralDeviceService.java @@ -497,13 +497,13 @@ public class GeneralDeviceService { } List lines = terminalBaseService.getLineById(lineIds); for (SimpleDTO simpleDTO : scales) { - if(ObjectUtil.isNull(type)){ + /* if(ObjectUtil.isNull(type)){ List voltageScaleIds = terminalBaseService.getSubIdByScale(subIds, simpleDTO.getId()); generalDeviceDTOS.add(assembleDataByLine(simpleDTO, lines, voltageScaleIds, LineBaseEnum.SUB_LEVEL.getCode())); - }else{ + }else{*/ List voltageScaleIds = terminalBaseService.getVoltageIdByScale(subVIds, simpleDTO.getId()); generalDeviceDTOS.add(assembleDataByLine(simpleDTO, lines, voltageScaleIds, LineBaseEnum.SUB_V_LEVEL.getCode())); - } + // } } return generalDeviceDTOS; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java index 4e31d0bb4..6702dbfe0 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/GridServiceImpl.java @@ -30,7 +30,10 @@ import com.njcn.harmonic.mapper.RStatLimitRateDMapper; import com.njcn.harmonic.service.hebeinorth.IGridService; import com.njcn.harmonic.util.ComAssesUtil; import com.njcn.harmonic.util.TimeUtil; +import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; +import com.njcn.system.enums.DicDataTypeEnum; +import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; import lombok.RequiredArgsConstructor; @@ -71,6 +74,7 @@ public class GridServiceImpl implements IGridService { private final RStatLimitTargetDMapper rStatLimitTargetDMapper; private final GeneralDeviceInfoClient generalDeviceInfoClient; private final DeptFeignClient deptFeignClient; + private final DicDataFeignClient dicDataFeignClient; @Override public AssessVo.AssessOverview getAssessOverview(AssessParam param) { @@ -328,8 +332,11 @@ public class GridServiceImpl implements IGridService { deptGetLineParam.setDeptId(param.getDeptIndex()); deptGetLineParam.setLineRunFlag(0); List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); + + DictData dictData = dicDataFeignClient.getDicDataById(param.getVoltageLevel()).getData(); + DictData standVoltageDic = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_VOLTAGE_STAND.getName(),dictData.getName()).getData(); //获取监测点集合 - Map> lineMap = this.getLineMap(list, param.getIsUpToGrid(), param.getVoltageLevel()); + Map> lineMap = this.getLineMap(list, param.getIsUpToGrid(),standVoltageDic.getId()); List lineList = lineMap.values().stream() .flatMap(List::stream) .distinct() diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index 72914b03d..02430771f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -65,6 +65,7 @@ import com.njcn.poi.excel.ExcelUtil; import com.njcn.supervision.pojo.param.SensitiveUserParam; import com.njcn.supervision.pojo.param.user.UserReportParam; import com.njcn.supervision.pojo.po.user.UserReportPO; +import com.njcn.supervision.pojo.vo.user.NewUserReportVO; import com.njcn.supervision.pojo.vo.user.UserLedgerVO; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; @@ -711,11 +712,23 @@ public class PollutionSubstationServiceImpl extends ServiceImpl monitorList = lineFeignClient.getLineInfo(paramDTO).getData(); Map monitorMap = monitorList.stream().collect(Collectors.toMap(PollutionLineDTO::getId, Function.identity())); + List objIds = monitorList.stream().map(PollutionLineDTO::getObjId).distinct().collect(Collectors.toList()); + Map objMap = new HashMap<>(); + if(CollUtil.isNotEmpty(objIds)){ + List userReportVOList = userLedgerFeignClient.getUserReportByIds(objIds).getData(); + objMap = userReportVOList.stream().collect(Collectors.toMap(NewUserReportVO::getId, NewUserReportVO::getProjectName)); + } + Map finalObjMap = objMap; list = result.stream().map(it -> { PollutionLineDTO pollutionLineDTO = new PollutionLineDTO(); pollutionLineDTO.setData(NumberUtil.round(it.getData(), 2).doubleValue()); PollutionLineDTO monitor = monitorMap.get(it.getId()); - pollutionLineDTO.setName(monitor.getSubstation() + "_" + monitor.getName()); + if(StrUtil.isNotBlank(monitor.getObjId())){ + String objName = finalObjMap.get(monitor.getObjId()); + pollutionLineDTO.setName(objName + "_" + monitor.getName()); + }else { + pollutionLineDTO.setName(monitor.getSubstation() + "_" + monitor.getName()); + } return pollutionLineDTO; }).sorted(Comparator.comparing(PollutionLineDTO::getData, Comparator.reverseOrder())).collect(Collectors.toList()); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java index 96e0e59b8..7760b4c43 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java @@ -66,7 +66,8 @@ public class THDistortionServiceImpl implements THDistortionService { List thDistortionVOS = new ArrayList<>(); //按照条件获取实际运行终端综合信息 - List deviceList = generalDeviceInfoClient.getPracticalRunDeviceInfo(new DeviceInfoParam(thDistortionParam.getStatisticalType(), thDistortionParam.getDeptIndex(), generalInfo.getMicroServiceName(), thDistortionParam.getScale(), thDistortionParam.getManufacturer(), thDistortionParam.getLoadType())).getData(); + DeviceInfoParam deviceInfoParam = new DeviceInfoParam(thDistortionParam.getStatisticalType(), thDistortionParam.getDeptIndex(), generalInfo.getMicroServiceName(), thDistortionParam.getScale(), thDistortionParam.getManufacturer(), thDistortionParam.getLoadType()); + List deviceList = generalDeviceInfoClient.getPracticalRunDeviceInfo(deviceInfoParam).getData(); Map userLedgerVOMap = new HashMap<>(); if (thDistortionParam.isUserLedger()) { List userLedgerVOList = userLedgerFeignClient.selectUserList(new UserReportParam()).getData();