diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventBaseParam.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventBaseParam.java index 076baf062..bbe848ca4 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventBaseParam.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/param/EventBaseParam.java @@ -1,6 +1,6 @@ package com.njcn.event.pojo.param; -import com.njcn.web.pojo.annotation.DateTimeStrValid; +import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.web.pojo.param.BaseParam; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -29,7 +29,13 @@ public class EventBaseParam extends BaseParam implements Serializable { @Data - public static class Info extends EventBaseParam { + public static class Info extends DeviceInfoParam.BusinessParam { + + @ApiModelProperty("页码") + private Integer pageNum; + + @ApiModelProperty("页面尺寸") + private Integer pageSize; @ApiModelProperty(name = "dicData", value = "字典id") private String dicData; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java index 04ff34b6f..ec7159d16 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/RmpEventDetailServiceImpl.java @@ -488,50 +488,58 @@ public class RmpEventDetailServiceImpl extends ServiceImpl getEventByLineIdsCount(EventBaseParam.Info param) { - Page poPage = this.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), new LambdaQueryWrapper() - .eq(StrUtil.isNotBlank(param.getLineId()), RmpEventDetailPO::getLineId, param.getLineId()) + Page pageResult = new Page<>(); + param.setLineOrDevice(0); + param.setDeptIndex("0d52f9f6e43ec0ee83013cd32da93f66"); + param.setStatisticalType(new SimpleDTO()); + //获取终端台账类信息 + List deviceInfo = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData(); + List ids = deviceInfo.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList()); + Page poPage = this.page(new Page<>(param.getPageNum(), param.getPageSize()), new LambdaQueryWrapper() + .in(CollUtil.isNotEmpty(ids), RmpEventDetailPO::getLineId, ids) .eq(StrUtil.isNotBlank(param.getDicData()), RmpEventDetailPO::getEventType, param.getDicData()) .ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime()))) .le(StrUtil.isNotBlank(param.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime()))) ); List tempLineIds = poPage.getRecords().stream().map(RmpEventDetailPO::getLineId).distinct().collect(Collectors.toList()); - List temLine = lineFeignClient.getBaseLineAreaInfo(tempLineIds).getData(); - Map map = temLine.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity())); - List advanceEventDetailVOList = BeanUtil.copyToList(poPage.getRecords(), AdvanceEventDetailVO.class); - advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item -> { - if (map.containsKey(item.getLineId())) { - item.setGdName(map.get(item.getLineId()).getGdName()); - item.setSubName(map.get(item.getLineId()).getSubName()); - item.setLineName(map.get(item.getLineId()).getLineName()); - item.setLoadType(map.get(item.getLineId()).getLoadType()); - item.setObjName(map.get(item.getLineId()).getObjName()); - switch (item.getDealFlag()) { - case 0: - item.setFeatureAmplitudeFlag(EnumFlag.UNTREATED.getDescription()); - break; - case 1: - item.setFeatureAmplitudeFlag(EnumFlag.PROCESSED.getDescription()); - break; - case 2: - item.setFeatureAmplitudeFlag(EnumFlag.NODATA.getDescription()); - break; - case 3: - item.setFeatureAmplitudeFlag(EnumFlag.PROCESSFAIL.getDescription()); - break; - default: - throw new IllegalStateException("未发现的类型: " + item.getDealFlag()); - } - //录波文件 - if (Objects.nonNull(item.getFileFlag()) && item.getFileFlag() == 1) { - item.setBoFileFlag(EnumFlag.EXIST.description); - } else { - item.setBoFileFlag(EnumFlag.ABSENCE.description); - } + if(CollUtil.isNotEmpty(tempLineIds)){ + List temLine = lineFeignClient.getBaseLineAreaInfo(tempLineIds).getData(); + Map map = temLine.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity())); + List advanceEventDetailVOList = BeanUtil.copyToList(poPage.getRecords(), AdvanceEventDetailVO.class); + advanceEventDetailVOList = advanceEventDetailVOList.stream().peek(item -> { + if (map.containsKey(item.getLineId())) { + item.setGdName(map.get(item.getLineId()).getGdName()); + item.setSubName(map.get(item.getLineId()).getSubName()); + item.setLineName(map.get(item.getLineId()).getLineName()); + item.setLoadType(map.get(item.getLineId()).getLoadType()); + item.setObjName(map.get(item.getLineId()).getObjName()); + switch (item.getDealFlag()) { + case 0: + item.setFeatureAmplitudeFlag(EnumFlag.UNTREATED.getDescription()); + break; + case 1: + item.setFeatureAmplitudeFlag(EnumFlag.PROCESSED.getDescription()); + break; + case 2: + item.setFeatureAmplitudeFlag(EnumFlag.NODATA.getDescription()); + break; + case 3: + item.setFeatureAmplitudeFlag(EnumFlag.PROCESSFAIL.getDescription()); + break; + default: + throw new IllegalStateException("未发现的类型: " + item.getDealFlag()); + } + //录波文件 + if (Objects.nonNull(item.getFileFlag()) && item.getFileFlag() == 1) { + item.setBoFileFlag(EnumFlag.EXIST.description); + } else { + item.setBoFileFlag(EnumFlag.ABSENCE.description); + } - } - }).collect(Collectors.toList()); - Page pageResult = new Page<>(); - pageResult.setRecords(advanceEventDetailVOList); + } + }).collect(Collectors.toList()); + pageResult.setRecords(advanceEventDetailVOList); + } pageResult.setTotal(poPage.getTotal()); pageResult.setPages(poPage.getPages()); pageResult.setSize(poPage.getSize()); diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index a98d27bb8..b86c4a14a 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -1199,45 +1199,58 @@ public class PollutionSubstationServiceImpl extends ServiceImpl deptData = generalDeviceInfoClient.getPracticalRunDeviceInfo(deviceInfoParam).getData(); List lineIdList = deptData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList()); if (CollUtil.isNotEmpty(lineIdList)) { + List deptList = deptFeignClient.getDepSonDetailByDeptId(param.getId()).getData(); + Map deptId = deptList.stream().filter(x ->!x.getId().equals("46364ea96a55095ebc250be698d5262c") && + !x.getId().equals("a3069759b0b6072c99cf9a7af6c162e9")).collect(Collectors.toMap(DeptDTO::getArea, DeptDTO::getId)); + List pollutionList = rMpPollutionDPOMapper.selectSumList(lineIdList, param.getIds(), param.getStartTime(), param.getEndTime()); Map pollutionMap = pollutionList.stream().collect(Collectors.toMap(RMpPollutionDPO::getLineId, RMpPollutionDPO::getValue)); List lineDetailList = commLineClient.getPollutionLineInfo(lineIdList).getData(); - Map> lineDetailMap = lineDetailList.stream().collect(Collectors.groupingBy(PollutionLineInfoDTO::getActualArea)); - //获取部门 - List deptList = deptFeignClient.getDepSonDetailByDeptId(param.getId()).getData(); - deptList.forEach(item -> { - if (lineDetailMap.containsKey(item.getArea())) { - List linePollutionList = new ArrayList<>(); - AreaPollution pollution = new AreaPollution(); - pollution.setDeptName(item.getName()); - pollution.setDeptId(item.getId()); - List lineDetails = lineDetailMap.get(item.getArea()).stream().collect(Collectors.toList()); - PowerFlagPollution pollution1; - for (PollutionLineInfoDTO lineDetail : lineDetails) { - pollution1 = new PowerFlagPollution(); - pollution1.setSubName(lineDetail.getSubStationName()); - pollution1.setLineName(lineDetail.getLineName()); - pollution1.setDevName(lineDetail.getDevName()); - pollution1.setManufacturer(lineDetail.getManufacturer()); - pollution1.setDevType(lineDetail.getDevType()); - pollution1.setLoginTime(lineDetail.getLoginTime()); - pollution1.setInterval(lineDetail.getTimeInterval()); - pollution1.setPowerFlag(lineDetail.getPowerFlag()); - pollution1.setLoadType(lineDetail.getLoadType()); - pollution1.setObjName(lineDetail.getObjName()); - pollution1.setVHarmonicValue(pollutionMap.containsKey(lineDetail.getLineId())?NumberUtil.round(pollutionMap.get(lineDetail.getLineId()),2).doubleValue():0.0); - linePollutionList.add(pollution1); - } - pollution.setPowerFlagPollutionList(linePollutionList.stream().sorted(Comparator.comparing(PowerFlagPollution::getVHarmonicValue).reversed()).collect(Collectors.toList())); - pollution.setScore(NumberUtil.round(linePollutionList.stream().mapToDouble(PowerFlagPollution::getVHarmonicValue).sum(),2).doubleValue()); - info.add(pollution); + List ids = deptData.stream() + .filter(x -> x.getIndex().equals("46364ea96a55095ebc250be698d5262c") || + x.getIndex().equals("a3069759b0b6072c99cf9a7af6c162e9")) + .flatMap(x -> x.getLineIndexes().stream()).collect(Collectors.toList()); + //获取到了部门风光储和超高压的其他部门信息 + Map> fgIds = lineDetailList + .stream().filter(x -> ids.contains(x.getLineId())) + .collect(Collectors.groupingBy(x -> deptId.get(x.getActualArea()), Collectors.mapping(PollutionLineInfoDTO::getLineId, Collectors.toList()))); + for (GeneralDeviceDTO dto : deptData) { + if (dto.getIndex().equals("46364ea96a55095ebc250be698d5262c") || + dto.getIndex().equals("a3069759b0b6072c99cf9a7af6c162e9")) { + break; } - }); + if (fgIds.containsKey(dto.getIndex())) { + dto.getLineIndexes().addAll(fgIds.get(dto.getIndex())); + } + List linePollutionList = new ArrayList<>(); + AreaPollution pollution = new AreaPollution(); + pollution.setDeptName(dto.getName()); + pollution.setDeptId(dto.getIndex()); + List lineDetails = lineDetailList.stream().filter(x -> dto.getLineIndexes().contains(x.getLineId())).collect(Collectors.toList()); + PowerFlagPollution pollution1; + for (PollutionLineInfoDTO lineDetail : lineDetails) { + pollution1 = new PowerFlagPollution(); + pollution1.setSubName(lineDetail.getSubStationName()); + pollution1.setLineName(lineDetail.getLineName()); + pollution1.setDevName(lineDetail.getDevName()); + pollution1.setManufacturer(lineDetail.getManufacturer()); + pollution1.setDevType(lineDetail.getDevType()); + pollution1.setLoginTime(lineDetail.getLoginTime()); + pollution1.setInterval(lineDetail.getTimeInterval()); + pollution1.setPowerFlag(lineDetail.getPowerFlag()); + pollution1.setLoadType(lineDetail.getLoadType()); + pollution1.setObjName(lineDetail.getObjName()); + pollution1.setVHarmonicValue(pollutionMap.containsKey(lineDetail.getLineId()) ? NumberUtil.round(pollutionMap.get(lineDetail.getLineId()), 2).doubleValue() : 0.0); + linePollutionList.add(pollution1); + } + pollution.setPowerFlagPollutionList(linePollutionList.stream().sorted(Comparator.comparing(PowerFlagPollution::getVHarmonicValue).reversed()).collect(Collectors.toList())); + pollution.setScore(NumberUtil.round(linePollutionList.stream().mapToDouble(PowerFlagPollution::getVHarmonicValue).sum(), 2).doubleValue()); + info.add(pollution); + } } return info; }