增加暂态信息搜索,调整全景区域污染值逻辑
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -488,13 +488,21 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
|
||||
|
||||
@Override
|
||||
public Page<AdvanceEventDetailVO> getEventByLineIdsCount(EventBaseParam.Info param) {
|
||||
Page<RmpEventDetailPO> poPage = this.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||
.eq(StrUtil.isNotBlank(param.getLineId()), RmpEventDetailPO::getLineId, param.getLineId())
|
||||
Page<AdvanceEventDetailVO> pageResult = new Page<>();
|
||||
param.setLineOrDevice(0);
|
||||
param.setDeptIndex("0d52f9f6e43ec0ee83013cd32da93f66");
|
||||
param.setStatisticalType(new SimpleDTO());
|
||||
//获取终端台账类信息
|
||||
List<GeneralDeviceDTO> deviceInfo = generalDeviceInfoClient.getPracticalRunDeviceInfo(param).getData();
|
||||
List<String> ids = deviceInfo.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
|
||||
Page<RmpEventDetailPO> poPage = this.page(new Page<>(param.getPageNum(), param.getPageSize()), new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||
.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<String> tempLineIds = poPage.getRecords().stream().map(RmpEventDetailPO::getLineId).distinct().collect(Collectors.toList());
|
||||
if(CollUtil.isNotEmpty(tempLineIds)){
|
||||
List<AreaLineInfoVO> temLine = lineFeignClient.getBaseLineAreaInfo(tempLineIds).getData();
|
||||
Map<String, AreaLineInfoVO> map = temLine.stream().collect(Collectors.toMap(AreaLineInfoVO::getLineId, Function.identity()));
|
||||
List<AdvanceEventDetailVO> advanceEventDetailVOList = BeanUtil.copyToList(poPage.getRecords(), AdvanceEventDetailVO.class);
|
||||
@@ -530,8 +538,8 @@ public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper,
|
||||
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
Page<AdvanceEventDetailVO> pageResult = new Page<>();
|
||||
pageResult.setRecords(advanceEventDetailVOList);
|
||||
}
|
||||
pageResult.setTotal(poPage.getTotal());
|
||||
pageResult.setPages(poPage.getPages());
|
||||
pageResult.setSize(poPage.getSize());
|
||||
|
||||
@@ -1199,24 +1199,38 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
deviceInfoParam.setLineRunFlag(0);
|
||||
deviceInfoParam.setDeptIndex(param.getId());
|
||||
deviceInfoParam.setStatisticalType(new SimpleDTO());
|
||||
deviceInfoParam.setMonitorFlag(param.getIsUpToGrid());
|
||||
List<GeneralDeviceDTO> deptData = generalDeviceInfoClient.getPracticalRunDeviceInfo(deviceInfoParam).getData();
|
||||
List<String> lineIdList = deptData.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(lineIdList)) {
|
||||
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getId()).getData();
|
||||
Map<String, String> deptId = deptList.stream().filter(x ->!x.getId().equals("46364ea96a55095ebc250be698d5262c") &&
|
||||
!x.getId().equals("a3069759b0b6072c99cf9a7af6c162e9")).collect(Collectors.toMap(DeptDTO::getArea, DeptDTO::getId));
|
||||
|
||||
List<RMpPollutionDPO> pollutionList = rMpPollutionDPOMapper.selectSumList(lineIdList, param.getIds(), param.getStartTime(), param.getEndTime());
|
||||
Map<String, Double> pollutionMap = pollutionList.stream().collect(Collectors.toMap(RMpPollutionDPO::getLineId, RMpPollutionDPO::getValue));
|
||||
|
||||
List<PollutionLineInfoDTO> lineDetailList = commLineClient.getPollutionLineInfo(lineIdList).getData();
|
||||
Map<String, List<PollutionLineInfoDTO>> lineDetailMap = lineDetailList.stream().collect(Collectors.groupingBy(PollutionLineInfoDTO::getActualArea));
|
||||
//获取部门
|
||||
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getId()).getData();
|
||||
deptList.forEach(item -> {
|
||||
if (lineDetailMap.containsKey(item.getArea())) {
|
||||
List<String> ids = deptData.stream()
|
||||
.filter(x -> x.getIndex().equals("46364ea96a55095ebc250be698d5262c") ||
|
||||
x.getIndex().equals("a3069759b0b6072c99cf9a7af6c162e9"))
|
||||
.flatMap(x -> x.getLineIndexes().stream()).collect(Collectors.toList());
|
||||
//获取到了部门风光储和超高压的其他部门信息
|
||||
Map<String, List<String>> 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<PowerFlagPollution> linePollutionList = new ArrayList<>();
|
||||
AreaPollution pollution = new AreaPollution();
|
||||
pollution.setDeptName(item.getName());
|
||||
pollution.setDeptId(item.getId());
|
||||
List<PollutionLineInfoDTO> lineDetails = lineDetailMap.get(item.getArea()).stream().collect(Collectors.toList());
|
||||
pollution.setDeptName(dto.getName());
|
||||
pollution.setDeptId(dto.getIndex());
|
||||
List<PollutionLineInfoDTO> lineDetails = lineDetailList.stream().filter(x -> dto.getLineIndexes().contains(x.getLineId())).collect(Collectors.toList());
|
||||
PowerFlagPollution pollution1;
|
||||
for (PollutionLineInfoDTO lineDetail : lineDetails) {
|
||||
pollution1 = new PowerFlagPollution();
|
||||
@@ -1237,7 +1251,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
pollution.setScore(NumberUtil.round(linePollutionList.stream().mapToDouble(PowerFlagPollution::getVHarmonicValue).sum(), 2).doubleValue());
|
||||
info.add(pollution);
|
||||
}
|
||||
});
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user