辽宁功能调整

This commit is contained in:
2025-05-06 15:53:07 +08:00
parent a8b4a9615b
commit 8e5cab30c9
12 changed files with 212 additions and 72 deletions

View File

@@ -104,11 +104,18 @@ public class ComAssessServiceImpl extends ServiceImpl<RStatComassesDMapper, RSta
objMap.forEach((obj, list) -> {
ComAssessVO comAssessVO = new ComAssessVO();
if (userLedgerVOMap.containsKey(obj)) {
List<ComAssessDTO> childrenDTOS = new ArrayList<>();
UserLedgerVO userLedgerVO = userLedgerVOMap.get(obj);
comAssessVO.setId(userLedgerVO.getId());
comAssessVO.setName(userLedgerVO.getProjectName());
comAssessVO.setData(3.14159f);
List<String> lineIds = list.stream().map(LineDetail::getId).collect(Collectors.toList());
List<PQSComAssesPO> collect = comAccessData.stream().filter(x -> lineIds.contains(x.getLineId())).collect(Collectors.toList());
setResults(collect, childrenDTOS);
float allComAss = comAssesUtil.getAllComAss(childrenDTOS);
String lv = getLevel(allComAss);
comAssessVO.setMonitors(list.size());
comAssessVO.setData(allComAss);
comAssessVO.setLevel(lv);
children.add(comAssessVO);
}
});

View File

