diff --git a/event_smart/src/main/java/com/njcn/gather/event/devcie/config/PqlineCache.java b/event_smart/src/main/java/com/njcn/gather/event/devcie/config/PqlineCache.java index 9ceed251..13038ee8 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/devcie/config/PqlineCache.java +++ b/event_smart/src/main/java/com/njcn/gather/event/devcie/config/PqlineCache.java @@ -4,9 +4,14 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.njcn.gather.event.devcie.mapper.PqLineMapper; import com.njcn.gather.event.devcie.pojo.po.PqLine; +import com.njcn.gather.event.devcie.pojo.po.PqsDeptsline; +import com.njcn.gather.event.devcie.service.PqsDeptslineService; +import com.njcn.gather.event.transientes.pojo.po.PqsDepts; +import com.njcn.gather.event.transientes.service.PqsDeptsService; import com.njcn.redis.utils.RedisUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; @@ -14,6 +19,7 @@ import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; /** * Description: @@ -29,20 +35,34 @@ public class PqlineCache { private PqLineMapper pqLineMapper; @Autowired private RedisUtil redisUtil; + @Autowired + private PqsDeptslineService pqsDeptslineService; + @Autowired - + private PqsDeptsService pqsDeptsService; + private final static String NAME_KEY = "LineCache:"; + @Value("${SYS_TYPE_ZT}") + private String sysTypeZt; @PostConstruct public void init() { log.info("系统启动中。。。加载pqline"); List pqLines = pqLineMapper.selectList(null); - redisUtil.saveByKey("pqLineList",pqLines); + redisUtil.saveByKey(NAME_KEY + StrUtil.DASHED+"pqLineList",pqLines); + List list = pqsDeptsService.lambdaQuery().eq(PqsDepts::getState, 1).list(); + for (PqsDepts pqsDepts : list) { + List deptAndChildren = pqsDeptsService.findDeptAndChildren(pqsDepts.getDeptsIndex()); + List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); + List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); + redisUtil.saveByKey(NAME_KEY + StrUtil.DASHED+pqsDepts.getDeptsIndex(),deptslineIds); + } + } @PreDestroy public void destroy() { log.info("系统运行结束"); - redisUtil.delete("pqLineList"); + redisUtil.deleteKeysByString(NAME_KEY); } } diff --git a/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/mapping/PqSubstationMapper.xml b/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/mapping/PqSubstationMapper.xml index 7ac625ce..b48f14dd 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/mapping/PqSubstationMapper.xml +++ b/event_smart/src/main/java/com/njcn/gather/event/devcie/mapper/mapping/PqSubstationMapper.xml @@ -18,12 +18,17 @@ select PQ_SUBSTATION.sub_index stationId, PQ_SUBSTATION.name stationName, - PQ_GDINFORMATION.Name gdName + PQ_GDINFORMATION.Name gdName, + PQS_MAP.LATITUDE LATITUDE, + PQS_MAP.LONGITUDE LONGITUDE from - PQ_SUBSTATION, - PQ_GDINFORMATION + PQ_SUBSTATION left join + PQS_MAP on PQ_SUBSTATION.SUB_INDEX =PQS_MAP.SUB_INDEX + left join + PQ_GDINFORMATION on PQ_SUBSTATION.GD_INDEX =PQ_GDINFORMATION.GD_INDEX + where - PQ_SUBSTATION.GD_INDEX =PQ_GDINFORMATION.GD_INDEX + PQS_MAP.state=1 and PQ_SUBSTATION.SUB_INDEX in #{item} diff --git a/event_smart/src/main/java/com/njcn/gather/event/devcie/pojo/dto/SubstationDTO.java b/event_smart/src/main/java/com/njcn/gather/event/devcie/pojo/dto/SubstationDTO.java index 4c35cbb2..8023e860 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/devcie/pojo/dto/SubstationDTO.java +++ b/event_smart/src/main/java/com/njcn/gather/event/devcie/pojo/dto/SubstationDTO.java @@ -15,6 +15,8 @@ public class SubstationDTO { private Integer stationId; private String stationName; private String gdName; + private double longitude; + private double latitude; private Integer runFlag=0;; } 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 0fcf1758..f6dad821 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 @@ -210,6 +210,15 @@ public class LargeScreenCountController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @OperateInfo + @PostMapping("/substationCount") + @ApiOperation("变电站统计") + @ApiImplicitParam(name = "largeScreenCountParam", value = "查询参数", required = true) + public HttpResult> substationCount(@RequestBody LargeScreenCountParam largeScreenCountParam) { + String methodDescribe = getMethodDescribe("substationCount"); + List result = largeScreenCountService.substationCount(largeScreenCountParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } @OperateInfo @PostMapping("/regionDevCount") @@ -224,5 +233,14 @@ public class LargeScreenCountController extends BaseController { + @OperateInfo + @PostMapping("/eventPage") + @ApiOperation("分页查询暂降事件") + @ApiImplicitParam(name = "largeScreenCountParam", value = "查询参数", required = true) + public HttpResult> eventPage(@RequestBody LargeScreenCountParam largeScreenCountParam) { + String methodDescribe = getMethodDescribe("eventPage"); + Page result = largeScreenCountService.eventPage(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 5ace5b2d..265e9953 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 @@ -1,9 +1,12 @@ package com.njcn.gather.event.transientes.pojo.param; +import com.fasterxml.jackson.annotation.JsonFormat; import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.time.LocalDateTime; + /** * Description: * Date: 2025/06/19 下午 3:38【需求编号】 @@ -25,4 +28,8 @@ public class LargeScreenCountParam extends BaseParam { private Integer eventDeep; private Integer sendResult; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime startTime; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime endTime; } diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/SubStationCountVO.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/SubStationCountVO.java new file mode 100644 index 00000000..d37aa931 --- /dev/null +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/pojo/vo/SubStationCountVO.java @@ -0,0 +1,23 @@ +package com.njcn.gather.event.transientes.pojo.vo; + +import lombok.Data; + +/** + * Description: + * Date: 2025/07/29 上午 11:03【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class SubStationCountVO { + private Integer stationId; + private String stationName; + private String gdName; + private double longitude; + private double latitude; + + private Integer lineCount; + private Integer eventCount; + +} diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/security/SecurityConfig.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/security/SecurityConfig.java index f6fe44ea..3f333e43 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/security/SecurityConfig.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/security/SecurityConfig.java @@ -36,6 +36,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter { .authorizeRequests() //.antMatchers("/cn_authenticate","/ws/**","/accept/testEvent").permitAll() // 允许访问认证接口 .antMatchers("/**").permitAll() // 允许访问认证接口 + .antMatchers("/cn_authenticate","/ws/**","/accept/testEvent").permitAll() // 允许访问认证接口 +// .antMatchers("/**").permitAll() // 允许访问认证接口 .anyRequest().authenticated() .and() .sessionManagement() diff --git a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/CommGeneralService.java b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/CommGeneralService.java index f468046b..d62007d3 100644 --- a/event_smart/src/main/java/com/njcn/gather/event/transientes/service/CommGeneralService.java +++ b/event_smart/src/main/java/com/njcn/gather/event/transientes/service/CommGeneralService.java @@ -3,6 +3,7 @@ package com.njcn.gather.event.transientes.service; import com.njcn.gather.event.devcie.pojo.po.PqsDeptsline; import com.njcn.gather.event.devcie.service.PqsDeptslineService; import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam; +import com.njcn.redis.utils.RedisUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -23,7 +24,7 @@ public class CommGeneralService { private final PqsDeptslineService pqsDeptslineService; private final PqsDeptsService pqsDeptsService; - + private final RedisUtil redisUtil; /** * 根据部门id获取部门所拥有的监测点 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 59d7e866..4f015f24 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 @@ -55,5 +55,7 @@ public interface LargeScreenCountService { List regionDevCount(LargeScreenCountParam largeScreenCountParam); + List substationCount(LargeScreenCountParam largeScreenCountParam); + Page eventPage(LargeScreenCountParam largeScreenCountParam); } 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 0d9e77b1..757d1183 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 @@ -14,6 +14,7 @@ import com.github.yulichang.wrapper.segments.Fun; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.gather.event.devcie.config.PqlineCache; import com.njcn.gather.event.devcie.mapper.PqLineMapper; import com.njcn.gather.event.devcie.mapper.PqLinedetailMapper; import com.njcn.gather.event.devcie.pojo.dto.DeviceDTO; @@ -87,6 +88,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { private final RedisUtil redisUtil; @Value("${SYS_TYPE_ZT}") private String sysTypeZt; + private final static String NAME_KEY = "LineCache:"; private List lineIds = new ArrayList<>(); @@ -873,10 +875,10 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { @Override public DeviceCountVO devFlagCount(LargeScreenCountParam largeScreenCountParam) { DeviceCountVO deviceCountVO = new DeviceCountVO(); - List pqLineList = (List) redisUtil.getObjectByKey("pqLineList"); - List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); - List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); - List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); + List pqLineList = (List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+"pqLineList"); + List deptslineIds = (List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+largeScreenCountParam.getDeptId()); +// List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); +// List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); pqLineList = pqLineList.stream().filter(temp->deptslineIds.contains(temp.getLineIndex())).collect(Collectors.toList()); List devIndexs = pqLineList.stream().map(PqLine::getDevIndex).collect(Collectors.toList()); @@ -895,10 +897,12 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { @Override public List devDetail(LargeScreenCountParam largeScreenCountParam) { DeviceCountVO deviceCountVO = new DeviceCountVO(); - List pqLineList = (List) redisUtil.getObjectByKey("pqLineList"); - List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); - List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); - List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); + List pqLineList = (List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+"pqLineList"); + List deptslineIds = (List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+largeScreenCountParam.getDeptId()); + +// List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); +// List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); +// List deptslineIds = deptslines.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); pqLineList = pqLineList.stream().filter(temp->deptslineIds.contains(temp.getLineIndex())).collect(Collectors.toList()); List devIndexs = pqLineList.stream().map(PqLine::getDevIndex).collect(Collectors.toList()); @@ -911,26 +915,27 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { @Override public List regionDevCount(LargeScreenCountParam largeScreenCountParam) { List result = new ArrayList<>(); - List pqLineList = (List) redisUtil.getObjectByKey("pqLineList"); + List pqLineList = (List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+"pqLineList"); List deptAndChildren = pqsDeptsService.findDeptAndChildren(largeScreenCountParam.getDeptId()); if(deptAndChildren.size()>1){ deptAndChildren.remove(largeScreenCountParam.getDeptId()); } - List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); + List pqDeviceList = pqDeviceService.lambdaQuery().eq(PqDevice::getDevflag, 0).list(); + +// List deptslines = pqsDeptslineService.lambdaQuery().in(PqsDeptsline::getDeptsIndex, deptAndChildren).eq(PqsDeptsline::getSystype, sysTypeZt).list(); List list = pqsDeptsService.lambdaQuery().in(PqsDepts::getDeptsIndex, deptAndChildren).eq(PqsDepts::getState, 1).list(); list.forEach(temp->{ RegionDevCountVO regionDevCountVO = new RegionDevCountVO(); regionDevCountVO.setDeptsIndex(temp.getDeptsIndex()); regionDevCountVO.setDeptsname(temp.getDeptsname()); - List deptslineIds = deptslines.stream().filter(deptsline->Objects.equals(deptsline.getDeptsIndex(),temp.getDeptsIndex())).map(PqsDeptsline::getLineIndex).collect(Collectors.toList()); + List deptslineIds =(List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+temp.getDeptsIndex()); List collect = pqLineList.stream().filter(pqLine -> deptslineIds.contains(pqLine.getLineIndex())).collect(Collectors.toList()); List devIndexs = collect.stream().map(PqLine::getDevIndex).collect(Collectors.toList()); - + List tempDeviceList = pqDeviceList.stream().filter(pqDevice -> devIndexs.contains(pqDevice.getDevIndex())).collect(Collectors.toList()); //在运总数 - List pqDeviceList = pqDeviceService.lambdaQuery().in(PqDevice::getDevIndex, devIndexs).eq(PqDevice::getDevflag, 0).list(); - long onLine = pqDeviceList.stream().filter(pqDevice -> Objects.equals(pqDevice.getStatus(), 1)).count(); - long Offline = pqDeviceList.stream().filter(pqDevice -> Objects.equals(pqDevice.getStatus(), 0)).count(); - regionDevCountVO.setAllCount(pqDeviceList.size()); + long onLine = tempDeviceList.stream().filter(pqDevice -> Objects.equals(pqDevice.getStatus(), 1)).count(); + long Offline = tempDeviceList.stream().filter(pqDevice ->Objects.equals(pqDevice.getStatus(), 0)).count(); + regionDevCountVO.setAllCount(tempDeviceList.size()); regionDevCountVO.setOnLine((int) onLine); regionDevCountVO.setOffLine((int) Offline); @@ -940,6 +945,130 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService { } + @Override + public List substationCount(LargeScreenCountParam largeScreenCountParam) { + LocalDateTime startTime = largeScreenCountParam.getStartTime(); + LocalDateTime endTime = largeScreenCountParam.getEndTime(); + + List subStationCountVOS = new ArrayList<>(); + List pqLineList = (List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+"pqLineList"); + List deptslineIds = (List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+largeScreenCountParam.getDeptId()); + + + pqLineList = pqLineList.stream().filter(temp->deptslineIds.contains(temp.getLineIndex())).collect(Collectors.toList()); + List subIndexs = pqLineList.stream().map(PqLine::getSubIndex).collect(Collectors.toList()); + List substationDTOS = pqSubstationService.queryListByIds(subIndexs); + Map substationDTOMap= substationDTOS.stream().collect(Collectors.toMap(SubstationDTO::getStationId, Function.identity())); + + //查询暂态事件 + List eventdetails = new ArrayList<>(); + if(deptslineIds.size()>1000){ + List> listIds = CollUtil.split(deptslineIds,1000); + for(List itemIds : listIds){ + List temp = pqsEventdetailService.lambdaQuery() + .between(PqsEventdetail::getTimeid,startTime, endTime) + .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) + .in(PqsEventdetail::getLineid,listIds) + .orderByDesc(PqsEventdetail::getTimeid).list() + ; + eventdetails.addAll(temp); + } + }else { + List temp = pqsEventdetailService.lambdaQuery() + .between(PqsEventdetail::getTimeid, startTime, endTime) + .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) + .in(PqsEventdetail::getLineid,deptslineIds) + .orderByDesc(PqsEventdetail::getTimeid).list(); + eventdetails.addAll(temp); + } + Map> map = pqLineList.stream().collect(Collectors.groupingBy(PqLine::getSubIndex)); + map.forEach((k,v)->{ + if(substationDTOMap.containsKey(k)){ + SubStationCountVO subStationCountVO = new SubStationCountVO(); + SubstationDTO substationDTO = substationDTOMap.get(k); + subStationCountVO.setStationId(substationDTO.getStationId()); + subStationCountVO.setStationName(substationDTO.getStationName()); + subStationCountVO.setGdName(substationDTO.getGdName()); + subStationCountVO.setLongitude(substationDTO.getLongitude()); + subStationCountVO.setLatitude(substationDTO.getLatitude()); + List tempLineIds = v.stream().map(PqLine::getLineIndex).collect(Collectors.toList()); + subStationCountVO.setLineCount(tempLineIds.size()); + List tempEventList = eventdetails.stream().filter(temp -> tempLineIds.contains(temp.getLineid())).collect(Collectors.toList()); + if(CollectionUtils.isEmpty(tempEventList)){ + subStationCountVO.setEventCount(0); + + }else { + subStationCountVO.setEventCount(tempEventList.size()); + } + subStationCountVOS.add(subStationCountVO); + } + + }); + + + return subStationCountVOS; + } + + @Override + public Page eventPage(LargeScreenCountParam largeScreenCountParam) { + Page pqsEventdetailPage = new Page<>(largeScreenCountParam.getPageNum(), largeScreenCountParam.getPageSize()); + LocalDateTime startTime = largeScreenCountParam.getStartTime(); + LocalDateTime endTime = largeScreenCountParam.getEndTime(); + + List deptslineIds = (List) redisUtil.getObjectByKey( NAME_KEY+ StrUtil.DASHED+largeScreenCountParam.getDeptId()); + + List pqLineList = pqLineService.getBaseLineInfo(deptslineIds); + Map ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity())); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (deptslineIds.size()>1000) { + List> idPartitions = CollUtil.split(deptslineIds,1000); + + queryWrapper.lambda() + .between(PqsEventdetail::getTimeid, startTime, endTime) + .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) + .and(ew->{ + for(List pList: idPartitions){ + ew.or(w->w.in(PqsEventdetail::getLineid, pList)); + } + }).orderByDesc(PqsEventdetail::getTimeid); + + + } else { + queryWrapper.lambda() + .between(PqsEventdetail::getTimeid, startTime, endTime) + .in(PqsEventdetail::getLineid, deptslineIds) + .in(PqsEventdetail::getWavetype,msgEventConfigService.getEventType()) + .orderByDesc(PqsEventdetail::getTimeid); + } + + + IPage list = pqsEventdetailService.getBaseMapper().selectPage(pqsEventdetailPage,queryWrapper); + 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)){