From a2f7b1b9de987178c19cf86cf38b87d629484d5d Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Fri, 1 Aug 2025 13:25:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=8C=E6=AC=A1=E7=89=88=E6=9C=AC=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LargeScreenCountController.java | 10 ++++ .../pojo/param/LargeScreenCountParam.java | 3 + .../pojo/vo/UserLedgerStatisticVO.java | 1 + .../service/LargeScreenCountService.java | 2 + .../service/impl/EventRightServiceImpl.java | 5 +- .../impl/LargeScreenCountServiceImpl.java | 58 +++++++++++++++++++ 6 files changed, 77 insertions(+), 2 deletions(-) diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/LargeScreenCountController.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/LargeScreenCountController.java index 457d705d..25476197 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/LargeScreenCountController.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/controller/LargeScreenCountController.java @@ -252,4 +252,14 @@ public class LargeScreenCountController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo(operateType= OperateType.UPDATE) + @PostMapping("/userEventList") + @ApiOperation("查询暂降事件") + @ApiImplicitParam(name = "eventIds", value = "暂降事件id", required = true) + public HttpResult> userEventList(@RequestBody LargeScreenCountParam largeScreenCountParam) { + String methodDescribe = getMethodDescribe("userEventList"); + Page result = largeScreenCountService.userEventList(largeScreenCountParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/LargeScreenCountParam.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/LargeScreenCountParam.java index 2b8243c7..dfbf9e5d 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/LargeScreenCountParam.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/param/LargeScreenCountParam.java @@ -7,6 +7,7 @@ import lombok.Data; import java.time.LocalDate; import java.time.LocalDateTime; +import java.util.List; /** * Description: @@ -41,4 +42,6 @@ public class LargeScreenCountParam extends BaseParam { private String bigObjType; @ApiModelProperty(value = "字典树 对象大小") private String smallObjType; + + private List eventIds; } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/UserLedgerStatisticVO.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/UserLedgerStatisticVO.java index 3d73a65b..1ecb7bf3 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/UserLedgerStatisticVO.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/UserLedgerStatisticVO.java @@ -39,6 +39,7 @@ public class UserLedgerStatisticVO { private String code; private Integer count; + private List eventList; private List children; } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/LargeScreenCountService.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/LargeScreenCountService.java index 55fee559..d99666a6 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/LargeScreenCountService.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/LargeScreenCountService.java @@ -60,4 +60,6 @@ public interface LargeScreenCountService { Page eventPage(LargeScreenCountParam largeScreenCountParam); Page devicePage(LargeScreenCountParam largeScreenCountParam); + + Page userEventList(LargeScreenCountParam largeScreenCountParam); } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/EventRightServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/EventRightServiceImpl.java index 4861ef45..4a474334 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/EventRightServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/EventRightServiceImpl.java @@ -263,8 +263,9 @@ public class EventRightServiceImpl implements EventRightService { inner.setCustomId(item.getId()); inner.setName(item.getCustomerName()); List LIds = assMap.get(item.getId()); - long count = eventList.stream().filter(it->LIds.contains(it.getLineid())).count(); - inner.setCount((int)count); + List eventIds = eventList.stream().filter(it -> LIds.contains(it.getLineid())).map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList()); + inner.setEventList(eventIds); + inner.setCount(eventIds.size()); result.add(inner); }); return result; diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java index 6e9d7409..d4e473e7 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/impl/LargeScreenCountServiceImpl.java @@ -1104,9 +1104,67 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { } } + return pqsEventdetailPage; } + @Override + public Page userEventList(LargeScreenCountParam largeScreenCountParam) { + Page pqsEventdetailPage = new Page<>(largeScreenCountParam.getPageNum(), largeScreenCountParam.getPageSize()); + + List eventIds = largeScreenCountParam.getEventIds(); + if (CollectionUtils.isEmpty(eventIds)){ + return new Page<>(); + } + + + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (eventIds.size()>1000) { + List> idPartitions = CollUtil.split(eventIds,1000); + + queryWrapper.lambda() + .and(ew->{ + for(List pList: idPartitions){ + ew.or(w->w.in(PqsEventdetail::getEventdetailIndex, pList)); + } + }).orderByDesc(PqsEventdetail::getTimeid); + + + } else { + queryWrapper.lambda() + .in(PqsEventdetail::getEventdetailIndex, eventIds) + .orderByDesc(PqsEventdetail::getTimeid); + } + IPage list = pqsEventdetailService.getBaseMapper().selectPage(pqsEventdetailPage,queryWrapper); + List indexIds = list.getRecords().stream().map(PqsEventdetail::getLineid).collect(Collectors.toList()); + List pqLineList = pqLineService.getBaseLineInfo(indexIds); + Map ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity())); + + List 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 returnpage = new Page<>(largeScreenCountParam.getPageNum(), largeScreenCountParam.getPageSize()); + returnpage.setRecords(collect); + returnpage.setTotal(list.getTotal()); + return returnpage; + } + private List change(List list,List handleMsg){ List result = new ArrayList<>(); if(CollectionUtils.isEmpty(list)){