@@ -470,17 +470,17 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
public List<PollutionSubstationDTO> getSubstationInfoById(HarmonicPublicParam deptParam) {
String pollutionType = deptParam.getStatisticalType().getId();
String searchBeginTime = deptParam.getSearchBeginTime().substring(0, 10);
List<PollutionSubstationDTO> list = new ArrayList<>();
if (deptParam.getType() != 0) {
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
List<PollutionSubstationDTO> list = new ArrayList<>();
//根据部门code获取部门id
Dept dept = deptFeignClient.getDeptByCode(deptParam.getDeptIndex()).getData();
if (ObjectUtil.isNull(dept)) {
return list;
}
pmsDeviceInfoParam.setDeptIndex(dept.getId());
//获取统计类型
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
pmsDeviceInfoParam.setDeptIndex(dept.getId());
pmsDeviceInfoParam.setStatisticalType(deptParam.getStatisticalType());
//获取主网台账信息
List<PmsGeneralDeviceDTO> deviceList = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData();
@@ -494,7 +494,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
//去重解决重复数据
ArrayList<PmsStatationStatInfoDTO> dsData = data.stream().collect(Collectors.collectingAndThen
(Collectors.toCollection(() ->
new TreeSet<>(Comparator.comparing(o -> o.getPowerId()))), ArrayList::new));
new TreeSet<>(Comparator.comparing(PmsStatationStatInfoDTO::getPowerId))), ArrayList::new));
Map<String, Double> stringDoubleMap = setPmsSubData(deptParam, pollutionType, searchBeginTime, powers);
if (CollectionUtil.isNotEmpty(data)) {
dsData.forEach(power -> {
@@ -513,54 +513,84 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
}
});
if (!CollectionUtils.isEmpty(list)) {
return list.stream().sorted(Comparator.comparing(PollutionSubstationDTO::getData).reversed().thenComparing(PollutionSubstationDTO::getName)).collect(Collectors.toList());
}
} else {
List<PollutionSubstationDTO> list = new ArrayList<>();
deptParam.setServerName(generalInfo.getMicroServiceName());
List<GeneralDeviceDTO> sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(deptParam).getData();
sub.forEach(item -> {
PollutionSubstationDTO pollutionSubstationDTO = lineFeignClient.getSubstationInfo(item.getIndex()).getData();
String id = pollutionSubstationDTO.getId();
if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_YEAR)) {
QueryWrapper<RStatPollutionSubstationYPO> wrapper = new QueryWrapper<>();
wrapper.eq("substation_id", id).
eq("pollution_type", pollutionType).
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime);
RStatPollutionSubstationYPO rStatPollutionSubstationYPO = pollutionSubstationYPOMapper.selectOne(wrapper);
List<String> lineIds = sub.stream().flatMap(dto -> dto.getLineIndexes().stream()).collect(Collectors.toList());
if (CollUtil.isEmpty(lineIds)) {
return list;
}
list = lineFeignClient.getPowerStationByMonitorIds(lineIds).getData();
List<String> powerIds = list.stream().map(PollutionSubstationDTO::getId).collect(Collectors.toList());
Optional.ofNullable(rStatPollutionSubstationYPO).ifPresent(t -> pollutionSubstationDTO.setData(t.getValue()));
} else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_QUARTER)) {
QueryWrapper<RStatPollutionSubstationQPO> wrapper = new QueryWrapper<>();
wrapper.eq("substation_id", id).
eq("pollution_type", pollutionType).
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime);
RStatPollutionSubstationQPO rStatPollutionSubstationQPO = pollutionSubstationQPOMapper.selectOne(wrapper);
Optional.ofNullable(rStatPollutionSubstationQPO).ifPresent(t -> pollutionSubstationDTO.setData(t.getValue()));
} else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_MONTH)) {
QueryWrapper<RStatPollutionSubstationM> wrapper = new QueryWrapper<>();
wrapper.eq("substation_id", id).
eq("pollution_type", pollutionType).
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime);
RStatPollutionSubstationM rStatPollutionSubstationM = pollutionSubstationMMapper.selectOne(wrapper);
if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_YEAR)) {
QueryWrapper<RStatPollutionSubstationYPO> wrapper = new QueryWrapper<>();
wrapper.in("substation_id", powerIds).
eq("pollution_type", pollutionType).
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime);
List<RStatPollutionSubstationYPO> rStatPollutionSubstationYPO = pollutionSubstationYPOMapper.selectList(wrapper);
Map<String, RStatPollutionSubstationYPO> yMap = rStatPollutionSubstationYPO.stream().collect(Collectors.toMap(RStatPollutionSubstationYPO::getSubstationId, Function.identity()));
list.forEach(pollutionSubstationDTO -> {
if (yMap.containsKey(pollutionSubstationDTO.getId())) {
pollutionSubstationDTO.setData(yMap.get(pollutionSubstationDTO.getId()).getValue());
} else {
pollutionSubstationDTO.setData(3.14159);
}
});
} else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_QUARTER)) {
QueryWrapper<RStatPollutionSubstationQPO> wrapper = new QueryWrapper<>();
wrapper.in("substation_id", powerIds).
eq("pollution_type", pollutionType).
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime);
List<RStatPollutionSubstationQPO> rStatPollutionSubstationQPO = pollutionSubstationQPOMapper.selectList(wrapper);
Map<String, RStatPollutionSubstationQPO> qMap = rStatPollutionSubstationQPO.stream().collect(Collectors.toMap(RStatPollutionSubstationQPO::getSubstationId, Function.identity()));
list.forEach(pollutionSubstationDTO -> {
if (qMap.containsKey(pollutionSubstationDTO.getId())) {
pollutionSubstationDTO.setData(qMap.get(pollutionSubstationDTO.getId()).getValue());
} else {
pollutionSubstationDTO.setData(3.14159);
}
});
} else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_MONTH)) {
QueryWrapper<RStatPollutionSubstationM> wrapper = new QueryWrapper<>();
wrapper.in("substation_id", powerIds).
eq("pollution_type", pollutionType).
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime);
List<RStatPollutionSubstationM> rStatPollutionSubstationM = pollutionSubstationMMapper.selectList(wrapper);
Optional.ofNullable(rStatPollutionSubstationM).ifPresent(t -> pollutionSubstationDTO.setData(t.getValue()));
} else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_DAY)) {
QueryWrapper<RStatPollutionSubstationDPO> wrapper = new QueryWrapper<>();
wrapper.eq("substation_id", id).
eq("pollution_type", pollutionType).
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime);
RStatPollutionSubstationDPO rStatPollutionSubstationDPO = pollutionSubstationDPOMapper.selectOne(wrapper);
Optional.ofNullable(rStatPollutionSubstationDPO).ifPresent(t -> pollutionSubstationDTO.setData(t.getValue()));
}
list.add(pollutionSubstationDTO);
});
Map<String, RStatPollutionSubstationM> mMap = rStatPollutionSubstationM.stream().collect(Collectors.toMap(RStatPollutionSubstationM::getSubstationId, Function.identity()));
list.forEach(pollutionSubstationDTO -> {
if (mMap.containsKey(pollutionSubstationDTO.getId())) {
pollutionSubstationDTO.setData(mMap.get(pollutionSubstationDTO.getId()).getValue());
} else {
pollutionSubstationDTO.setData(3.14159);
}
});
} else if (Objects.equals(deptParam.getReportFlag(), BizParamConstant.STAT_BIZ_DAY)) {
QueryWrapper<RStatPollutionSubstationDPO> wrapper = new QueryWrapper<>();
wrapper.in("substation_id", powerIds).
eq("pollution_type", pollutionType).
eq("DATE_FORMAT( data_date ,'%Y-%m-%d')", searchBeginTime);
List<RStatPollutionSubstationDPO> rStatPollutionSubstationDPO = pollutionSubstationDPOMapper.selectList(wrapper);
Map<String, RStatPollutionSubstationDPO> dMap = rStatPollutionSubstationDPO.stream().collect(Collectors.toMap(RStatPollutionSubstationDPO::getSubstationId, Function.identity()));
list.forEach(pollutionSubstationDTO -> {
if (dMap.containsKey(pollutionSubstationDTO.getId())) {
pollutionSubstationDTO.setData(dMap.get(pollutionSubstationDTO.getId()).getValue());
} else {
pollutionSubstationDTO.setData(3.14159);
}
});
}
if (!CollectionUtils.isEmpty(list)) {
return list.stream().sorted(Comparator.comparing(PollutionSubstationDTO::getData).reversed().thenComparing(PollutionSubstationDTO::getName)).collect(Collectors.toList());
}
}
if (!CollectionUtils.isEmpty(list)) {
return list.stream().sorted(Comparator.comparing(PollutionSubstationDTO::getData).reversed().thenComparing(PollutionSubstationDTO::getName)).collect(Collectors.toList());
}
return list;
return Collections.emptyList();
}
/**
@@ -607,30 +637,45 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
}
}
} else {
List<String> line = new ArrayList<>();
List<GeneralDeviceDTO> sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(harmonicPublicParam).getData();
sub.forEach(item -> {
if (Objects.equals(harmonicPublicParam.getId(), item.getIndex())) {
if (!CollectionUtils.isEmpty(item.getLineIndexes())) {
line.addAll(item.getLineIndexes());
if (PowerFlagEnum.GRID_SIDE.getCode().equals(harmonicPublicParam.getPowerFlag())) {
List<String> line = new ArrayList<>();
List<GeneralDeviceDTO> sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(harmonicPublicParam).getData();
sub.forEach(item -> {
if (Objects.equals(harmonicPublicParam.getId(), item.getIndex())) {
if (!CollectionUtils.isEmpty(item.getLineIndexes())) {
line.addAll(item.getLineIndexes());
}
}
}
});
if (!CollectionUtils.isEmpty(line)) {
paramDTO.setLineList(line);
list = lineFeignClient.getLineInfo(paramDTO).getData();
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList(line, pollutionType, harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
if (!CollectionUtils.isEmpty(lineData)) {
list.stream().map(list1 -> lineData.stream().filter(list2 -> Objects.equals(list1.getId(), list2.getLineId())).findAny().map(m -> {
list1.setData(m.getValue());
return list1;
})).collect(Collectors.toList());
}
});
return commDataDeal(line,paramDTO,harmonicPublicParam);
} else {
return list;
List<LineDetail> lineDetailList = lineFeignClient.getMonitorByObjId(harmonicPublicParam.getId()).getData();
if (CollUtil.isNotEmpty(lineDetailList)) {
List<String> ids = lineDetailList.stream().map(LineDetail::getId).collect(Collectors.toList());
return commDataDeal(ids,paramDTO,harmonicPublicParam);
}
}
}
return list.stream().sorted(Comparator.comparing(PollutionLineDTO::getData).reversed().thenComparing(PollutionLineDTO::getName)).collect(Collectors.toList());
return list;
}
private List<PollutionLineDTO> commDataDeal(List<String> ids,PollutionParamDTO paramDTO,HarmonicPublicParam harmonicPublicParam){
paramDTO.setLineList(ids);
List<PollutionLineDTO> list = lineFeignClient.getLineInfo(paramDTO).getData();
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList(ids, harmonicPublicParam.getStatisticalType().getId(), harmonicPublicParam.getSearchBeginTime(), harmonicPublicParam.getSearchEndTime());
Map<String,RMpPollutionDPO> map = lineData.stream().collect(Collectors.toMap(RMpPollutionDPO::getLineId,Function.identity()));
if (!CollectionUtils.isEmpty(lineData)) {
list.stream().sorted(Comparator.comparing(PollutionLineDTO::getData).reversed().thenComparing(PollutionLineDTO::getName)).forEach(item->{
if(map.containsKey(item.getId())){
item.setData(map.get(item.getId()).getValue());
}else {
item.setData(3.14159);
}
});
}
return list;
}

View File

@@ -438,7 +438,7 @@ public class SteadyQualifyServiceImpl implements SteadyQualifyService {
if (!CollectionUtils.isEmpty(harmonicCurrent)) {
steadyQualifyVO.setHarmonicCurrent(NumberUtil.round(harmonicCurrent.stream().mapToDouble(SteadyQualifyVO::getHarmonicCurrent).average().orElse(100), 2).doubleValue());
}
if (!CollectionUtils.isEmpty(flicker)) {
if (!CollectionUtils.isEmpty(interHarmonic)) {
steadyQualifyVO.setInterHarmonic(NumberUtil.round(interHarmonic.stream().mapToDouble(SteadyQualifyVO::getInterHarmonic).average().orElse(100), 2).doubleValue());
}
}