二次版本提交

This commit is contained in:
hzj
2025-08-01 13:25:54 +08:00
parent ee96b8e56b
commit a2f7b1b9de
6 changed files with 77 additions and 2 deletions

View File

@@ -252,4 +252,14 @@ public class LargeScreenCountController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
} }
@OperateInfo(operateType= OperateType.UPDATE)
@PostMapping("/userEventList")
@ApiOperation("查询暂降事件")
@ApiImplicitParam(name = "eventIds", value = "暂降事件id", required = true)
public HttpResult<Page<EventDetailVO>> userEventList(@RequestBody LargeScreenCountParam largeScreenCountParam) {
String methodDescribe = getMethodDescribe("userEventList");
Page<EventDetailVO> result = largeScreenCountService.userEventList(largeScreenCountParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
} }

View File

@@ -7,6 +7,7 @@ import lombok.Data;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
/** /**
* Description: * Description:
@@ -41,4 +42,6 @@ public class LargeScreenCountParam extends BaseParam {
private String bigObjType; private String bigObjType;
@ApiModelProperty(value = "字典树 对象大小") @ApiModelProperty(value = "字典树 对象大小")
private String smallObjType; private String smallObjType;
private List<String> eventIds;
} }

View File

@@ -39,6 +39,7 @@ public class UserLedgerStatisticVO {
private String code; private String code;
private Integer count; private Integer count;
private List<String> eventList;
private List<Inner> children; private List<Inner> children;
} }

View File

@@ -60,4 +60,6 @@ public interface LargeScreenCountService {
Page<EventDetailVO> eventPage(LargeScreenCountParam largeScreenCountParam); Page<EventDetailVO> eventPage(LargeScreenCountParam largeScreenCountParam);
Page<DeviceDTO> devicePage(LargeScreenCountParam largeScreenCountParam); Page<DeviceDTO> devicePage(LargeScreenCountParam largeScreenCountParam);
Page<EventDetailVO> userEventList(LargeScreenCountParam largeScreenCountParam);
} }

View File

@@ -263,8 +263,9 @@ public class EventRightServiceImpl implements EventRightService {
inner.setCustomId(item.getId()); inner.setCustomId(item.getId());
inner.setName(item.getCustomerName()); inner.setName(item.getCustomerName());
List<Integer> LIds = assMap.get(item.getId()); List<Integer> LIds = assMap.get(item.getId());
long count = eventList.stream().filter(it->LIds.contains(it.getLineid())).count(); List<String> eventIds = eventList.stream().filter(it -> LIds.contains(it.getLineid())).map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList());
inner.setCount((int)count); inner.setEventList(eventIds);
inner.setCount(eventIds.size());
result.add(inner); result.add(inner);
}); });
return result; return result;

View File

@@ -1104,9 +1104,67 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
} }
} }
return pqsEventdetailPage; return pqsEventdetailPage;
} }
@Override
public Page<EventDetailVO> userEventList(LargeScreenCountParam largeScreenCountParam) {
Page<PqsEventdetail> pqsEventdetailPage = new Page<>(largeScreenCountParam.getPageNum(), largeScreenCountParam.getPageSize());
List<String> eventIds = largeScreenCountParam.getEventIds();
if (CollectionUtils.isEmpty(eventIds)){
return new Page<>();
}
QueryWrapper<PqsEventdetail> queryWrapper = new QueryWrapper<>();
if (eventIds.size()>1000) {
List<List<String>> idPartitions = CollUtil.split(eventIds,1000);
queryWrapper.lambda()
.and(ew->{
for(List<String> pList: idPartitions){
ew.or(w->w.in(PqsEventdetail::getEventdetailIndex, pList));
}
}).orderByDesc(PqsEventdetail::getTimeid);
} else {
queryWrapper.lambda()
.in(PqsEventdetail::getEventdetailIndex, eventIds)
.orderByDesc(PqsEventdetail::getTimeid);
}
IPage<PqsEventdetail> list = pqsEventdetailService.getBaseMapper().selectPage(pqsEventdetailPage,queryWrapper);
List<Integer> indexIds = list.getRecords().stream().map(PqsEventdetail::getLineid).collect(Collectors.toList());
List<LedgerBaseInfoDTO> pqLineList = pqLineService.getBaseLineInfo(indexIds);
Map<Integer,LedgerBaseInfoDTO> ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity()));
List<EventDetailVO> collect = list.getRecords().stream().map(temp -> {
EventDetailVO eventDetailVO = new EventDetailVO();
eventDetailVO.setEventdetail_index(temp.getEventdetailIndex());
eventDetailVO.setTimeid(temp.getTimeid());
eventDetailVO.setMs(temp.getMs());
eventDetailVO.setWavetype(temp.getWavetype().toString());
eventDetailVO.setPersisttime(BigDecimal.valueOf(temp.getPersisttime() / 1000).setScale(3, RoundingMode.HALF_UP).toString());
eventDetailVO.setEventvalue(temp.getEventvalue());
eventDetailVO.setLookFlag(temp.getLookFlag());
eventDetailVO.setNoticeFlag(temp.getNoticeFlag());
if(ledgerBaseInfoDTOMap.containsKey(temp.getLineid())){
LedgerBaseInfoDTO ledgerBaseInfoDTO = ledgerBaseInfoDTOMap.get(temp.getLineid());
eventDetailVO.setLineid(ledgerBaseInfoDTO.getLineId());
eventDetailVO.setPointname(ledgerBaseInfoDTO.getLineName());
eventDetailVO.setBdname(ledgerBaseInfoDTO.getStationName());
eventDetailVO.setObjName(ledgerBaseInfoDTO.getObjName());
}
return eventDetailVO;
}).collect(Collectors.toList());
Page<EventDetailVO> returnpage = new Page<>(largeScreenCountParam.getPageNum(), largeScreenCountParam.getPageSize());
returnpage.setRecords(collect);
returnpage.setTotal(list.getTotal());
return returnpage;
}
private List<EventDetailVO> change(List<PqsEventdetail> list,List<MsgEventInfo> handleMsg){ private List<EventDetailVO> change(List<PqsEventdetail> list,List<MsgEventInfo> handleMsg){
List<EventDetailVO> result = new ArrayList<>(); List<EventDetailVO> result = new ArrayList<>();
if(CollectionUtils.isEmpty(list)){ if(CollectionUtils.isEmpty(list)){