1.冀北电网一张图,区域终端统计,监测点分布统计修改
This commit is contained in:
@@ -3,8 +3,10 @@ package com.njcn.harmonic.service.majornetwork.impl;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.pq.api.GeneralDeviceInfoClient;
|
||||
import com.njcn.device.pq.api.LineIntegrityClient;
|
||||
import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO;
|
||||
@@ -21,6 +23,7 @@ import com.njcn.harmonic.mapper.RStatLimitTargetMapper;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO;
|
||||
import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO;
|
||||
import com.njcn.harmonic.service.majornetwork.RStatLimitService;
|
||||
import com.njcn.system.pojo.enums.StatisticsEnum;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -60,7 +63,6 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
@Override
|
||||
public List<GridDiagramVO.LineData> getGridDiagramLineData(DeviceInfoParam.BusinessParam deviceInfoParam) {
|
||||
List<GridDiagramVO.LineData> info=new ArrayList<>();
|
||||
|
||||
List<GeneralDeviceDTO> data = generalDeviceInfoClient.getPracticalRunDeviceInfo(deviceInfoParam).getData();
|
||||
List<GeneralDeviceDTO> list = data.stream().sorted(Comparator.comparing(x -> x.getLineIndexes().size(),Comparator.reverseOrder())).collect(Collectors.toList());
|
||||
//终端总数量
|
||||
@@ -89,39 +91,49 @@ public class RStatLimitServiceImpl implements RStatLimitService {
|
||||
}
|
||||
List<GeneralDeviceDTO> topList=new ArrayList<>();
|
||||
List<GeneralDeviceDTO> otherList=new ArrayList<>();
|
||||
if(list.size()>4){
|
||||
topList.addAll(list.subList(0, 4));
|
||||
otherList.addAll(list.subList(4, list.size()));
|
||||
}else{
|
||||
if(list.size()>3){
|
||||
topList.addAll(list.subList(0, 3));
|
||||
otherList.addAll(list.subList(3, list.size()));
|
||||
}else{
|
||||
if(list.size()>2){
|
||||
topList.addAll(list.subList(0, 2));
|
||||
otherList.addAll(list.subList(2, list.size()));
|
||||
if(ObjectUtil.isNotNull(deviceInfoParam.getStatisticalType())){
|
||||
SimpleDTO statisticalType = deviceInfoParam.getStatisticalType();
|
||||
if(!StatisticsEnum.POWER_NETWORK.getCode().equals(statisticalType.getCode())){
|
||||
if(list.size()>4){
|
||||
topList.addAll(list.subList(0, 4));
|
||||
otherList.addAll(list.subList(4, list.size()));
|
||||
}else{
|
||||
topList.addAll(list.subList(0, 1));
|
||||
otherList.addAll(list.subList(1, list.size()));
|
||||
if(list.size()>3){
|
||||
topList.addAll(list.subList(0, 3));
|
||||
otherList.addAll(list.subList(3, list.size()));
|
||||
}else{
|
||||
if(list.size()>2){
|
||||
topList.addAll(list.subList(0, 2));
|
||||
otherList.addAll(list.subList(2, list.size()));
|
||||
}else{
|
||||
topList.addAll(list.subList(0, 1));
|
||||
otherList.addAll(list.subList(1, list.size()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}else{
|
||||
topList.addAll(list);
|
||||
}
|
||||
}else{
|
||||
topList.addAll(list);
|
||||
}
|
||||
GridDiagramVO.LineData lineData;
|
||||
for (GeneralDeviceDTO dto : topList) {
|
||||
lineData=new GridDiagramVO.LineData();
|
||||
lineData.setOrgId(dto.getIndex());
|
||||
lineData.setOrgName(dto.getName()+"("+dto.getLineIndexes().size()+")");
|
||||
lineData.setOrgName(dto.getName()+"\n("+dto.getLineIndexes().size()+")");
|
||||
onLineAndIntegrity(dto.getLineIndexes(), integrityList, dto.getDeviceIndexes(), onlineRateList,limitTargetList, lineData);
|
||||
info.add(lineData);
|
||||
}
|
||||
List<String> otherDevIds = otherList.stream().flatMap(x -> x.getDeviceIndexes().stream()).distinct().collect(Collectors.toList());
|
||||
List<String> otherLineIds = otherList.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
|
||||
lineData=new GridDiagramVO.LineData();
|
||||
lineData.setOrgId("123456");
|
||||
lineData.setOrgName("其他("+otherLineIds.size()+")");
|
||||
onLineAndIntegrity(otherLineIds, integrityList, otherDevIds, onlineRateList,limitTargetList, lineData);
|
||||
info.add(lineData);
|
||||
|
||||
if(CollUtil.isNotEmpty(otherList)){
|
||||
List<String> otherDevIds = otherList.stream().flatMap(x -> x.getDeviceIndexes().stream()).distinct().collect(Collectors.toList());
|
||||
List<String> otherLineIds = otherList.stream().flatMap(x -> x.getLineIndexes().stream()).distinct().collect(Collectors.toList());
|
||||
lineData=new GridDiagramVO.LineData();
|
||||
lineData.setOrgId("123456");
|
||||
lineData.setOrgName("其他\n("+otherLineIds.size()+")");
|
||||
onLineAndIntegrity(otherLineIds, integrityList, otherDevIds, onlineRateList,limitTargetList, lineData);
|
||||
info.add(lineData);
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user