From c8ed7001ec5ebc03a5c8fcb9dc57d4e252d7418c Mon Sep 17 00:00:00 2001 From: wr <1754607820@qq.com> Date: Fri, 14 Apr 2023 11:12:57 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E5=8E=8B=E6=9A=82=E9=99=8D=EF=BC=9A?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E6=A6=82=E8=A7=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../majornetwork/area/AreaInfoController.java | 10 +-- .../service/majornetwork/AreaInfoService.java | 10 +-- .../Impl/AreaInfoServiceImpl.java | 61 ++++++++----------- 3 files changed, 37 insertions(+), 44 deletions(-) diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/area/AreaInfoController.java b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/area/AreaInfoController.java index 125a1809f..08fe13b38 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/area/AreaInfoController.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/controller/majornetwork/area/AreaInfoController.java @@ -6,7 +6,6 @@ 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.pq.pojo.param.DeviceInfoParam; -import com.njcn.device.pq.pojo.vo.TerminalBaseVO; import com.njcn.event.pojo.po.EventDetailNew; import com.njcn.event.pojo.vo.AreaSubLineVO; import com.njcn.event.service.majornetwork.AreaInfoService; @@ -60,7 +59,7 @@ public class AreaInfoController extends BaseController { @PostMapping("/getNoDealEvents") @ApiOperation("获取区域未处理暂态事件") @ApiImplicitParam(name = "deviceInfoParam", value = "参数体", required = true) - public HttpResult> getNoDealEvents(@RequestBody @Validated DeviceInfoParam deviceInfoParam) { + public HttpResult> getNoDealEvents(@RequestBody @Validated DeviceInfoParam.BusinessParam deviceInfoParam) { String methodDescribe = getMethodDescribe("getNoDealEvents"); List res = areaInfoService.getNoDealEvents(deviceInfoParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); @@ -76,9 +75,12 @@ public class AreaInfoController extends BaseController { @GetMapping("/getNoDealEventsByLineId") @ApiOperation("获取监测点下未处理的暂降事件") @ApiImplicitParam(name = "id", value = "监测点id", required = true) - public HttpResult> getNoDealEventsByLineId(@RequestParam("id") @NotBlank(message = "监测点id不可为空") String id) { + public HttpResult> getNoDealEventsByLineId(@RequestParam("id") @NotBlank(message = "监测点id不可为空") String id, + @RequestParam("searchBeginTime") @NotBlank(message = "开始时间不可为空") String searchBeginTime, + @RequestParam("searchEndTime") @NotBlank(message = "结束时间不可为空") String searchEndTime + ) { String methodDescribe = getMethodDescribe("getNoDealEventsByLineId"); - List res = areaInfoService.getNoDealEventsByLineId(id); + List res = areaInfoService.getNoDealEventsByLineId(id,searchBeginTime,searchEndTime); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, res, methodDescribe); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/AreaInfoService.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/AreaInfoService.java index 313d0e500..70f235e7d 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/AreaInfoService.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/AreaInfoService.java @@ -1,7 +1,6 @@ package com.njcn.event.service.majornetwork; import com.njcn.device.pq.pojo.param.DeviceInfoParam; -import com.njcn.device.pq.pojo.vo.TerminalBaseVO; import com.njcn.event.pojo.po.EventDetailNew; import com.njcn.event.pojo.vo.AreaSubLineVO; @@ -17,25 +16,26 @@ public interface AreaInfoService { /** * 获取区域监测点地理信息 + * * @author cdf * @date 2022/6/29 */ List getAreaLineInfo(DeviceInfoParam.BusinessParam deviceInfoParam); - - /** * 获取区域监测点地理信息 + * * @author cdf * @date 2022/6/29 */ - List getNoDealEvents(DeviceInfoParam deviceInfoParam); + List getNoDealEvents(DeviceInfoParam.BusinessParam deviceInfoParam); /** * 获取监测点下未处理的暂降事件 + * * @author cdf * @date 2022/6/29 */ - List getNoDealEventsByLineId(String id); + List getNoDealEventsByLineId(String id, String searchBeginTime, String searchEndTime); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/AreaInfoServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/AreaInfoServiceImpl.java index 023dbfa29..94d5fae0a 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/AreaInfoServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/AreaInfoServiceImpl.java @@ -39,13 +39,11 @@ import java.util.stream.Stream; @Slf4j @RequiredArgsConstructor public class AreaInfoServiceImpl implements AreaInfoService { - private final InfluxDbUtils influxDbUtils; private final GeneralDeviceInfoClient generalDeviceInfoClient; private final LineFeignClient lineFeignClient; - private final TerminalBaseClient terminalBaseClient; private final EventDetailService eventDetailService; @Override @@ -60,31 +58,22 @@ public class AreaInfoServiceImpl implements AreaInfoService { //查询监测点未处理暂态事件 List eventDetails = eventDetailService.list(new LambdaQueryWrapper() .in(RmpEventDetailPO::getMeasurementPointId, lineIds) - .ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime,DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))) - .le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))) + .ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))) + .le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime()))) ); //根据监测点分组统计数量 Map count = eventDetails.stream().collect(Collectors.groupingBy(RmpEventDetailPO::getMeasurementPointId, Collectors.counting())); for (AreaLineInfoVO areaLineInfoVO : resList) { - boolean flag = false; - if(CollectionUtil.isNotEmpty(count)) { - for (String s : count.keySet()) { - if (count.containsKey(areaLineInfoVO.getLineId())) { - Long aLong = count.get(s); - areaLineInfoVO.setNoDealCount(Math.toIntExact(aLong)); - flag = true; - break; - } + areaLineInfoVO.setNoDealCount(0); + if (CollectionUtil.isNotEmpty(count)) { + if (count.containsKey(areaLineInfoVO.getLineId())) { + Long aLong = count.get(areaLineInfoVO.getLineId()); + areaLineInfoVO.setNoDealCount(Math.toIntExact(aLong)); } - - } - if (!flag) { - areaLineInfoVO.setNoDealCount(0); } } - //组装成变电站 if (CollectionUtil.isNotEmpty(resList)) { Map> map = resList.stream().collect(Collectors.groupingBy(AreaLineInfoVO::getSubId)); @@ -103,9 +92,8 @@ public class AreaInfoServiceImpl implements AreaInfoService { } - @Override - public List getNoDealEvents(DeviceInfoParam deviceInfoParam) { + public List getNoDealEvents(DeviceInfoParam.BusinessParam deviceInfoParam) { List resList = new ArrayList<>(); List generalDeviceDTOList = generalDeviceInfoClient.getPracticalAllDeviceInfo(deviceInfoParam).getData(); List lineIds = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); @@ -116,17 +104,20 @@ public class AreaInfoServiceImpl implements AreaInfoService { //查询监测点未处理暂态事件 List eventDetails = eventDetailService.list(new LambdaQueryWrapper() - .in(RmpEventDetailPO::getMeasurementPointId, lineIds).orderByDesc(RmpEventDetailPO::getStartTime)); + .in(RmpEventDetailPO::getMeasurementPointId, lineIds) + .ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime()))) + .le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime()))) + .orderByDesc(RmpEventDetailPO::getStartTime)); EventDetailNew eventDetailNew; for (RmpEventDetailPO eventDetail : eventDetails) { - eventDetailNew= BeanUtil.copyProperties(eventDetail,EventDetailNew.class); + eventDetailNew = BeanUtil.copyProperties(eventDetail, EventDetailNew.class); //监测点id eventDetailNew.setLineId(eventDetail.getMeasurementPointId()); //持续时间 eventDetailNew.setDuration(eventDetail.getDuration()); //特征幅值 eventDetailNew.setFeatureAmplitude(eventDetail.getFeatureAmplitude()); - if(lineMap.containsKey(eventDetail.getMeasurementPointId())){ + if (lineMap.containsKey(eventDetail.getMeasurementPointId())) { AreaLineInfoVO areaLineInfoVO = lineMap.get(eventDetail.getMeasurementPointId()); eventDetailNew.setLineName(areaLineInfoVO.getLineName()); eventDetailNew.setLng(areaLineInfoVO.getLng()); @@ -139,33 +130,33 @@ public class AreaInfoServiceImpl implements AreaInfoService { } @Override - public List getNoDealEventsByLineId(String id) { + public List getNoDealEventsByLineId(String id, String searchBeginTime, String searchEndTime) { List lineList = lineFeignClient.getBaseLineAreaInfo(Stream.of(id).collect(Collectors.toList())).getData(); List resList = new ArrayList<>(); //查询监测点未处理暂态事件 List eventDetails = eventDetailService.list(new LambdaQueryWrapper() - .eq(RmpEventDetailPO::getMeasurementPointId, id)); + .eq(RmpEventDetailPO::getMeasurementPointId, id) + .ge(StringUtils.isNotBlank(searchBeginTime), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(searchBeginTime))) + .le(StringUtils.isNotBlank(searchEndTime), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(searchEndTime))) + + ); EventDetailNew eventDetailNew; for (RmpEventDetailPO eventDetail : eventDetails) { - eventDetailNew= BeanUtil.copyProperties(eventDetail,EventDetailNew.class); + eventDetailNew = BeanUtil.copyProperties(eventDetail, EventDetailNew.class); //监测点id eventDetailNew.setLineId(eventDetail.getMeasurementPointId()); //持续时间 eventDetailNew.setDuration(eventDetail.getDuration()); //特征幅值 eventDetailNew.setFeatureAmplitude(eventDetail.getFeatureAmplitude()); - if(CollectionUtil.isNotEmpty(lineList)){ - resList = resList.stream().peek(item->{ - item.setGdName(lineList.get(0).getGdName()); - item.setSubName(lineList.get(0).getSubName()); - item.setLineName(lineList.get(0).getLineName()); - }).collect(Collectors.toList()); - resList.add(eventDetailNew); + if (CollectionUtil.isNotEmpty(lineList)) { + eventDetailNew.setGdName(lineList.get(0).getGdName()); + eventDetailNew.setSubName(lineList.get(0).getSubName()); + eventDetailNew.setLineName(lineList.get(0).getLineName()); } + resList.add(eventDetailNew); } - - return resList; }