高级算法模块代码调整

This commit is contained in:
2023-08-17 08:43:48 +08:00
parent f77e7f48ab
commit 2f40ff1879
5 changed files with 184 additions and 22 deletions

View File

@@ -45,6 +45,15 @@ public interface EventRelevantAnalysisService extends IService<RmpEventDetailPO>
*/
Page<AdvanceEventDetailVO> queryEventDetailByAssId(String assId,Integer pageNum,Integer pageSize);
Page<AdvanceEventDetailVO> queryEventByTimeRange(BaseParam baseParam);
List<AdvanceEventDetailVO> queryEventList(List<String> eventId);
boolean updateEventToAss(List<String> eventId,String assId);
boolean delEventToAss(List<String> eventId);
/**
*
* @author cdf

View File

@@ -3,9 +3,11 @@ package com.njcn.advance.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.date.TimeInterval;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -275,34 +277,32 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl<RmpEventAdvanc
List<LocalDateTime> timeV = PubUtils.checkLocalDate(baseParam.getSearchBeginTime(), baseParam.getSearchEndTime());
LambdaQueryWrapper<RmpEventDetailAssPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.between(RmpEventDetailAssPO::getTimeId, timeV.get(0), timeV.get(1))
.orderByAsc(RmpEventDetailAssPO::getTimeId);
.orderByAsc(RmpEventDetailAssPO::getTimeId);
Page<RmpEventDetailAssPO> page = rmpEventDetailAssMapper.selectPage(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper);
return page;
}
@Override
public Page<AdvanceEventDetailVO> queryEventDetailByAssId(String assId,Integer pageNum,Integer pageSize) {
Page<AdvanceEventDetailVO> pageResult = new Page<>(pageNum,pageSize);
public Page<AdvanceEventDetailVO> queryEventDetailByAssId(String assId, Integer pageNum, Integer pageSize) {
Page<AdvanceEventDetailVO> pageResult = new Page<>(pageNum, pageSize);
LambdaQueryWrapper<RmpEventDetailPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(RmpEventDetailPO::getEventassIndex,assId)
lambdaQueryWrapper.eq(RmpEventDetailPO::getEventassIndex, assId)
.orderByAsc(RmpEventDetailPO::getStartTime);
Page<RmpEventDetailPO> page = eventAdvanceMapper.selectPage(new Page<>(pageNum,pageSize),lambdaQueryWrapper);
Page<RmpEventDetailPO> page = eventAdvanceMapper.selectPage(new Page<>(pageNum, pageSize), lambdaQueryWrapper);
List<RmpEventDetailPO> pos = page.getRecords();
if(CollectionUtil.isEmpty(pos)){
if (CollectionUtil.isEmpty(pos)) {
return pageResult;
}
List<String> lineIds = pos.stream().map(RmpEventDetailPO::getMeasurementPointId).distinct().collect(Collectors.toList());
List<AreaLineInfoVO> lineAres = lineFeignClient.getBaseLineAreaInfo(lineIds).getData();
Map<String, AreaLineInfoVO> map = lineAres.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId,Function.identity()));
Map<String, AreaLineInfoVO> map = lineAres.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity()));
List<AdvanceEventDetailVO> advanceEventDetailVOList = BeanUtil.copyToList(pos,AdvanceEventDetailVO.class);
advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item->{
if(map.containsKey(item.getMeasurementPointId())){
List<AdvanceEventDetailVO> advanceEventDetailVOList = BeanUtil.copyToList(pos, AdvanceEventDetailVO.class);
advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item -> {
if (map.containsKey(item.getMeasurementPointId())) {
AreaLineInfoVO areaLineInfoVO = map.get(item.getMeasurementPointId());
item.setGdName(areaLineInfoVO.getGdName());
item.setSubName(areaLineInfoVO.getSubName());
@@ -315,6 +315,91 @@ public class EventRelevantAnalysisServiceImpl extends ServiceImpl<RmpEventAdvanc
return pageResult;
}
@Override
public Page<AdvanceEventDetailVO> queryEventByTimeRange(BaseParam baseParam) {
Page<AdvanceEventDetailVO> page = new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam));
PubUtils.checkDateTime(baseParam.getSearchBeginTime());
PubUtils.checkDateTime(baseParam.getSearchEndTime());
LambdaQueryWrapper<RmpEventDetailPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.and(item -> item.eq(RmpEventDetailPO::getEventassIndex, "")
.or().isNull(RmpEventDetailPO::getEventassIndex)).between(RmpEventDetailPO::getStartTime, baseParam.getSearchBeginTime(), baseParam.getSearchEndTime());
Page<RmpEventDetailPO> poPage = eventAdvanceMapper.selectPage(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper);
List<RmpEventDetailPO> detailPOList = poPage.getRecords();
if (CollectionUtil.isEmpty(detailPOList)) {
return page;
}
List<String> lineIds = detailPOList.stream().map(RmpEventDetailPO::getMeasurementPointId).distinct().collect(Collectors.toList());
List<AreaLineInfoVO> lineAres = lineFeignClient.getBaseLineAreaInfo(lineIds).getData();
Map<String, AreaLineInfoVO> map = lineAres.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity()));
List<AdvanceEventDetailVO> aList = BeanUtil.copyToList(detailPOList, AdvanceEventDetailVO.class);
aList = aList.stream().peek(item -> {
if (map.containsKey(item.getMeasurementPointId())) {
AreaLineInfoVO areaLineInfoVO = map.get(item.getMeasurementPointId());
item.setGdName(areaLineInfoVO.getGdName());
item.setSubName(areaLineInfoVO.getSubName());
item.setLineName(areaLineInfoVO.getLineName());
item.setVoltageId(areaLineInfoVO.getVoltageScale());
}
}).collect(Collectors.toList());
page.setRecords(aList);
page.setTotal(poPage.getTotal());
return page;
}
@Override
public List<AdvanceEventDetailVO> queryEventList(List<String> eventId) {
LambdaQueryWrapper<RmpEventDetailPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(RmpEventDetailPO::getEventId,eventId);
List<RmpEventDetailPO> rmpEventDetailPOList = eventAdvanceMapper.selectList(lambdaQueryWrapper);
if (CollectionUtil.isEmpty(rmpEventDetailPOList)) {
throw new BusinessException(AdvanceResponseEnum.EVENT_EMPTY);
}
List<String> tempLineIds = rmpEventDetailPOList.stream().map(RmpEventDetailPO::getLineId).distinct().collect(Collectors.toList());
List<AreaLineInfoVO> temLine = lineFeignClient.getBaseLineAreaInfo(tempLineIds).getData();
Map<String, AreaLineInfoVO> map = temLine.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity()));
List<AdvanceEventDetailVO> advanceEventDetailVOList = BeanUtil.copyToList(rmpEventDetailPOList, AdvanceEventDetailVO.class);
advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item -> {
if (map.containsKey(item.getLineId())) {
AreaLineInfoVO areaLineInfoVO = map.get(item.getLineId());
item.setGdName(areaLineInfoVO.getGdName());
item.setSubName(areaLineInfoVO.getSubName());
item.setNum(areaLineInfoVO.getNum());
item.setLineName(areaLineInfoVO.getLineName());
item.setVoltageId(areaLineInfoVO.getVoltageScale());
}
}).collect(Collectors.toList());
return advanceEventDetailVOList;
}
@Override
public boolean updateEventToAss(List<String> eventId, String assId) {
LambdaUpdateWrapper<RmpEventDetailPO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.and(item -> item.eq(RmpEventDetailPO::getEventassIndex, "").or().isNotNull(RmpEventDetailPO::getEventassIndex))
.in(RmpEventDetailPO::getEventId, eventId);
RmpEventDetailPO rmpEventDetailPO = new RmpEventDetailPO();
rmpEventDetailPO.setEventassIndex(assId);
eventAdvanceMapper.update(rmpEventDetailPO, lambdaUpdateWrapper);
return true;
}
@Override
public boolean delEventToAss(List<String> eventId) {
LambdaUpdateWrapper<RmpEventDetailPO> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.in(RmpEventDetailPO::getEventId, eventId);
RmpEventDetailPO rmpEventDetailPO = new RmpEventDetailPO();
rmpEventDetailPO.setEventassIndex("");
eventAdvanceMapper.update(rmpEventDetailPO, lambdaUpdateWrapper);
return true;
}
@Override
public Page<PqsRelevanceLog> queryRelevantLogPage(BaseParam baseParam) {
LambdaQueryWrapper<PqsRelevanceLog> logLambdaQueryWrapper = new LambdaQueryWrapper<>();