From 8e5cab30c93dcf71c02e271f073aaa6d65734b3e Mon Sep 17 00:00:00 2001 From: chendaofei <857448963@qq.com> Date: Tue, 6 May 2025 15:53:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BE=BD=E5=AE=81=E5=8A=9F=E8=83=BD=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/device/pq/api/LineFeignClient.java | 2 + .../LineFeignClientFallbackFactory.java | 6 + .../pq/pojo/dto/PollutionSubstationDTO.java | 2 + .../dataClean/PowerQualityIndicatorsVO.java | 6 + .../device/pq/controller/LineController.java | 9 + .../njcn/device/pq/service/LineService.java | 2 + .../service/impl/DataVerifyServiceImpl.java | 3 + .../pq/service/impl/LineServiceImpl.java | 55 +++++- .../service/impl/ComAssessServiceImpl.java | 9 +- .../impl/PollutionSubstationServiceImpl.java | 177 +++++++++++------- .../impl/SteadyQualifyServiceImpl.java | 2 +- .../pojo/vo/user/NewUserReportVO.java | 11 ++ 12 files changed, 212 insertions(+), 72 deletions(-) diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java index 2a63ae19c..e7e2b2377 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java @@ -364,4 +364,6 @@ import java.util.Map; @GetMapping("/getMonitorByObjId") HttpResult> getMonitorByObjId(@RequestParam("objId") String objId); + @PostMapping("/getPowerStationByMonitorIds") + HttpResult> getPowerStationByMonitorIds(@RequestBody List ids); } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java index e7556764d..7d28a0e97 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java @@ -300,6 +300,12 @@ public class LineFeignClientFallbackFactory implements FallbackFactory> getPowerStationByMonitorIds(List ids) { + log.error("{}异常,降级处理,异常为:{}", "根据监测id集合查询场站用户信息: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/PollutionSubstationDTO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/PollutionSubstationDTO.java index ca4d75bf8..8e9745e5b 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/PollutionSubstationDTO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/dto/PollutionSubstationDTO.java @@ -32,6 +32,8 @@ public class PollutionSubstationDTO { @ApiModelProperty(name ="lat",value = "变电站纬度") private BigDecimal lat; + private Integer powerFlag; + @ApiModelProperty("数据") private Double data = 3.14159; diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java index d6d523754..e1da386a2 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/dataClean/PowerQualityIndicatorsVO.java @@ -19,6 +19,12 @@ public class PowerQualityIndicatorsVO { //所属终端名称 @ApiModelProperty(name = "devName",value = "所属终端名称") private String devName; + + @ApiModelProperty(name = "devName",value = "网络参数") + private String ip; + + @ApiModelProperty(name = "manufacturer",value = "所属厂商") + private String manufacturer; //所属电站 @ApiModelProperty(name = "stationName",value = "所属电站") private String stationName; diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java index d661b635e..c3b4ac7ea 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java @@ -564,4 +564,13 @@ public class LineController extends BaseController { List list = lineService.getMonitorByObjId(objId); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("根据监测点集合获取电网侧以及用户侧场站") + @PostMapping("/getPowerStationByMonitorIds") + public HttpResult> getPowerStationByMonitorIds(@RequestBody List ids){ + String methodDescribe = getMethodDescribe("getPowerStationByMonitorIds"); + List list = lineService.getPowerStationByMonitorIds(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java index f4f8d7463..d60c4f4b8 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java @@ -238,6 +238,8 @@ public interface LineService extends IService { List getMonitorByObjId(String objId); + List getPowerStationByMonitorIds(List ids); + /** * 获取污区值监测点相关信息 * @author hongawen diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java index 8fb4386c9..92e69e07b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java @@ -1,6 +1,7 @@ package com.njcn.device.pq.service.impl; +import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.*; import cn.hutool.core.util.ArrayUtil; @@ -742,6 +743,8 @@ public class DataVerifyServiceImpl extends ServiceImpl implements Li private final TerminalMaintainMapper terminalMaintainMapper; private final DeptFeignClient deptFeignClient; private final DeptLineService deptLineService; + private final UserLedgerFeignClient userLedgerFeignClient; @Override public LineDetailDataVO getLineDetailData(String id) { @@ -753,6 +756,50 @@ public class LineServiceImpl extends ServiceImpl implements Li return result; } + @Override + public List getPowerStationByMonitorIds(List ids) { + List result = new ArrayList<>(); + List lineDetailList = lineDetailMapper.selectList(new LambdaQueryWrapper().in(LineDetail::getId, ids)); + List userLedgerList = lineDetailList.stream().filter(it->StrUtil.isNotBlank(it.getObjId())).collect(Collectors.toList()); + List powerLedgerList = lineDetailList.stream().filter(it->StrUtil.isBlank(it.getObjId())).collect(Collectors.toList()); + + if(CollUtil.isNotEmpty(userLedgerList)){ + List objIds = userLedgerList.stream().map(LineDetail::getObjId).distinct().collect(Collectors.toList()); + List newUserReportVOList = userLedgerFeignClient.getUserReportByIds(objIds).getData(); + Map map = newUserReportVOList.stream().collect(Collectors.toMap(NewUserReportVO::getId,Function.identity())); + + List dictDataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE_STAND.getCode()).getData(); + Map dictDataMap = dictDataList.stream().collect(Collectors.toMap(DictData::getId,Function.identity())); + map.forEach((objId,item)->{ + PollutionSubstationDTO pollutionSubstationDTO = new PollutionSubstationDTO(); + pollutionSubstationDTO.setPowerFlag(PowerFlagEnum.NO_GRID_SIDE.getCode()); + pollutionSubstationDTO.setId(objId); + pollutionSubstationDTO.setName(item.getProjectName()); + pollutionSubstationDTO.setLng(item.getLongitude()); + pollutionSubstationDTO.setLat(item.getLatitude()); + pollutionSubstationDTO.setVoltageLevel(dictDataMap.get(item.getVoltageLevel()).getName()); + result.add(pollutionSubstationDTO); + }); + + } + if(CollUtil.isNotEmpty(powerLedgerList)){ + List lineList = lineMapper.selectList(new LambdaQueryWrapper().in(Line::getId, powerLedgerList.stream().map(LineDetail::getId).distinct().collect(Collectors.toList())).eq(Line::getState, DataStateEnum.ENABLE.getCode())); + List stationIds = lineList.stream().map(it->it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList()); + List stationList = substationMapper.getSubstationById(stationIds); + stationList.forEach(item->{ + PollutionSubstationDTO pollutionSubstationDTO = new PollutionSubstationDTO(); + pollutionSubstationDTO.setPowerFlag(PowerFlagEnum.GRID_SIDE.getCode()); + pollutionSubstationDTO.setId(item.getId()); + pollutionSubstationDTO.setName(item.getName()); + pollutionSubstationDTO.setLng(item.getLng()); + pollutionSubstationDTO.setLat(item.getLat()); + pollutionSubstationDTO.setVoltageLevel(item.getScale()); + result.add(pollutionSubstationDTO); + }); + } + return result; + } + @Override public List getPollutionLineInfo(List lineId) { List pollutionLineInfoDTOList; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java index b0e91395d..9046a6f38 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/ComAssessServiceImpl.java @@ -104,11 +104,18 @@ public class ComAssessServiceImpl extends ServiceImpl { ComAssessVO comAssessVO = new ComAssessVO(); if (userLedgerVOMap.containsKey(obj)) { + List childrenDTOS = new ArrayList<>(); UserLedgerVO userLedgerVO = userLedgerVOMap.get(obj); comAssessVO.setId(userLedgerVO.getId()); comAssessVO.setName(userLedgerVO.getProjectName()); - comAssessVO.setData(3.14159f); + List lineIds = list.stream().map(LineDetail::getId).collect(Collectors.toList()); + List collect = comAccessData.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList()); + setResults(collect, childrenDTOS); + float allComAss = comAssesUtil.getAllComAss(childrenDTOS); + String lv = getLevel(allComAss); comAssessVO.setMonitors(list.size()); + comAssessVO.setData(allComAss); + comAssessVO.setLevel(lv); children.add(comAssessVO); } }); 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 9593c9b55..418337491 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 @@ -470,17 +470,17 @@ public class PollutionSubstationServiceImpl extends ServiceImpl getSubstationInfoById(HarmonicPublicParam deptParam) { String pollutionType = deptParam.getStatisticalType().getId(); String searchBeginTime = deptParam.getSearchBeginTime().substring(0, 10); - List list = new ArrayList<>(); - if (deptParam.getType() != 0) { - PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); + List list = new ArrayList<>(); + //根据部门code获取部门id Dept dept = deptFeignClient.getDeptByCode(deptParam.getDeptIndex()).getData(); if (ObjectUtil.isNull(dept)) { return list; } - pmsDeviceInfoParam.setDeptIndex(dept.getId()); //获取统计类型 + PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); + pmsDeviceInfoParam.setDeptIndex(dept.getId()); pmsDeviceInfoParam.setStatisticalType(deptParam.getStatisticalType()); //获取主网台账信息 List deviceList = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData(); @@ -494,7 +494,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl dsData = data.stream().collect(Collectors.collectingAndThen (Collectors.toCollection(() -> - new TreeSet<>(Comparator.comparing(o -> o.getPowerId()))), ArrayList::new)); + new TreeSet<>(Comparator.comparing(PmsStatationStatInfoDTO::getPowerId))), ArrayList::new)); Map stringDoubleMap = setPmsSubData(deptParam, pollutionType, searchBeginTime, powers); if (CollectionUtil.isNotEmpty(data)) { dsData.forEach(power -> { @@ -513,54 +513,84 @@ public class PollutionSubstationServiceImpl extends ServiceImpl list = new ArrayList<>(); deptParam.setServerName(generalInfo.getMicroServiceName()); List sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(deptParam).getData(); - sub.forEach(item -> { - PollutionSubstationDTO pollutionSubstationDTO = lineFeignClient.getSubstationInfo(item.getIndex()).getData(); - String id = pollutionSubstationDTO.getId(); - if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_YEAR)) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("substation_id", id). - eq("pollution_type", pollutionType). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime); - RStatPollutionSubstationYPO rStatPollutionSubstationYPO = pollutionSubstationYPOMapper.selectOne(wrapper); + List lineIds = sub.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); + if (CollUtil.isEmpty(lineIds)) { + return list; + } + list = lineFeignClient.getPowerStationByMonitorIds(lineIds).getData(); + List powerIds = list.stream().map(PollutionSubstationDTO::getId).collect(Collectors.toList()); - Optional.ofNullable(rStatPollutionSubstationYPO).ifPresent(t -> pollutionSubstationDTO.setData(t.getValue())); - } else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_QUARTER)) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("substation_id", id). - eq("pollution_type", pollutionType). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime); - RStatPollutionSubstationQPO rStatPollutionSubstationQPO = pollutionSubstationQPOMapper.selectOne(wrapper); - Optional.ofNullable(rStatPollutionSubstationQPO).ifPresent(t -> pollutionSubstationDTO.setData(t.getValue())); - } else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_MONTH)) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("substation_id", id). - eq("pollution_type", pollutionType). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime); - RStatPollutionSubstationM rStatPollutionSubstationM = pollutionSubstationMMapper.selectOne(wrapper); + if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_YEAR)) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("substation_id", powerIds). + eq("pollution_type", pollutionType). + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime); + List rStatPollutionSubstationYPO = pollutionSubstationYPOMapper.selectList(wrapper); + Map yMap = rStatPollutionSubstationYPO.stream().collect(Collectors.toMap(RStatPollutionSubstationYPO::getSubstationId, Function.identity())); + list.forEach(pollutionSubstationDTO -> { + if (yMap.containsKey(pollutionSubstationDTO.getId())) { + pollutionSubstationDTO.setData(yMap.get(pollutionSubstationDTO.getId()).getValue()); + } else { + pollutionSubstationDTO.setData(3.14159); + } + }); + } else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_QUARTER)) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("substation_id", powerIds). + eq("pollution_type", pollutionType). + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime); + List rStatPollutionSubstationQPO = pollutionSubstationQPOMapper.selectList(wrapper); + Map qMap = rStatPollutionSubstationQPO.stream().collect(Collectors.toMap(RStatPollutionSubstationQPO::getSubstationId, Function.identity())); + list.forEach(pollutionSubstationDTO -> { + if (qMap.containsKey(pollutionSubstationDTO.getId())) { + pollutionSubstationDTO.setData(qMap.get(pollutionSubstationDTO.getId()).getValue()); + } else { + pollutionSubstationDTO.setData(3.14159); + } + }); + } else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_MONTH)) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("substation_id", powerIds). + eq("pollution_type", pollutionType). + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime); + List rStatPollutionSubstationM = pollutionSubstationMMapper.selectList(wrapper); - Optional.ofNullable(rStatPollutionSubstationM).ifPresent(t -> pollutionSubstationDTO.setData(t.getValue())); - - } else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_DAY)) { - QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("substation_id", id). - eq("pollution_type", pollutionType). - eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime); - RStatPollutionSubstationDPO rStatPollutionSubstationDPO = pollutionSubstationDPOMapper.selectOne(wrapper); - - Optional.ofNullable(rStatPollutionSubstationDPO).ifPresent(t -> pollutionSubstationDTO.setData(t.getValue())); - } - - list.add(pollutionSubstationDTO); - }); + Map mMap = rStatPollutionSubstationM.stream().collect(Collectors.toMap(RStatPollutionSubstationM::getSubstationId, Function.identity())); + list.forEach(pollutionSubstationDTO -> { + if (mMap.containsKey(pollutionSubstationDTO.getId())) { + pollutionSubstationDTO.setData(mMap.get(pollutionSubstationDTO.getId()).getValue()); + } else { + pollutionSubstationDTO.setData(3.14159); + } + }); + } else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_DAY)) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("substation_id", powerIds). + eq("pollution_type", pollutionType). + eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime); + List rStatPollutionSubstationDPO = pollutionSubstationDPOMapper.selectList(wrapper); + Map dMap = rStatPollutionSubstationDPO.stream().collect(Collectors.toMap(RStatPollutionSubstationDPO::getSubstationId, Function.identity())); + list.forEach(pollutionSubstationDTO -> { + if (dMap.containsKey(pollutionSubstationDTO.getId())) { + pollutionSubstationDTO.setData(dMap.get(pollutionSubstationDTO.getId()).getValue()); + } else { + pollutionSubstationDTO.setData(3.14159); + } + }); + } + if (!CollectionUtils.isEmpty(list)) { + return list.stream().sorted(Comparator.comparing(PollutionSubstationDTO::getData).reversed().thenComparing(PollutionSubstationDTO::getName)).collect(Collectors.toList()); + } } - if (!CollectionUtils.isEmpty(list)) { - return list.stream().sorted(Comparator.comparing(PollutionSubstationDTO::getData).reversed().thenComparing(PollutionSubstationDTO::getName)).collect(Collectors.toList()); - } - return list; + return Collections.emptyList(); } /** @@ -607,30 +637,45 @@ public class PollutionSubstationServiceImpl extends ServiceImpl line = new ArrayList<>(); - List sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(harmonicPublicParam).getData(); - sub.forEach(item -> { - if (Objects.equals(harmonicPublicParam.getId(), item.getIndex())) { - if (!CollectionUtils.isEmpty(item.getLineIndexes())) { - line.addAll(item.getLineIndexes()); + if (PowerFlagEnum.GRID_SIDE.getCode().equals(harmonicPublicParam.getPowerFlag())) { + List line = new ArrayList<>(); + List sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(harmonicPublicParam).getData(); + sub.forEach(item -> { + if (Objects.equals(harmonicPublicParam.getId(), item.getIndex())) { + if (!CollectionUtils.isEmpty(item.getLineIndexes())) { + line.addAll(item.getLineIndexes()); + } } - } - }); - if (!CollectionUtils.isEmpty(line)) { - paramDTO.setLineList(line); - list = lineFeignClient.getLineInfo(paramDTO).getData(); - List lineData = rMpPollutionDPOMapper.selectMaxList(line, pollutionType, harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime()); - if (!CollectionUtils.isEmpty(lineData)) { - list.stream().map(list1 -> lineData.stream().filter(list2 -> Objects.equals(list1.getId(), list2.getLineId())).findAny().map(m -> { - list1.setData(m.getValue()); - return list1; - })).collect(Collectors.toList()); - } + }); + return commDataDeal(line,paramDTO,harmonicPublicParam); } else { - return list; + List lineDetailList = lineFeignClient.getMonitorByObjId(harmonicPublicParam.getId()).getData(); + if (CollUtil.isNotEmpty(lineDetailList)) { + List ids = lineDetailList.stream().map(LineDetail::getId).collect(Collectors.toList()); + return commDataDeal(ids,paramDTO,harmonicPublicParam); + } } + } - return list.stream().sorted(Comparator.comparing(PollutionLineDTO::getData).reversed().thenComparing(PollutionLineDTO::getName)).collect(Collectors.toList()); + return list; + } + + + private List commDataDeal(List ids,PollutionParamDTO paramDTO,HarmonicPublicParam harmonicPublicParam){ + paramDTO.setLineList(ids); + List list = lineFeignClient.getLineInfo(paramDTO).getData(); + List lineData = rMpPollutionDPOMapper.selectMaxList(ids, harmonicPublicParam.getStatisticalType().getId(), harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime()); + Map map = lineData.stream().collect(Collectors.toMap(RMpPollutionDPO::getLineId,Function.identity())); + if (!CollectionUtils.isEmpty(lineData)) { + list.stream().sorted(Comparator.comparing(PollutionLineDTO::getData).reversed().thenComparing(PollutionLineDTO::getName)).forEach(item->{ + if(map.containsKey(item.getId())){ + item.setData(map.get(item.getId()).getValue()); + }else { + item.setData(3.14159); + } + }); + } + return list; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyQualifyServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyQualifyServiceImpl.java index 84afcb493..a5b8348b4 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyQualifyServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyQualifyServiceImpl.java @@ -438,7 +438,7 @@ public class SteadyQualifyServiceImpl implements SteadyQualifyService { if (!CollectionUtils.isEmpty(harmonicCurrent)) { steadyQualifyVO.setHarmonicCurrent(NumberUtil.round(harmonicCurrent.stream().mapToDouble(SteadyQualifyVO::getHarmonicCurrent).average().orElse(100), 2).doubleValue()); } - if (!CollectionUtils.isEmpty(flicker)) { + if (!CollectionUtils.isEmpty(interHarmonic)) { steadyQualifyVO.setInterHarmonic(NumberUtil.round(interHarmonic.stream().mapToDouble(SteadyQualifyVO::getInterHarmonic).average().orElse(100), 2).doubleValue()); } } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/NewUserReportVO.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/NewUserReportVO.java index ac07e93a9..43a415435 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/NewUserReportVO.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/user/NewUserReportVO.java @@ -3,6 +3,8 @@ package com.njcn.supervision.pojo.vo.user; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + /** * @author web2023 @@ -28,6 +30,15 @@ public class NewUserReportVO { @ApiModelProperty(value = "额定功率 单位MW") private Double ratePower; + @ApiModelProperty(value = "经度") + private BigDecimal longitude; + + @ApiModelProperty(value = "维度") + private BigDecimal latitude; + + @ApiModelProperty(value = "电压等级") + private String voltageLevel; + }