暂态事件列表查询

This commit is contained in:
zhuxinyu
2023-04-27 19:09:33 +08:00
parent ea2e7d02b2
commit 220ac02c65
3 changed files with 107 additions and 96 deletions

View File

@@ -73,6 +73,5 @@ public interface PwRmpEventDetailMapper extends BaseMapper<RmpEventDetailPO> {
@Param("persistMax") Integer persistMax, @Param("persistMax") Integer persistMax,
@Param("severityMin") BigDecimal severityMin, @Param("severityMin") BigDecimal severityMin,
@Param("severityMax") BigDecimal severityMax, @Param("severityMax") BigDecimal severityMax,
@Param("fileFlag") Integer fileFlag, @Param("fileFlag") Integer fileFlag);
@Param("searchValue") String searchValue);
} }

View File

@@ -1490,7 +1490,6 @@ public class EventAnalysisServiceImpl implements EventAnalysisService {
public Page<WaveTypeVO> getMonitorEventAnalyseQuery(EventBaseParam eventBaseParam) { public Page<WaveTypeVO> getMonitorEventAnalyseQuery(EventBaseParam eventBaseParam) {
List<DictData> eventReasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData(); List<DictData> eventReasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData();
List<DictData> eventTypeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData(); List<DictData> eventTypeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData();
//数据暂降查询 //数据暂降查询
Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(eventBaseParam.getPageNum(), eventBaseParam.getPageSize()), new LambdaQueryWrapper<RmpEventDetailPO>() Page<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(eventBaseParam.getPageNum(), eventBaseParam.getPageSize()), new LambdaQueryWrapper<RmpEventDetailPO>()
.eq(RmpEventDetailPO::getMeasurementPointId, eventBaseParam.getLineId()) .eq(RmpEventDetailPO::getMeasurementPointId, eventBaseParam.getLineId())
@@ -1500,11 +1499,10 @@ public class EventAnalysisServiceImpl implements EventAnalysisService {
); );
//获取关于监测点发电站相关信息 //获取关于监测点发电站相关信息
List<AreaLineInfoVO> areaLineList = lineFeignClient.getBaseLineAreaInfo(Arrays.asList(eventBaseParam.getLineId())).getData(); List<AreaLineInfoVO> areaLineList = lineFeignClient.getBaseLineAreaInfo(Arrays.asList(eventBaseParam.getLineId())).getData();
if(CollectionUtil.isEmpty(areaLineList)){ if(CollectionUtil.isEmpty(areaLineList)) {
throw new BusinessException(EventResponseEnum.NOT_FOUND); throw new BusinessException(EventResponseEnum.NOT_FOUND);
} }
List<WaveTypeVO> waveTypeVOS = new ArrayList<>(); List<WaveTypeVO> waveTypeVOS = new ArrayList<>();
List<RmpEventDetailPO> records = pageInfo.getRecords(); List<RmpEventDetailPO> records = pageInfo.getRecords();
WaveTypeVO waveTypeVO; WaveTypeVO waveTypeVO;
//将监测点发电机相关信息copy到准备好的VO对象中 //将监测点发电机相关信息copy到准备好的VO对象中

View File

@@ -305,98 +305,99 @@ public class TransientServiceImpl implements TransientService {
} }
// 获取按终端分类的监测点索引集合 // 获取按终端分类的监测点索引集合
List<String> lineList = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList()); List<String> lineList = generalDeviceDTOList.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
if (CollUtil.isNotEmpty(lineList)) { List<AreaLineInfoVO> lineInfoVOList = lineFeignClient.getBaseLineAreaInfo(lineList).getData();
page = pwRmpEventDetailMapper.selectByIdAndValue( List<AreaLineInfoVO> filteredLines = lineInfoVOList.stream().filter(item -> filterSearchValue(item, transientParam.getSearchValue())).collect(Collectors.toList());
page, List<String> lines = filteredLines.stream().map(AreaLineInfoVO::getLineId).collect(Collectors.toList());
lineList, if (CollUtil.isNotEmpty(lines)) {
DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime())), // page = pwRmpEventDetailMapper.selectByIdAndValue(
DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime())), // page,
transientParam.getWaveType(), // lines,
transientParam.getEventReason(), // DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime())),
transientParam.getEventType(), // DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime())),
transientParam.getEventValueMin(), // transientParam.getWaveType(),
transientParam.getEventValueMax(), // transientParam.getEventReason(),
transientParam.getPersistMin(), // transientParam.getEventType(),
transientParam.getPersistMax(), // transientParam.getEventValueMin(),
transientParam.getSeverityMin(), // transientParam.getEventValueMax(),
transientParam.getSeverityMax(), // transientParam.getPersistMin(),
transientParam.getFileFlag(), // transientParam.getPersistMax(),
transientParam.getSearchValue() // transientParam.getSeverityMin(),
); // transientParam.getSeverityMax(),
// transientParam.getFileFlag()
// );
LambdaQueryWrapper<RmpEventDetailPO> wrapper = new LambdaQueryWrapper<RmpEventDetailPO>()
.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<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper);
Page<RmpEventDetailPO> pageInfo = pwRmpEventDetailMapper.selectPage(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()), wrapper);
List<EventDetailNew> eventDetailData=BeanUtil.copyToList(pageInfo.getRecords(),EventDetailNew.class);
page= BeanUtil.copyProperties(pageInfo,Page.class);
if (CollUtil.isNotEmpty(eventDetailData)) {
List<String> lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).distinct().collect(Collectors.toList());
List<AreaLineInfoVO> r = lineFeignClient.getBaseLineAreaInfo(lineIds).getData();
List<DictData> reasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData();
List<DictData> 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<RmpEventDetailPO> wrapper = new LambdaQueryWrapper<RmpEventDetailPO>() if(StrUtil.isNotBlank(eventDetail.getAdvanceReason())) {
// .in(RmpEventDetailPO::getMeasurementPointId, lineList) for (DictData dictData : reasonList) {
// .ge(StringUtils.isNotBlank(transientParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime()))) if (eventDetail.getAdvanceReason().equals(dictData.getId())) {
// .le(StringUtils.isNotBlank(transientParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))) eventDetail.setAdvanceReason(dictData.getName());
// // 事件 break;
// .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(StrUtil.isNotBlank(eventDetail.getAdvanceType())) {
// if (Objects.nonNull(transientParam.getEventValueMin())) { for (DictData dictData : typeList) {
// wrapper.ge(RmpEventDetailPO::getFeatureAmplitude, transientParam.getEventValueMin().divide(new BigDecimal(100), 2, BigDecimal.ROUND_UP)); if (eventDetail.getAdvanceType().equals(dictData.getId())) {
// } eventDetail.setAdvanceType(dictData.getName());
// if (Objects.nonNull(transientParam.getEventValueMax())) { break;
// 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()); }
// } //当前页数据
// //严重度 page.setRecords(eventDetailData);
// 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<RmpEventDetailPO> pageInfo = eventDetailService.page(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()),wrapper);
// Page<RmpEventDetailPO> pageInfo = pwRmpEventDetailMapper.selectPage(new Page<>(transientParam.getPageNum(), transientParam.getPageSize()), wrapper);
// List<EventDetailNew> eventDetailData=BeanUtil.copyToList(pageInfo.getRecords(),EventDetailNew.class);
// page= BeanUtil.copyProperties(pageInfo,Page.class);
// if (CollUtil.isNotEmpty(eventDetailData)) {
// List<String> lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).distinct().collect(Collectors.toList());
// List<AreaLineInfoVO> r = lineFeignClient.getBaseLineAreaInfo(lineIds).getData();
// List<DictData> reasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData();
// List<DictData> 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);
// }
} }
@@ -404,6 +405,19 @@ public class TransientServiceImpl implements TransientService {
return page; 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;
}
/** /**