From 5c613089e5678e5b6ec93f1f9a305968f28b8eca Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Sat, 4 May 2024 18:44:26 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=86=80=E5=8C=97=E7=94=B5=E7=BD=91=E4=B8=80?= =?UTF-8?q?=E5=BC=A0=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/pq/pojo/vo/LineDetailDataVO.java | 3 ++ .../pq/controller/GridDiagramController.java | 21 ++++++++ .../device/pq/service/GridDiagramService.java | 18 ++++++- .../service/impl/GridDiagramServiceImpl.java | 50 +++++++++++++------ .../pq/service/impl/LineServiceImpl.java | 1 + .../GridDiagramEventController.java | 11 ++++ .../majornetwork/RMpEventDetailMMapper.java | 16 ++++++ .../mapping/RMpEventDetailMMapper.xml | 5 ++ .../majornetwork/Impl/ReportServiceImpl.java | 22 ++++---- .../Impl/RmpEventDetailServiceImpl.java | 16 ++++++ .../majornetwork/RmpEventDetailService.java | 11 ++++ .../impl/RMpTargetWarnDServiceImpl.java | 47 +++++++++++------ .../impl/RStatLimitServiceImpl.java | 31 +++++++----- 13 files changed, 198 insertions(+), 54 deletions(-) create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RMpEventDetailMMapper.java create mode 100644 pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RMpEventDetailMMapper.xml diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java index cd2ff7faf..54031f1e4 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailDataVO.java @@ -35,6 +35,9 @@ public class LineDetailDataVO { @ApiModelProperty(name = "manufacturer",value = "厂家") private String manufacturer; + @ApiModelProperty(name = "devId",value = "终端Id") + private String devId; + @ApiModelProperty(name = "devName",value = "终端名称") private String devName; 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 d00ff2c5c..2a56a18e3 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 @@ -3,9 +3,12 @@ package com.njcn.device.pq.controller; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.GridDiagramParam; +import com.njcn.device.pq.pojo.po.RStatIntegrityD; +import com.njcn.device.pq.pojo.po.RStatOnlinerateD; import com.njcn.device.pq.pojo.vo.GridDiagramVO; import com.njcn.device.pq.service.GridDiagramService; import com.njcn.web.controller.BaseController; @@ -90,4 +93,22 @@ public class GridDiagramController extends BaseController { List gridDiagramCityDev = gridDiagramService.getGridDiagramCityDev(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramCityDev, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getGridDiagramIntegrityD") + @ApiOperation("监测点完整性") + public HttpResult> getGridDiagramIntegrityD(@RequestBody StatisticsBizBaseParam param){ + String methodDescribe = getMethodDescribe("getGridDiagramIntegrityD"); + List gridDiagramIntegrityD = gridDiagramService.getGridDiagramIntegrityD(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramIntegrityD, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getGridDiagramOnLineRateD") + @ApiOperation("终端在线率列表") + public HttpResult> getGridDiagramOnLineRateD(@RequestBody StatisticsBizBaseParam param){ + String methodDescribe = getMethodDescribe("getGridDiagramOnLineRateD"); + List gridDiagramOnLineRateD = gridDiagramService.getGridDiagramOnLineRateD(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramOnLineRateD, 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 c2c36698f..d11dfff19 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 @@ -1,7 +1,10 @@ package com.njcn.device.pq.service; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.pq.pojo.param.GridDiagramParam; +import com.njcn.device.pq.pojo.po.RStatIntegrityD; +import com.njcn.device.pq.pojo.po.RStatOnlinerateD; import com.njcn.device.pq.pojo.vo.GridDiagramVO; import java.util.List; @@ -56,5 +59,18 @@ public interface GridDiagramService { List getGridDiagramCityDev(GridDiagramParam param); - + /** + * @Description: 监测点完整性 + * @Author: wr + * @Date: 2024/5/4 18:34 + */ + List getGridDiagramIntegrityD(StatisticsBizBaseParam param); + /** + * @Description: 终端在线率 + * @param param + * @return: java.util.List + * @Author: wr + * @Date: 2024/5/4 18:35 + */ + List getGridDiagramOnLineRateD(StatisticsBizBaseParam 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 dd22b1672..e270dfd8a 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 @@ -9,6 +9,7 @@ import cn.hutool.core.util.StrUtil; 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.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; @@ -184,7 +185,9 @@ public class GridDiagramServiceImpl implements GridDiagramService { private void gwStatisticsDataList(List statisticsData, List lineBaseList, String value, List onlineRateByDevIds, List onIntegrityByIds) { //监测点集合 List lineIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); - List onLineNumIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel()) && 1 == x.getComFlag()).map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); + List onLineNumIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel()) && 1 == x.getComFlag()) + .filter(x->1 == x.getIsUpToGrid()) + .map(LineDevGetDTO::getPointId).distinct().collect(Collectors.toList()); //终端id集合 List devIds = lineBaseList.stream().filter(x -> value.equals(x.getVoltageLevel())).filter(x -> 1 == x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().collect(Collectors.toList()); @@ -362,7 +365,11 @@ public class GridDiagramServiceImpl implements GridDiagramService { public List getGridDiagramCityDev(GridDiagramParam param) { List generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(param.getDeviceInfoParam(), null, Stream.of(1).collect(Collectors.toList())); List devIds = generalDeviceDTOList.stream().flatMap(x -> x.getDeviceIndexes().stream()).collect(Collectors.toList()); - List devList = deviceService.list(new LambdaQueryWrapper().in(CollUtil.isNotEmpty(devIds), Device::getId, devIds)); + //终端信息 + List devList =new ArrayList<>(); + if(CollUtil.isNotEmpty(devIds)){ + devList = deviceService.list(new LambdaQueryWrapper().in(CollUtil.isNotEmpty(devIds), Device::getId, devIds)); + } OnlineRateParam onlineRateParam = new OnlineRateParam(); onlineRateParam.setStartTime(param.getSearchBeginTime()); onlineRateParam.setEndTime(param.getSearchEndTime()); @@ -383,40 +390,53 @@ public class GridDiagramServiceImpl implements GridDiagramService { return list; } + @Override + public List getGridDiagramIntegrityD(StatisticsBizBaseParam param) { + return integrityDMapper.selectList(new LambdaQueryWrapper() + .eq(RStatIntegrityD::getLineIndex, param.getId()) + .ge(StrUtil.isNotBlank(param.getStartTime()), RStatIntegrityD::getTimeId, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) + .le(StrUtil.isNotBlank(param.getEndTime()), RStatIntegrityD::getTimeId, DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))) + ); + } + + @Override + public List getGridDiagramOnLineRateD(StatisticsBizBaseParam param) { + return onLineRateDMapper.selectList(new LambdaQueryWrapper() + .eq(RStatOnlinerateD::getDevIndex, param.getId()) + .ge(StrUtil.isNotBlank(param.getStartTime()), RStatOnlinerateD::getTimeId, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) + .le(StrUtil.isNotBlank(param.getEndTime()), RStatOnlinerateD::getTimeId, DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))) + ); + } + private void getDevStatisticsData(List statisticsData, List gwStatisticsData, List lineBaseList, List voltageIds) { - long countOne = 0; - long countTow = 0; - long gwCountOne = 0; - long gwCountTow = 0; GridDiagramVO.StatisticsData data; for (String voltageId : voltageIds) { for (int i = 0; i < 2; i++) { data = new GridDiagramVO.StatisticsData(); int finalI = i; - //todo 0 + //todo 1国网信息 long count = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).map(LineDevGetDTO::getDevId).distinct().count(); data.setNumOne(count); long count1 = lineBaseList.stream().filter(x -> getIsUpToGrid(finalI, x, voltageId)).filter(x -> 1 == x.getComFlag()).map(LineDevGetDTO::getDevId).distinct().count(); data.setNumTwo(count1); if (i == 0) { - countOne += count; - countTow += count1; statisticsData.add(data); } else { - gwCountOne += count; - gwCountTow += count1; gwStatisticsData.add(data); } } } data = new GridDiagramVO.StatisticsData(); - data.setNumOne(countOne); - data.setNumTwo(countTow); + data.setNumOne(lineBaseList.stream().map(LineDevGetDTO::getDevId).distinct().count()); + data.setNumTwo(lineBaseList.stream() + .filter(x -> 1 == x.getComFlag()).map(LineDevGetDTO::getDevId).distinct().count()); statisticsData.add(data); data = new GridDiagramVO.StatisticsData(); - data.setNumOne(gwCountOne); - data.setNumTwo(gwCountTow); + data.setNumOne(lineBaseList.stream() + .filter(x -> 1==x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().count()); + data.setNumTwo(lineBaseList.stream() + .filter(x -> 1 == x.getComFlag()&&1==x.getIsUpToGrid()).map(LineDevGetDTO::getDevId).distinct().count()); gwStatisticsData.add(data); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java index 236e046f3..b81aac2cb 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java @@ -138,6 +138,7 @@ public class LineServiceImpl extends ServiceImpl implements Li lineDetailDataVO.setRunFlag(PubUtils.runFlag(device.getRunFlag())); lineDetailDataVO.setIp(device.getIp()); lineDetailDataVO.setLoginTime(device.getLoginTime()); + lineDetailDataVO.setDevId(device.getId()); lineDetailDataVO.setBusinessType(dicDataFeignClient.getDicDataById(lineDetail.getBusinessType()).getData().getName()); lineDetailDataVO.setLoadType(dicDataFeignClient.getDicDataById(lineDetail.getLoadType()).getData().getName()); lineDetailDataVO.setObjName(lineDetail.getObjName()); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/GridDiagramEventController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/GridDiagramEventController.java index cace000e5..58c315fea 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/GridDiagramEventController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/GridDiagramEventController.java @@ -3,6 +3,7 @@ package com.njcn.event.controller.majornetwork; import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.pojo.param.GridDiagramParam; @@ -10,6 +11,7 @@ import com.njcn.device.pq.pojo.vo.GridDiagramVO; import com.njcn.event.pojo.vo.EventDetailVO; import com.njcn.event.service.majornetwork.RmpEventDetailService; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; +import com.njcn.harmonic.pojo.po.RMpEventDetailMPO; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -51,4 +53,13 @@ public class GridDiagramEventController extends BaseController { List eventDetailByList = rmpEventDetailService.getEventDetailByList(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventDetailByList, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getEventDetailByLineId") + @ApiOperation("根据监测点获取暂态短时中断和暂态赞升暂降") + public HttpResult getEventDetailByLineId(@RequestBody StatisticsBizBaseParam param) { + String methodDescribe = getMethodDescribe("getEventDetailByLineId"); + RMpEventDetailMPO eventDetailByLine = rmpEventDetailService.getEventDetailByLine(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, eventDetailByLine, methodDescribe); + } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RMpEventDetailMMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RMpEventDetailMMapper.java new file mode 100644 index 000000000..b1c9efc09 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/RMpEventDetailMMapper.java @@ -0,0 +1,16 @@ +package com.njcn.event.mapper.majornetwork; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.njcn.harmonic.pojo.po.RMpEventDetailMPO; + +/** + *

+ * 监测点暂态指标超标明细月表 Mapper 接口 + *

+ * + * @author wr + * @since 2024-05-04 + */ +public interface RMpEventDetailMMapper extends BaseMapper { + +} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RMpEventDetailMMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RMpEventDetailMMapper.xml new file mode 100644 index 000000000..155513ab5 --- /dev/null +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RMpEventDetailMMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java index 6d186ec4e..5017908e8 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/ReportServiceImpl.java @@ -163,17 +163,19 @@ public class ReportServiceImpl implements ReportService { //查区域 List data = generalDeviceInfoClient.getPracticalAllDeviceInfo(businessParam).getData(); List lineIds = data.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); + List generalVOS = new ArrayList<>(); + if(CollUtil.isNotEmpty(lineIds)){ + HashMap condMap = new HashMap<>(); + condMap.put("startTime", DateUtil.beginOfDay(DateUtil.parse(businessParam.getSearchBeginTime())).toString()); + condMap.put("endTime", DateUtil.endOfDay(DateUtil.parse(businessParam.getSearchEndTime())).toString()); + condMap.put("ids", lineIds); + condMap.put(DicDataEnum.VOLTAGE_DIP.getCode(), dictMap.get(DicDataEnum.VOLTAGE_DIP.getCode())); //电压暂降 + condMap.put(DicDataEnum.SHORT_INTERRUPTIONS.getCode(), dictMap.get(DicDataEnum.SHORT_INTERRUPTIONS.getCode())); //短时中断 + condMap.put(DicDataEnum.VOLTAGE_RISE.getCode(), dictMap.get(DicDataEnum.VOLTAGE_RISE.getCode())); //电压暂升 + //根据id把所有的数据查询出来 + generalVOS = eventDetailMapper.ListEventType(condMap); + } - HashMap condMap = new HashMap<>(); - condMap.put("startTime", DateUtil.beginOfDay(DateUtil.parse(businessParam.getSearchBeginTime())).toString()); - condMap.put("endTime", DateUtil.endOfDay(DateUtil.parse(businessParam.getSearchEndTime())).toString()); - condMap.put("ids", lineIds); - condMap.put(DicDataEnum.VOLTAGE_DIP.getCode(), dictMap.get(DicDataEnum.VOLTAGE_DIP.getCode())); //电压暂降 - condMap.put(DicDataEnum.SHORT_INTERRUPTIONS.getCode(), dictMap.get(DicDataEnum.SHORT_INTERRUPTIONS.getCode())); //短时中断 - condMap.put(DicDataEnum.VOLTAGE_RISE.getCode(), dictMap.get(DicDataEnum.VOLTAGE_RISE.getCode())); //电压暂升 - - //根据id把所有的数据查询出来 - List generalVOS = eventDetailMapper.ListEventType(condMap); GeneralVO generalVO; List list = new ArrayList<>(); diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java index 4d2417159..fb32da954 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java @@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.dto.SimpleDTO; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.device.biz.pojo.dto.LineDevGetDTO; @@ -32,6 +33,7 @@ import com.njcn.device.pq.pojo.param.GridDiagramParam; import com.njcn.device.pq.pojo.vo.AreaLineInfoVO; import com.njcn.device.pq.pojo.vo.GridDiagramVO; import com.njcn.event.enums.EventResponseEnum; +import com.njcn.event.mapper.majornetwork.RMpEventDetailMMapper; import com.njcn.event.mapper.majornetwork.RmpEventDetailMapper; import com.njcn.event.pojo.param.UniversalFrontEndParam; import com.njcn.event.pojo.po.RmpEventDetailPO; @@ -39,6 +41,7 @@ import com.njcn.event.pojo.vo.*; import com.njcn.event.service.majornetwork.EventDetailService; import com.njcn.event.service.majornetwork.RmpEventDetailService; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; +import com.njcn.harmonic.pojo.po.RMpEventDetailMPO; import com.njcn.system.api.DicDataFeignClient; import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; @@ -86,6 +89,9 @@ public class RmpEventDetailServiceImpl extends ServiceImpl() + .eq(RMpEventDetailMPO::getMeasurementPointId, param.getId()) + .ge(StrUtil.isNotBlank(param.getStartTime()), RMpEventDetailMPO::getDataDate, DateUtil.beginOfDay(DateUtil.parse(param.getStartTime()))) + .le(StrUtil.isNotBlank(param.getEndTime()), RMpEventDetailMPO::getDataDate, DateUtil.endOfDay(DateUtil.parse(param.getEndTime()))) + ); + return rMpEventDetailMPO; + } + private Double setData(GridDiagramVO gridDiagramVO, List gwLineAllIds, List list) { List asGwDouble = list.stream() diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java index bfb9916f1..5c6956d2d 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/RmpEventDetailService.java @@ -2,6 +2,7 @@ package com.njcn.event.service.majornetwork; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.device.pq.pojo.param.GridDiagramParam; import com.njcn.device.pq.pojo.vo.GridDiagramVO; import com.njcn.event.pojo.param.UniversalFrontEndParam; @@ -10,6 +11,7 @@ import com.njcn.event.pojo.vo.AdvanceEventDetailVO; import com.njcn.event.pojo.vo.EventDetailVO; import com.njcn.event.pojo.vo.RmpEventDetailVO; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; +import com.njcn.harmonic.pojo.po.RMpEventDetailMPO; import com.njcn.system.pojo.po.DictData; import com.njcn.web.pojo.param.BaseParam; @@ -62,4 +64,13 @@ public interface RmpEventDetailService extends IService { GridDiagramVO getEventLevelEvaluation(StatSubstationBizBaseParam param); List getEventDetailByList(GridDiagramParam param); + + /** + * @Description: 根据监测点获取暂态短时中断和暂态赞升暂降 + * @param param + * @return: java.util.List + * @Author: wr + * @Date: 2024/5/4 17:08 + */ + RMpEventDetailMPO getEventDetailByLine(StatisticsBizBaseParam param); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RMpTargetWarnDServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RMpTargetWarnDServiceImpl.java index 4cb378a65..6ebef0606 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RMpTargetWarnDServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/RMpTargetWarnDServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.device.biz.commApi.CommTerminalGeneralClient; import com.njcn.device.biz.pojo.dto.DeptGetSubStationDTO; +import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.biz.pojo.dto.SubGetBase; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.pq.pojo.vo.GridDiagramVO; @@ -118,10 +119,6 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl voltageIds, List list ) { - long countOne= 0; - long countTow= 0; - long gwCountOne= 0; - long gwCountTow= 0; GridDiagramVO.StatisticsData data; for (String voltageId : voltageIds) { for (int i = 0; i < 2; i++) { @@ -129,6 +126,7 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl getIsUpToGrid(finalI,x,voltageId)) + .map(SubGetBase::getId) .distinct() .count(); data.setNumOne(count); @@ -136,6 +134,7 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl getIsUpToGrid(finalI, x, voltageId)).forEach(x -> { List line=new ArrayList<>(); + //0:全部 1:国网 if(finalI==0){ line.addAll(x.getUnitChildrenList()); }else{ @@ -148,25 +147,43 @@ public class RMpTargetWarnDServiceImpl extends ServiceImpl { + List line=x.getUnitChildrenList(); + int sum = list.stream().filter(d -> line.contains(d.getMeasurementPointId())).mapToInt(RMpTargetWarnDPO::getIsWarn).sum(); + if (sum > 0) { + num.getAndIncrement(); + } + }); + data.setNumTwo(num.get()); statisticsData.add(data); - data=new GridDiagramVO.StatisticsData(); - data.setNumOne(gwCountOne); - data.setNumTwo(gwCountTow); + data = new GridDiagramVO.StatisticsData(); + data.setNumOne(subBaseList.stream() + .filter(x -> 1 == x.getIsUpToGrid()) + .map(SubGetBase::getId) + .distinct() + .count()); + AtomicLong gwNum= new AtomicLong(); + subBaseList.stream().filter(x -> 1 == x.getIsUpToGrid()).forEach(x -> { + List line=x.getUnitChildrenList(); + int sum = list.stream().filter(d -> line.contains(d.getMeasurementPointId())).mapToInt(RMpTargetWarnDPO::getIsWarn).sum(); + if (sum > 0) { + gwNum.getAndIncrement(); + } + }); + data.setNumTwo(gwNum.get()); gwStatisticsData.add(data); - } private Boolean getIsUpToGrid(Integer type, SubGetBase subGetBase, String voltageId) { //0:全部 1:国网上送监测点 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java index cbc998294..8d8eb7d0f 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java @@ -68,19 +68,25 @@ public class RStatLimitServiceImpl implements RStatLimitService { //监测点总数量 List lineIds = list.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList()); //超标监测点信息 - List limitTargetList = rStatLimitTargetDMapper.selectList(new LambdaQueryWrapper() - .select(RStatLimitTargetDPO::getLineId, RStatLimitTargetDPO::getAllTime, RStatLimitTargetDPO::getFlickerAllTime) - .in(RStatLimitTargetDPO::getLineId, lineIds) - .ge(StrUtil.isNotBlank(deviceInfoParam.getSearchBeginTime()), RStatLimitTargetDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))) - .le(StrUtil.isNotBlank(deviceInfoParam.getSearchEndTime()), RStatLimitTargetDPO::getTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())))); - + List limitTargetList =new ArrayList<>(); + List integrityList =new ArrayList<>(); + if(CollUtil.isNotEmpty(lineIds)){ + limitTargetList = rStatLimitTargetDMapper.selectList(new LambdaQueryWrapper() + .select(RStatLimitTargetDPO::getLineId, RStatLimitTargetDPO::getAllTime, RStatLimitTargetDPO::getFlickerAllTime) + .in(RStatLimitTargetDPO::getLineId, lineIds) + .ge(StrUtil.isNotBlank(deviceInfoParam.getSearchBeginTime()), RStatLimitTargetDPO::getTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))) + .le(StrUtil.isNotBlank(deviceInfoParam.getSearchEndTime()), RStatLimitTargetDPO::getTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())))); + integrityList = lineIntegrityClient.getIntegrityByLineIds(lineIds, deviceInfoParam.getSearchBeginTime(), deviceInfoParam.getSearchEndTime()).getData(); + } //终端在线率 - OnlineRateParam param=new OnlineRateParam(); - param.setIds(devIds); - param.setStartTime(deviceInfoParam.getSearchBeginTime()); - param.setEndTime(deviceInfoParam.getSearchEndTime()); - List onlineRateList = generalDeviceInfoClient.getOnlineRateByDevIds(param).getData(); - List integrityList = lineIntegrityClient.getIntegrityByLineIds(lineIds, deviceInfoParam.getSearchBeginTime(), deviceInfoParam.getSearchEndTime()).getData(); + List onlineRateList =new ArrayList<>(); + if(CollUtil.isNotEmpty(devIds)){ + OnlineRateParam param=new OnlineRateParam(); + param.setIds(devIds); + param.setStartTime(deviceInfoParam.getSearchBeginTime()); + param.setEndTime(deviceInfoParam.getSearchEndTime()); + onlineRateList = generalDeviceInfoClient.getOnlineRateByDevIds(param).getData(); + } List topList=new ArrayList<>(); List otherList=new ArrayList<>(); if(list.size()>4){ @@ -116,7 +122,6 @@ public class RStatLimitServiceImpl implements RStatLimitService { onLineAndIntegrity(otherLineIds, integrityList, otherDevIds, onlineRateList,limitTargetList, lineData); info.add(lineData); - return info; }