1.台账查询bug提交
2.污区图代码更新
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
package com.njcn.harmonic.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.config.GeneralInfo;
|
||||
import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
@@ -28,6 +28,8 @@ import com.njcn.harmonic.pojo.po.*;
|
||||
import com.njcn.harmonic.pojo.vo.PollutionSubstationVO;
|
||||
import com.njcn.harmonic.pojo.vo.PollutionVO;
|
||||
import com.njcn.harmonic.service.PollutionSubstationService;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -37,6 +39,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -59,6 +62,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
|
||||
private final StatationStatClient statationStatClient;
|
||||
private final MonitorClient monitorClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
private final RStatPollutionSubstationMMapper pollutionSubstationMMapper;
|
||||
private final RStatPollutionSubstationYPOMapper pollutionSubstationYPOMapper;
|
||||
@@ -170,7 +174,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
return list;
|
||||
}
|
||||
|
||||
if (harmonicPublicParam.getType() == 0) {
|
||||
if (harmonicPublicParam.getType() != 0) {
|
||||
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
|
||||
pmsDeviceInfoParam.setDeptIndex(harmonicPublicParam.getDeptIndex());
|
||||
//获取统计类型
|
||||
@@ -187,29 +191,34 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
pollutionVO.setData (-1.0);
|
||||
setData(harmonicPublicParam, pollutionType, searchBeginTime, pollutionVO, detpid);
|
||||
|
||||
//子集变电站
|
||||
List<PollutionVO> powersVO = new ArrayList<>();
|
||||
PmsStatationStatInfoParam param=new PmsStatationStatInfoParam();
|
||||
param.setPowerIds(powers);
|
||||
List<PmsStatationStatInfoDTO> data = statationStatClient.getStatationStatInfo(param).getData();
|
||||
//去重解决重复数据
|
||||
ArrayList<PmsStatationStatInfoDTO> dsData = data.stream().collect(Collectors.collectingAndThen
|
||||
(Collectors.toCollection(() ->
|
||||
new TreeSet<>(Comparator.comparing(o -> o.getPowerId()))), ArrayList::new));
|
||||
Map<String, Double> stringDoubleMap = setPmsSubData(harmonicPublicParam, pollutionType, searchBeginTime, powers);
|
||||
if(CollectionUtil.isNotEmpty(data)){
|
||||
dsData.forEach(power->{
|
||||
PollutionVO pollutionsubVO = new PollutionVO ();
|
||||
pollutionsubVO.setId (power.getPowerId());
|
||||
pollutionsubVO.setName ( power.getPowerName ());
|
||||
pollutionsubVO.setPid (temp.getIndex ());
|
||||
if(stringDoubleMap.containsKey(power.getPowerId())){
|
||||
pollutionsubVO.setData(stringDoubleMap.get(power.getPowerId()));
|
||||
}
|
||||
powersVO.add (pollutionsubVO) ;
|
||||
});
|
||||
if(CollectionUtil.isNotEmpty(powers)){
|
||||
//子集变电站
|
||||
List<PollutionVO> powersVO = new ArrayList<>();
|
||||
PmsStatationStatInfoParam param=new PmsStatationStatInfoParam();
|
||||
param.setPowerIds(powers);
|
||||
List<PmsStatationStatInfoDTO> data = statationStatClient.getStatationStatInfo(param).getData();
|
||||
//去重解决重复数据
|
||||
ArrayList<PmsStatationStatInfoDTO> dsData = data.stream().collect(Collectors.collectingAndThen
|
||||
(Collectors.toCollection(() ->
|
||||
new TreeSet<>(Comparator.comparing(o -> o.getPowerId()))), ArrayList::new));
|
||||
Map<String, Double> stringDoubleMap = setPmsSubData(harmonicPublicParam, pollutionType, searchBeginTime, powers);
|
||||
if(CollectionUtil.isNotEmpty(data)){
|
||||
dsData.forEach(power->{
|
||||
PollutionVO pollutionsubVO = new PollutionVO ();
|
||||
pollutionsubVO.setId (power.getPowerId());
|
||||
pollutionsubVO.setName ( power.getPowerName ());
|
||||
pollutionsubVO.setPid (temp.getIndex ());
|
||||
if(CollectionUtil.isNotEmpty(stringDoubleMap)){
|
||||
if(stringDoubleMap.containsKey(power.getPowerId())){
|
||||
pollutionsubVO.setData(stringDoubleMap.get(power.getPowerId()));
|
||||
}
|
||||
}
|
||||
powersVO.add (pollutionsubVO) ;
|
||||
});
|
||||
}
|
||||
powersVO.sort((item1, item2) -> item2.getData().compareTo(item1.getData()));
|
||||
pollutionVO.setChildren (powersVO);
|
||||
}
|
||||
pollutionVO.setChildren (powersVO);
|
||||
list.add (pollutionVO);
|
||||
});
|
||||
|
||||
@@ -378,35 +387,46 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
String searchBeginTime = deptParam.getSearchBeginTime ( ).substring (0,10);
|
||||
List<PollutionSubstationDTO> list = new ArrayList<>();
|
||||
|
||||
if (deptParam.getType() == 0) {
|
||||
if (deptParam.getType() != 0) {
|
||||
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
|
||||
pmsDeviceInfoParam.setDeptIndex(deptParam.getDeptIndex());
|
||||
//根据部门code获取部门id
|
||||
Dept dept = deptFeignClient.getDeptByCode(deptParam.getDeptIndex()).getData();
|
||||
if(ObjectUtil.isNull(dept)){
|
||||
return list;
|
||||
}
|
||||
pmsDeviceInfoParam.setDeptIndex(dept.getId());
|
||||
//获取统计类型
|
||||
pmsDeviceInfoParam.setStatisticalType(deptParam.getStatisticalType());
|
||||
//获取主网台账信息
|
||||
List<PmsGeneralDeviceDTO> deviceList = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData();
|
||||
deviceList.forEach(temp->{
|
||||
List<String> powers = temp.getPowerrIdList ( );
|
||||
PmsStatationStatInfoParam param=new PmsStatationStatInfoParam();
|
||||
param.setPowerIds(powers);
|
||||
List<PmsStatationStatInfoDTO> data = statationStatClient.getStatationStatInfo(param).getData();
|
||||
//去重解决重复数据
|
||||
ArrayList<PmsStatationStatInfoDTO> dsData = data.stream().collect(Collectors.collectingAndThen
|
||||
(Collectors.toCollection(() ->
|
||||
new TreeSet<>(Comparator.comparing(o -> o.getPowerId()))), ArrayList::new));
|
||||
Map<String, Double> stringDoubleMap = setPmsSubData(deptParam, pollutionType, searchBeginTime, powers);
|
||||
if(CollectionUtil.isNotEmpty(data)){
|
||||
dsData.forEach(power->{
|
||||
PollutionSubstationDTO dto=new PollutionSubstationDTO();
|
||||
dto.setId(power.getPowerId());
|
||||
dto.setName(power.getPowerName());
|
||||
dto.setVoltageLevel(power.getPowerVoltageLevel());
|
||||
if(stringDoubleMap.containsKey(power.getPowerId())){
|
||||
dto.setData(stringDoubleMap.get(power.getPowerId()));
|
||||
}
|
||||
list.add (dto) ;
|
||||
});
|
||||
//变电站不为空
|
||||
if(CollectionUtil.isNotEmpty(powers)){
|
||||
PmsStatationStatInfoParam param=new PmsStatationStatInfoParam();
|
||||
param.setPowerIds(powers);
|
||||
List<PmsStatationStatInfoDTO> data = statationStatClient.getStatationStatInfo(param).getData();
|
||||
//去重解决重复数据
|
||||
ArrayList<PmsStatationStatInfoDTO> dsData = data.stream().collect(Collectors.collectingAndThen
|
||||
(Collectors.toCollection(() ->
|
||||
new TreeSet<>(Comparator.comparing(o -> o.getPowerId()))), ArrayList::new));
|
||||
Map<String, Double> stringDoubleMap = setPmsSubData(deptParam, pollutionType, searchBeginTime, powers);
|
||||
if(CollectionUtil.isNotEmpty(data)){
|
||||
dsData.forEach(power->{
|
||||
PollutionSubstationDTO dto=new PollutionSubstationDTO();
|
||||
dto.setId(power.getPowerId());
|
||||
dto.setName(power.getPowerName());
|
||||
dto.setVoltageLevel(power.getPowerVoltageLevel());
|
||||
if(CollectionUtil.isNotEmpty(stringDoubleMap)){
|
||||
if(stringDoubleMap.containsKey(power.getPowerId())){
|
||||
dto.setData(stringDoubleMap.get(power.getPowerId()));
|
||||
}
|
||||
}
|
||||
list.add (dto) ;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}else{
|
||||
deptParam.setServerName(generalInfo.getMicroServiceName());
|
||||
@@ -487,9 +507,10 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
|
||||
return list;
|
||||
}
|
||||
if (harmonicPublicParam.getType() == 0) {
|
||||
if (harmonicPublicParam.getType() != 0) {
|
||||
PmsStatationStatInfoParam param=new PmsStatationStatInfoParam();
|
||||
param.setPowerIds(Arrays.asList(harmonicPublicParam.getId()));
|
||||
//获取变电站详情
|
||||
List<PmsStatationStatInfoDTO> data = statationStatClient.getStatationStatInfo(param).getData();
|
||||
if(CollectionUtil.isNotEmpty(data)){
|
||||
List<String> monitorId = data.stream().map(PmsStatationStatInfoDTO::getMonitorId).collect(Collectors.toList());
|
||||
@@ -504,8 +525,10 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
dto.setSubstation(power.getPowerName());
|
||||
dto.setSubstationId(power.getPowerId());
|
||||
dto.setBusBar(power.getGeneratrixName());
|
||||
if(lineMap.containsKey(power.getMonitorId())){
|
||||
dto.setData(lineMap.get(power.getMonitorId()));
|
||||
if(CollectionUtil.isNotEmpty(lineMap)){
|
||||
if(lineMap.containsKey(power.getMonitorId())){
|
||||
dto.setData(lineMap.get(power.getMonitorId()));
|
||||
}
|
||||
}
|
||||
list.add (dto) ;
|
||||
}
|
||||
@@ -539,6 +562,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
|
||||
@Override
|
||||
public List<PollutionLineDTO> getLineRank(HarmonicPublicParam param) {
|
||||
List<PollutionLineDTO> list= new ArrayList<>();
|
||||
String pollutionType = param.getStatisticalType ( ).getId ();
|
||||
String searchBeginTime = "";
|
||||
if(Objects.equals (param.getReportFlag (),BizParamConstant.STAT_BIZ_YEAR) ){
|
||||
@@ -564,22 +588,38 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
});
|
||||
|
||||
if(CollectionUtil.isNotEmpty(monitorIdList)){
|
||||
//获取监测点数据
|
||||
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( monitorIdList,pollutionType,searchBeginTime);
|
||||
|
||||
if(CollectionUtil.isEmpty(lineData)){
|
||||
return list;
|
||||
}
|
||||
|
||||
//获取主网监测点信息
|
||||
List<Monitor> data = monitorClient.getMonitorList(monitorIdList).getData();
|
||||
Map<String, Monitor> monitorMap = data.stream().collect(Collectors.toMap(Monitor::getId, Function.identity(), (key1, kye2) -> key1));
|
||||
lineData.sort((item1, item2) -> item2.getValue().compareTo(item1.getValue()));
|
||||
if (lineData.size() > Param.UP_LIMIT) {
|
||||
lineData = lineData.subList(Param.DOWN_LIMIT, Param.UP_LIMIT);
|
||||
}
|
||||
|
||||
List<Monitor> data = monitorClient.getMonitorList(monitorIdList).getData();
|
||||
PollutionLineDTO dto;
|
||||
for (RMpPollutionDPO lineDatum : lineData) {
|
||||
if(monitorMap.containsKey(lineDatum.getLineId())){
|
||||
Monitor monitor = monitorMap.get(lineDatum.getLineId());
|
||||
dto=new PollutionLineDTO();
|
||||
dto.setId(monitor.getId());
|
||||
dto.setName(monitor.getName());
|
||||
dto.setPowerCompany(monitor.getOrgName());
|
||||
dto.setSubstation(monitor.getPowerrId());
|
||||
dto.setSubstationId(monitor.getPowerrName());
|
||||
dto.setBusBar(monitor.getLineName());
|
||||
dto.setData(lineDatum.getValue());
|
||||
list.add(dto);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
deviceList.forEach(temp->{
|
||||
|
||||
});
|
||||
|
||||
|
||||
return null;
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user