From 3ecffc99b8fadec894d3088c08c2857fc8fd49f3 Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Wed, 2 Jul 2025 09:36:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=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 --- .../event/devcie/service/PqLineService.java | 3 ++- .../service/impl/PqLineServiceImpl.java | 22 +++++++++++++++--- .../transientes/pojo/po/PqsEventdetail.java | 4 +++- .../transientes/pojo/vo/EventDetailVO.java | 4 +++- .../impl/LargeScreenCountServiceImpl.java | 23 ++++++++++++------- 5 files changed, 42 insertions(+), 14 deletions(-) diff --git a/event_smart/src/main/java/com/njcn/gather/event/devcie/service/PqLineService.java b/event_smart/src/main/java/com/njcn/gather/event/devcie/service/PqLineService.java index db782c7f..20eb92fd 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/devcie/service/PqLineService.java +++ b/event_smart/src/main/java/com/njcn/gather/event/devcie/service/PqLineService.java @@ -17,5 +17,6 @@ import java.util.List; */ public interface PqLineService extends IService{ - List queryListByIds(List lineIds); + + List getBaseLineInfo(List ids); } diff --git a/event_smart/src/main/java/com/njcn/gather/event/devcie/service/impl/PqLineServiceImpl.java b/event_smart/src/main/java/com/njcn/gather/event/devcie/service/impl/PqLineServiceImpl.java index 4ef028a8..76fb863f 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/devcie/service/impl/PqLineServiceImpl.java +++ b/event_smart/src/main/java/com/njcn/gather/event/devcie/service/impl/PqLineServiceImpl.java @@ -1,9 +1,12 @@ package com.njcn.gather.event.devcie.service.impl; +import cn.hutool.core.collection.CollUtil; import com.njcn.gather.event.devcie.pojo.dto.DeviceDTO; import com.njcn.gather.event.devcie.pojo.dto.LedgerBaseInfoDTO; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.gather.event.devcie.mapper.PqLineMapper; @@ -20,8 +23,21 @@ import com.njcn.gather.event.devcie.service.PqLineService; @Service public class PqLineServiceImpl extends ServiceImpl implements PqLineService{ + @Override - public List queryListByIds(List lineIds) { - return this.baseMapper.getBaseLineInfo(lineIds); - } + public List getBaseLineInfo(List ids){ + List ledgerBaseInfoDTOS = new ArrayList<>(); + if(ids.size()>1000){ + List> listIds = CollUtil.split(ids,1000); + for(List itemIds : listIds){ + List temp =this.baseMapper.getBaseLineInfo(itemIds); + ledgerBaseInfoDTOS.addAll(temp); + } + }else { + List temp =this.baseMapper.getBaseLineInfo(ids); + ledgerBaseInfoDTOS.addAll(temp); + } + return ledgerBaseInfoDTOS; + }; + } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/PqsEventdetail.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/PqsEventdetail.java index 9689e4a6..618d1992 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/PqsEventdetail.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/po/PqsEventdetail.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -96,5 +97,6 @@ public class PqsEventdetail { @TableField(value = "NOTICE_FLAG") private Integer noticeFlag; - + @TableField(exist = false) + private Integer eventSeverity; } \ No newline at end of file diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/EventDetailVO.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/EventDetailVO.java index e4a98920..4ccbe35c 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/EventDetailVO.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/EventDetailVO.java @@ -45,5 +45,7 @@ public class EventDetailVO { private String objName; private Integer needDealFlag; - private List msgEventInfoList; + private long msgEventInfoSize; + //1告警,2预警 + private Integer eventSeverity; } 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 c18f8fb5..25569d7e 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 @@ -138,7 +138,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { ledgerCountVO.setRunSubCount(runSubCount); ledgerCountVO.setRunLineCount(runLineCount); - List ledgerBaseInfoDTOS = pqLineService.queryListByIds(allLineIds); + List ledgerBaseInfoDTOS = pqLineService.getBaseLineInfo(allLineIds); ledgerBaseInfoDTOS.stream().forEach(temp->temp.setRunFlag(runLineList.contains(temp.getLineId())?1:0)); ledgerCountVO.setAllLineList(ledgerBaseInfoDTOS); List deviceDTOS = pqDeviceService.queryListByIds(devList); @@ -205,8 +205,10 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { Integer eventCount = eventdetails.size(); // 告警 List aLarmEvent = eventdetails.stream().filter(temp -> temp.getEventvalue() < 0.5).collect(Collectors.toList()); + aLarmEvent.forEach(temp->temp.setEventSeverity(1)); // 预警 List warnEvent = eventdetails.stream().filter(temp -> temp.getEventvalue() >= 0.5&& temp.getEventvalue() <0.9).collect(Collectors.toList()); + aLarmEvent.forEach(temp->temp.setEventSeverity(2)); List eventIds = eventdetails.stream().map(PqsEventdetail::getEventdetailIndex).collect(Collectors.toList()); //通知 List msgEventInfoList = new ArrayList<>(); @@ -380,12 +382,12 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); //获取对应监测点id List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); - List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); + List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).distinct().collect(Collectors.toList()); if (CollectionUtils.isEmpty(deptslineIds)) { throw new BusinessException("部门下暂无监测点"); } - List pqLineList = pqLineMapper.getBaseLineInfo(deptslineIds); + List pqLineList = pqLineService.getBaseLineInfo(deptslineIds); Map ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity())); QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -521,7 +523,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { if (CollUtil.isNotEmpty(allList)) { List ids = allList.stream().map(PqsEventdetail::getLineid).distinct().collect(Collectors.toList()); - List pqLineList = pqLineMapper.getBaseLineInfo(ids); + List pqLineList = pqLineService.getBaseLineInfo(ids); Map ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity())); for(PqsEventdetail it : allList){ EventDetailVO eventDetailVO = new EventDetailVO(); @@ -589,7 +591,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { mapCountVO.setDeptsIndex(k); mapCountVO.setDeptsName(stringPqsDeptsMap.get(k).getDeptsname()); mapCountVO.setLineCount(v.size()); - List ledgerBaseInfoDTOS = pqLineService.queryListByIds(v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList())); + List ledgerBaseInfoDTOS = pqLineService.getBaseLineInfo(v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList())); mapCountVO.setLineList(ledgerBaseInfoDTOS); List deptslineIds = v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); List eventdetails = pqsEventdetailService.lambdaQuery() @@ -706,9 +708,10 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { if(CollectionUtils.isEmpty(list)){ return result; } - List lineidList = list.stream().map(PqsEventdetail::getLineid).collect(Collectors.toList()); + List lineidList = list.stream().map(PqsEventdetail::getLineid).distinct().collect(Collectors.toList()); - List pqLineList = pqLineMapper.getBaseLineInfo(lineidList); + + List pqLineList = pqLineService.getBaseLineInfo(lineidList); Map ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity())); result = list.stream().map(temp -> { @@ -721,7 +724,11 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { eventDetailVO.setEventvalue(temp.getEventvalue()); eventDetailVO.setLookFlag(temp.getLookFlag()); eventDetailVO.setNoticeFlag(temp.getNoticeFlag()); - eventDetailVO.setMsgEventInfoList(handleMsg.stream().filter(msg->Objects.equals(msg.getEventIndex(),temp.getEventdetailIndex())).collect(Collectors.toList())); + if(Objects.nonNull(temp.getEventSeverity())){ + eventDetailVO.setEventSeverity(temp.getEventSeverity()); + } + + eventDetailVO.setMsgEventInfoSize(handleMsg.stream().filter(msg->Objects.equals(msg.getEventIndex(),temp.getEventdetailIndex())).count()); if(ledgerBaseInfoDTOMap.containsKey(temp.getLineid())){ LedgerBaseInfoDTO ledgerBaseInfoDTO = ledgerBaseInfoDTOMap.get(temp.getLineid()); eventDetailVO.setLineid(ledgerBaseInfoDTO.getLineId());