diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java index c161a1daf..2b0264eba 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/PwRmpEventDetailMapper.java @@ -73,6 +73,5 @@ public interface PwRmpEventDetailMapper extends BaseMapper { @Param("persistMax") Integer persistMax, @Param("severityMin") BigDecimal severityMin, @Param("severityMax") BigDecimal severityMax, - @Param("fileFlag") Integer fileFlag, - @Param("searchValue") String searchValue); + @Param("fileFlag") Integer fileFlag); } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventAnalysisServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventAnalysisServiceImpl.java index 229938873..1de54b84e 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventAnalysisServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventAnalysisServiceImpl.java @@ -1490,7 +1490,6 @@ public class EventAnalysisServiceImpl implements EventAnalysisService { public Page getMonitorEventAnalyseQuery(EventBaseParam eventBaseParam) { List eventReasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData(); List eventTypeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData(); - //数据暂降查询 Page pageInfo = eventDetailService.page(new Page<>(eventBaseParam.getPageNum(), eventBaseParam.getPageSize()), new LambdaQueryWrapper() .eq(RmpEventDetailPO::getMeasurementPointId, eventBaseParam.getLineId()) @@ -1500,11 +1499,10 @@ public class EventAnalysisServiceImpl implements EventAnalysisService { ); //获取关于监测点发电站相关信息 List areaLineList = lineFeignClient.getBaseLineAreaInfo(Arrays.asList(eventBaseParam.getLineId())).getData(); - if(CollectionUtil.isEmpty(areaLineList)){ + if(CollectionUtil.isEmpty(areaLineList)) { throw new BusinessException(EventResponseEnum.NOT_FOUND); } List waveTypeVOS = new ArrayList<>(); - List records = pageInfo.getRecords(); WaveTypeVO waveTypeVO; //将监测点发电机相关信息copy到准备好的VO对象中 diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java index eab4b6712..a382dac46 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java @@ -305,98 +305,99 @@ public class TransientServiceImpl implements TransientService { } // 获取按终端分类的监测点索引集合 List lineList = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); - if (CollUtil.isNotEmpty(lineList)) { - page = pwRmpEventDetailMapper.selectByIdAndValue( - page, - lineList, - DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime())), - DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime())), - transientParam.getWaveType(), - transientParam.getEventReason(), - transientParam.getEventType(), - transientParam.getEventValueMin(), - transientParam.getEventValueMax(), - transientParam.getPersistMin(), - transientParam.getPersistMax(), - transientParam.getSeverityMin(), - transientParam.getSeverityMax(), - transientParam.getFileFlag(), - transientParam.getSearchValue() - ); + List lineInfoVOList = lineFeignClient.getBaseLineAreaInfo(lineList).getData(); + List filteredLines = lineInfoVOList.stream().filter(item -> filterSearchValue(item, transientParam.getSearchValue())).collect(Collectors.toList()); + List lines = filteredLines.stream().map(AreaLineInfoVO::getLineId).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(lines)) { +// page = pwRmpEventDetailMapper.selectByIdAndValue( +// page, +// lines, +// DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime())), +// DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime())), +// transientParam.getWaveType(), +// transientParam.getEventReason(), +// transientParam.getEventType(), +// transientParam.getEventValueMin(), +// transientParam.getEventValueMax(), +// transientParam.getPersistMin(), +// transientParam.getPersistMax(), +// transientParam.getSeverityMin(), +// transientParam.getSeverityMax(), +// transientParam.getFileFlag() +// ); + LambdaQueryWrapper wrapper = new LambdaQueryWrapper() + .in(RmpEventDetailPO::getMeasurementPointId, lines) + .ge(StringUtils.isNotBlank(transientParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime()))) + .le(StringUtils.isNotBlank(transientParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))) + // 事件 + .in(CollUtil.isNotEmpty(transientParam.getWaveType()), RmpEventDetailPO::getEventType, transientParam.getWaveType()) + .in(CollUtil.isNotEmpty(transientParam.getEventReason()), RmpEventDetailPO::getAdvanceReason, transientParam.getEventReason()) + .in(CollUtil.isNotEmpty(transientParam.getEventType()), RmpEventDetailPO::getAdvanceType, transientParam.getEventType()) + .orderByDesc(RmpEventDetailPO::getStartTime); + //暂态幅值 + if (Objects.nonNull(transientParam.getEventValueMin())) { + wrapper.ge(RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMin().divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP)); + } + if (Objects.nonNull(transientParam.getEventValueMax())) { + wrapper.le(RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMax().divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP)); + } + if (Objects.nonNull(transientParam.getPersistMin()) && Objects.nonNull(transientParam.getSeverityMax())) { + wrapper.ge(RmpEventDetailPO::getDuration, transientParam.getPersistMin()).le(RmpEventDetailPO::getDuration, transientParam.getPersistMax()); + } + //严重度 + if (Objects.nonNull(transientParam.getSeverityMin()) && Objects.nonNull(transientParam.getSeverityMax())) { + wrapper.ge(RmpEventDetailPO::getSeverity, transientParam.getSeverityMin()).le(Objects.nonNull(transientParam.getSeverityMax()), RmpEventDetailPO::getSeverity, transientParam.getSeverityMax()); + } + //波形文件 + if (Objects.nonNull(transientParam.getFileFlag())) { + wrapper.eq(Objects.nonNull(transientParam.getFileFlag()), RmpEventDetailPO::getFileFlag, transientParam.getFileFlag()); + } + // Page pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper); + Page pageInfo = pwRmpEventDetailMapper.selectPage(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()), wrapper); + List eventDetailData=BeanUtil.copyToList(pageInfo.getRecords(),EventDetailNew.class); + page= BeanUtil.copyProperties(pageInfo,Page.class); + if (CollUtil.isNotEmpty(eventDetailData)) { + List lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).distinct().collect(Collectors.toList()); + List r = lineFeignClient.getBaseLineAreaInfo(lineIds).getData(); + List reasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData(); + List typeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData(); + for (EventDetailNew eventDetail : eventDetailData) { + DecimalFormat df = new DecimalFormat("#0.000"); + eventDetail.setSeverity(Double.parseDouble(df.format(eventDetail.getSeverity()))); + for (AreaLineInfoVO areaLineInfoVO : r) { + if (eventDetail.getLineId().equals(areaLineInfoVO.getLineId())) { + eventDetail.setLineId(areaLineInfoVO.getLineId()); + eventDetail.setLineName(areaLineInfoVO.getLineName()); + eventDetail.setGdName(areaLineInfoVO.getGdName()); + eventDetail.setSubName(areaLineInfoVO.getSubName()); + eventDetail.setIp(areaLineInfoVO.getIp()); + eventDetail.setScale(areaLineInfoVO.getVoltageScale()); + eventDetail.setIp(areaLineInfoVO.getIp()); + break; + } + } -// LambdaQueryWrapper wrapper = new LambdaQueryWrapper() -// .in(RmpEventDetailPO::getMeasurementPointId, lineList) -// .ge(StringUtils.isNotBlank(transientParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime()))) -// .le(StringUtils.isNotBlank(transientParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))) -// // 事件 -// .in(CollUtil.isNotEmpty(transientParam.getWaveType()), RmpEventDetailPO::getEventType, transientParam.getWaveType()) -// .in(CollUtil.isNotEmpty(transientParam.getEventReason()), RmpEventDetailPO::getAdvanceReason, transientParam.getEventReason()) -// .in(CollUtil.isNotEmpty(transientParam.getEventType()), RmpEventDetailPO::getAdvanceType, transientParam.getEventType()) -// .orderByDesc(RmpEventDetailPO::getStartTime); -// //暂态幅值 -// if (Objects.nonNull(transientParam.getEventValueMin())) { -// wrapper.ge(RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMin().divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP)); -// } -// if (Objects.nonNull(transientParam.getEventValueMax())) { -// wrapper.le(RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMax().divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP)); -// } -// if (Objects.nonNull(transientParam.getPersistMin()) && Objects.nonNull(transientParam.getSeverityMax())) { -// wrapper.ge(RmpEventDetailPO::getDuration, transientParam.getPersistMin()).le(RmpEventDetailPO::getDuration, transientParam.getPersistMax()); -// } -// //严重度 -// if (Objects.nonNull(transientParam.getSeverityMin()) && Objects.nonNull(transientParam.getSeverityMax())) { -// wrapper.ge(RmpEventDetailPO::getSeverity, transientParam.getSeverityMin()).le(Objects.nonNull(transientParam.getSeverityMax()), RmpEventDetailPO::getSeverity, transientParam.getSeverityMax()); -// } -// //波形文件 -// if (Objects.nonNull(transientParam.getFileFlag())) { -// wrapper.eq(Objects.nonNull(transientParam.getFileFlag()), RmpEventDetailPO::getFileFlag, transientParam.getFileFlag()); -// } -// // Page pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper); -// Page pageInfo = pwRmpEventDetailMapper.selectPage(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()), wrapper); -// List eventDetailData=BeanUtil.copyToList(pageInfo.getRecords(),EventDetailNew.class); -// page= BeanUtil.copyProperties(pageInfo,Page.class); -// if (CollUtil.isNotEmpty(eventDetailData)) { -// List lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).distinct().collect(Collectors.toList()); -// List r = lineFeignClient.getBaseLineAreaInfo(lineIds).getData(); -// List reasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData(); -// List typeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData(); -// for (EventDetailNew eventDetail : eventDetailData) { -// DecimalFormat df = new DecimalFormat("#0.000"); -// eventDetail.setSeverity(Double.parseDouble(df.format(eventDetail.getSeverity()))); -// for (AreaLineInfoVO areaLineInfoVO : r) { -// if (eventDetail.getLineId().equals(areaLineInfoVO.getLineId())) { -// eventDetail.setLineId(areaLineInfoVO.getLineId()); -// eventDetail.setLineName(areaLineInfoVO.getLineName()); -// eventDetail.setGdName(areaLineInfoVO.getGdName()); -// eventDetail.setSubName(areaLineInfoVO.getSubName()); -// eventDetail.setIp(areaLineInfoVO.getIp()); -// eventDetail.setScale(areaLineInfoVO.getVoltageScale()); -// eventDetail.setIp(areaLineInfoVO.getIp()); -// break; -// } -// } -// -// if(StrUtil.isNotBlank(eventDetail.getAdvanceReason())) { -// for (DictData dictData : reasonList) { -// if (eventDetail.getAdvanceReason().equals(dictData.getId())) { -// eventDetail.setAdvanceReason(dictData.getName()); -// break; -// } -// } -// } -// -// if(StrUtil.isNotBlank(eventDetail.getAdvanceType())) { -// for (DictData dictData : typeList) { -// if (eventDetail.getAdvanceType().equals(dictData.getId())) { -// eventDetail.setAdvanceType(dictData.getName()); -// break; -// } -// } -// } -// } -// //当前页数据 -// page.setRecords(eventDetailData); -// } + if(StrUtil.isNotBlank(eventDetail.getAdvanceReason())) { + for (DictData dictData : reasonList) { + if (eventDetail.getAdvanceReason().equals(dictData.getId())) { + eventDetail.setAdvanceReason(dictData.getName()); + break; + } + } + } + + if(StrUtil.isNotBlank(eventDetail.getAdvanceType())) { + for (DictData dictData : typeList) { + if (eventDetail.getAdvanceType().equals(dictData.getId())) { + eventDetail.setAdvanceType(dictData.getName()); + break; + } + } + } + } + //当前页数据 + page.setRecords(eventDetailData); + } } @@ -404,6 +405,19 @@ public class TransientServiceImpl implements TransientService { return page; } + private boolean filterSearchValue(AreaLineInfoVO item, String searchValue) { + if (StringUtils.isBlank(searchValue)) { + return true; + } else { + if (StringUtils.contains(item.getGdName(),searchValue) + ||StringUtils.contains(item.getSubName(),searchValue) + ||StringUtils.contains(item.getIp(),searchValue) + ||StringUtils.contains(item.getLineName(),searchValue) + ||StringUtils.contains(item.getVoltageScale(),searchValue)) + return true; + } + return false; + } /**