|
|
|
|
@@ -470,7 +470,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|
|
|
|
.and(wrapper -> wrapper.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag));
|
|
|
|
|
if (Objects.nonNull(largeScreenCountParam.getEventDeep())) {
|
|
|
|
|
if (largeScreenCountParam.getEventDeep() == 0) {
|
|
|
|
|
lambdaQueryWrapper.ge(PqsEventdetail::getEventvalue, 0.5).lt(PqsEventdetail::getEventtype, 0.9);
|
|
|
|
|
lambdaQueryWrapper.ge(PqsEventdetail::getEventvalue, 0.5).lt(PqsEventdetail::getEventvalue, 0.9);
|
|
|
|
|
} else if (largeScreenCountParam.getEventDeep() == 1) {
|
|
|
|
|
lambdaQueryWrapper.lt(PqsEventdetail::getEventvalue, 0.5);
|
|
|
|
|
}
|
|
|
|
|
@@ -485,7 +485,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|
|
|
|
.and(wrapper -> wrapper.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag));
|
|
|
|
|
if (Objects.nonNull(largeScreenCountParam.getEventDeep())) {
|
|
|
|
|
if (largeScreenCountParam.getEventDeep() == 0) {
|
|
|
|
|
lambdaQueryWrapper.ge(PqsEventdetail::getEventvalue, 0.5).lt(PqsEventdetail::getEventtype, 0.9);
|
|
|
|
|
lambdaQueryWrapper.ge(PqsEventdetail::getEventvalue, 0.5).lt(PqsEventdetail::getEventvalue, 0.9);
|
|
|
|
|
} else if (largeScreenCountParam.getEventDeep() == 1) {
|
|
|
|
|
lambdaQueryWrapper.lt(PqsEventdetail::getEventvalue, 0.5);
|
|
|
|
|
}
|
|
|
|
|
@@ -782,6 +782,88 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|
|
|
|
return alarmAnalysisVO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Page<EventDetailVO> eventTablePage(LargeScreenCountParam largeScreenCountParam) {
|
|
|
|
|
Page<EventDetailVO> result = new Page<>(PageFactory.getPageNum(largeScreenCountParam),PageFactory.getPageSize(largeScreenCountParam));
|
|
|
|
|
//起始时间
|
|
|
|
|
LocalDateTime startTime;
|
|
|
|
|
//结束时间
|
|
|
|
|
LocalDateTime endTime;
|
|
|
|
|
if (largeScreenCountParam.getType() == 3) {
|
|
|
|
|
//起始时间
|
|
|
|
|
startTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.beginOfMonth(new Date()), DatePattern.NORM_DATETIME_FORMATTER), DatePattern.NORM_DATETIME_FORMATTER);
|
|
|
|
|
//结束时间
|
|
|
|
|
endTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.endOfMonth(new Date()), DatePattern.NORM_DATETIME_FORMATTER), DatePattern.NORM_DATETIME_FORMATTER);
|
|
|
|
|
} else if (largeScreenCountParam.getType() == 4) {
|
|
|
|
|
//起始时间
|
|
|
|
|
startTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.beginOfWeek(new Date()), DatePattern.NORM_DATETIME_FORMATTER), DatePattern.NORM_DATETIME_FORMATTER);
|
|
|
|
|
//结束时间
|
|
|
|
|
endTime = LocalDateTimeUtil.parse(DateUtil.format(DateUtil.endOfWeek(new Date()), DatePattern.NORM_DATETIME_FORMATTER), DatePattern.NORM_DATETIME_FORMATTER);
|
|
|
|
|
} else {
|
|
|
|
|
throw new BusinessException("统计类型有误类型");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Integer> lineIds = commGeneralService.getLineIdsByDept(largeScreenCountParam);
|
|
|
|
|
if (CollectionUtils.isEmpty(lineIds)) {
|
|
|
|
|
throw new BusinessException("部门下暂无监测点");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<String> eventType = msgEventConfigService.getEventType();
|
|
|
|
|
LambdaQueryWrapper<PqsEventdetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
lambdaQueryWrapper
|
|
|
|
|
.between(PqsEventdetail::getTimeid,startTime, endTime)
|
|
|
|
|
.in(PqsEventdetail::getWavetype,eventType)
|
|
|
|
|
.orderByDesc(PqsEventdetail::getTimeid);
|
|
|
|
|
if(Objects.nonNull(largeScreenCountParam.getEventDeep())){
|
|
|
|
|
if (largeScreenCountParam.getEventDeep() == 0) {
|
|
|
|
|
lambdaQueryWrapper.ge(PqsEventdetail::getEventvalue, 0.5).lt(PqsEventdetail::getEventvalue, 0.9);
|
|
|
|
|
} else if (largeScreenCountParam.getEventDeep() == 1) {
|
|
|
|
|
lambdaQueryWrapper.lt(PqsEventdetail::getEventvalue, 0.5);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if(lineIds.size()>1000){
|
|
|
|
|
List<List<Integer>> splitList = CollUtil.split(lineIds,1000);
|
|
|
|
|
lambdaQueryWrapper.and(ew->{
|
|
|
|
|
for (int i = 0; i < splitList.size(); i++) {
|
|
|
|
|
List<Integer> batch = splitList.get(i);
|
|
|
|
|
if (i == 0) {
|
|
|
|
|
ew.in(PqsEventdetail::getLineid, batch); // 第一个条件不加 or
|
|
|
|
|
} else {
|
|
|
|
|
ew.or().in(PqsEventdetail::getLineid, batch); // 后续条件加 or
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}else {
|
|
|
|
|
lambdaQueryWrapper.in(PqsEventdetail::getLineid, lineIds);
|
|
|
|
|
}
|
|
|
|
|
Page<PqsEventdetail> page = pqsEventdetailService.page(new Page<>(PageFactory.getPageNum(largeScreenCountParam),PageFactory.getPageSize(largeScreenCountParam)),lambdaQueryWrapper);
|
|
|
|
|
result.setTotal(page.getTotal());
|
|
|
|
|
if(CollUtil.isEmpty(page.getRecords())){
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
List<Integer> ids = page.getRecords().stream().map(PqsEventdetail::getLineid).distinct().collect(Collectors.toList());
|
|
|
|
|
List<LedgerBaseInfoDTO> pqLineList = pqLineService.getBaseLineInfo(ids);
|
|
|
|
|
Map<Integer,LedgerBaseInfoDTO> ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity()));
|
|
|
|
|
|
|
|
|
|
List<EventDetailVO> resultList = new ArrayList<>();
|
|
|
|
|
for(PqsEventdetail pqsEventdetail : page.getRecords()){
|
|
|
|
|
EventDetailVO eventDetailVO = new EventDetailVO();
|
|
|
|
|
BeanUtil.copyProperties(pqsEventdetail,eventDetailVO);
|
|
|
|
|
if(ledgerBaseInfoDTOMap.containsKey(pqsEventdetail.getLineid())){
|
|
|
|
|
LedgerBaseInfoDTO ledgerBaseInfoDTO = ledgerBaseInfoDTOMap.get(pqsEventdetail.getLineid());
|
|
|
|
|
eventDetailVO.setLineid(ledgerBaseInfoDTO.getLineId());
|
|
|
|
|
eventDetailVO.setPointname(ledgerBaseInfoDTO.getLineName());
|
|
|
|
|
eventDetailVO.setBdname(ledgerBaseInfoDTO.getStationName());
|
|
|
|
|
eventDetailVO.setObjName(ledgerBaseInfoDTO.getObjName());
|
|
|
|
|
}
|
|
|
|
|
resultList.add(eventDetailVO);
|
|
|
|
|
}
|
|
|
|
|
result.setRecords(resultList);
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private List<EventDetailVO> change(List<PqsEventdetail> list,List<MsgEventInfo> handleMsg){
|
|
|
|
|
List<EventDetailVO> result = new ArrayList<>();
|
|
|
|
|
if(CollectionUtils.isEmpty(list)){
|
|
|
|
|
|