1.pms bug修改

2.监测点稳态指标合格率算法开发
This commit is contained in:
huangzj
2023-03-06 10:32:03 +08:00
parent c20ef391d7
commit 779b95d6b5
43 changed files with 1735 additions and 229 deletions

View File

@@ -10,9 +10,7 @@ import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam;
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
import com.njcn.harmonic.mapper.majornetwork.RMpBenchmarkLevelMMapper;
import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam;
@@ -27,10 +25,8 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -48,6 +44,7 @@ implements RMpBenchmarkLevelMService {
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
private final MonitorClient monitorClient;
private DecimalFormat df = new DecimalFormat("#.00");
@Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
@@ -129,6 +126,70 @@ implements RMpBenchmarkLevelMService {
rMpBenchmarkLevelVO.setVoltageLevelName(voltageLevelMap.get(monitorMap.get(item.getMeasurementPointId()).getVoltageLevel()));
return rMpBenchmarkLevelVO;
}).collect(Collectors.toList());
/*添加type在区分接口返回值*/
if(Objects.equals (rMpBenchmarkLevelParam.getReturnType (), "1")){
Map<String, List<RMpBenchmarkLevelVO>> collect = resultList.stream ( ).collect (Collectors.groupingBy (temp -> temp.getOrgName ( ) + temp.getVoltageLevel ()));
List<RMpBenchmarkLevelVO> finalList= new ArrayList<> ();
collect.forEach ((k, v) ->{
RMpBenchmarkLevelVO rMpBenchmarkLevelVO = new RMpBenchmarkLevelVO();
rMpBenchmarkLevelVO.setOrgName (v.get (0).getOrgName ());
rMpBenchmarkLevelVO.setVoltageLevel (v.get (0).getVoltageLevel ());
rMpBenchmarkLevelVO.setVoltageLevelName (v.get (0).getVoltageLevelName ());
rMpBenchmarkLevelVO.setVoltageAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVoltageAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVoltageSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVoltageSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setUnbalanceAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getUnbalanceAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setUnbalanceSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getUnbalanceSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVthdAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVthdAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVthdSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVthdSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setFlickerAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getFlickerAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setFlickerSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getFlickerSd).
average ().
getAsDouble ())));
finalList.add (rMpBenchmarkLevelVO);
});
return finalList;
}else if(
Objects.equals (rMpBenchmarkLevelParam.getReturnType (), "2")
){
Map<String, List<RMpBenchmarkLevelVO>> collect = resultList.stream ( ).collect (Collectors.groupingBy (temp -> temp.getOrgName ( ) + temp.getMonitorTag ()));
List<RMpBenchmarkLevelVO> finalList= new ArrayList<> ();
collect.forEach ((k, v) ->{
RMpBenchmarkLevelVO rMpBenchmarkLevelVO = new RMpBenchmarkLevelVO();
rMpBenchmarkLevelVO.setOrgName (v.get (0).getOrgName ());
rMpBenchmarkLevelVO.setMonitorTag (v.get (0).getMonitorTag ());
rMpBenchmarkLevelVO.setEventAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getEventAvg).sum ());
rMpBenchmarkLevelVO.setRiseAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getRiseAvg).sum ());
rMpBenchmarkLevelVO.setInterruptAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getInterruptAvg).sum ());
finalList.add (rMpBenchmarkLevelVO);
});
return finalList;
}
return resultList;
}

View File

@@ -10,9 +10,7 @@ import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam;
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
import com.njcn.harmonic.mapper.majornetwork.RMpBenchmarkLevelQMapper;
import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam;
@@ -27,10 +25,8 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -48,6 +44,7 @@ implements RMpBenchmarkLevelQService {
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
private final MonitorClient monitorClient;
private DecimalFormat df = new DecimalFormat("#.00");
@Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
@@ -129,6 +126,70 @@ implements RMpBenchmarkLevelQService {
rMpBenchmarkLevelVO.setVoltageLevelName(voltageLevelMap.get(monitorMap.get(item.getMeasurementPointId()).getVoltageLevel()));
return rMpBenchmarkLevelVO;
}).collect(Collectors.toList());
/*添加type在区分接口返回值*/
if(Objects.equals (rMpBenchmarkLevelParam.getReturnType (), "1")){
Map<String, List<RMpBenchmarkLevelVO>> collect = resultList.stream ( ).collect (Collectors.groupingBy (temp -> temp.getOrgName ( ) + temp.getVoltageLevel ()));
List<RMpBenchmarkLevelVO> finalList= new ArrayList<> ();
collect.forEach ((k, v) ->{
RMpBenchmarkLevelVO rMpBenchmarkLevelVO = new RMpBenchmarkLevelVO();
rMpBenchmarkLevelVO.setOrgName (v.get (0).getOrgName ());
rMpBenchmarkLevelVO.setVoltageLevel (v.get (0).getVoltageLevel ());
rMpBenchmarkLevelVO.setVoltageLevelName (v.get (0).getVoltageLevelName ());
rMpBenchmarkLevelVO.setVoltageAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVoltageAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVoltageSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVoltageSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setUnbalanceAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getUnbalanceAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setUnbalanceSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getUnbalanceSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVthdAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVthdAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVthdSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVthdSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setFlickerAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getFlickerAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setFlickerSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getFlickerSd).
average ().
getAsDouble ())));
finalList.add (rMpBenchmarkLevelVO);
});
return finalList;
}else if(
Objects.equals (rMpBenchmarkLevelParam.getReturnType (), "2")
){
Map<String, List<RMpBenchmarkLevelVO>> collect = resultList.stream ( ).collect (Collectors.groupingBy (temp -> temp.getOrgName ( ) + temp.getMonitorTag ()));
List<RMpBenchmarkLevelVO> finalList= new ArrayList<> ();
collect.forEach ((k, v) ->{
RMpBenchmarkLevelVO rMpBenchmarkLevelVO = new RMpBenchmarkLevelVO();
rMpBenchmarkLevelVO.setOrgName (v.get (0).getOrgName ());
rMpBenchmarkLevelVO.setMonitorTag (v.get (0).getMonitorTag ());
rMpBenchmarkLevelVO.setEventAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getEventAvg).sum ());
rMpBenchmarkLevelVO.setRiseAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getRiseAvg).sum ());
rMpBenchmarkLevelVO.setInterruptAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getInterruptAvg).sum ());
finalList.add (rMpBenchmarkLevelVO);
});
return finalList;
}
return resultList;
}

View File

@@ -10,9 +10,7 @@ import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
import com.njcn.device.pms.pojo.param.PmsMonitorInfoParam;
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
import com.njcn.harmonic.mapper.majornetwork.RMpBenchmarkLevelYMapper;
import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam;
@@ -27,10 +25,8 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -48,6 +44,8 @@ implements RMpBenchmarkLevelYService {
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
private final MonitorClient monitorClient;
private DecimalFormat df = new DecimalFormat("#.00");
@Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
@@ -129,6 +127,70 @@ implements RMpBenchmarkLevelYService {
rMpBenchmarkLevelVO.setVoltageLevelName(voltageLevelMap.get(monitorMap.get(item.getMeasurementPointId()).getVoltageLevel()));
return rMpBenchmarkLevelVO;
}).collect(Collectors.toList());
/*添加type在区分接口返回值*/
if(Objects.equals (rMpBenchmarkLevelParam.getReturnType (), "1")){
Map<String, List<RMpBenchmarkLevelVO>> collect = resultList.stream ( ).collect (Collectors.groupingBy (temp -> temp.getOrgName ( ) + temp.getVoltageLevel ()));
List<RMpBenchmarkLevelVO> finalList= new ArrayList<> ();
collect.forEach ((k, v) ->{
RMpBenchmarkLevelVO rMpBenchmarkLevelVO = new RMpBenchmarkLevelVO();
rMpBenchmarkLevelVO.setOrgName (v.get (0).getOrgName ());
rMpBenchmarkLevelVO.setVoltageLevel (v.get (0).getVoltageLevel ());
rMpBenchmarkLevelVO.setVoltageLevelName (v.get (0).getVoltageLevelName ());
rMpBenchmarkLevelVO.setVoltageAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVoltageAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVoltageSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVoltageSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setUnbalanceAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getUnbalanceAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setUnbalanceSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getUnbalanceSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVthdAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVthdAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setVthdSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getVthdSd).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setFlickerAvg (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getFlickerAvg).
average ().
getAsDouble ())));
rMpBenchmarkLevelVO.setFlickerSd (Double.valueOf (df.format (v.stream ().
mapToDouble (RMpBenchmarkLevelVO::getFlickerSd).
average ().
getAsDouble ())));
finalList.add (rMpBenchmarkLevelVO);
});
return finalList;
}else if(
Objects.equals (rMpBenchmarkLevelParam.getReturnType (), "2")
){
Map<String, List<RMpBenchmarkLevelVO>> collect = resultList.stream ( ).collect (Collectors.groupingBy (temp -> temp.getOrgName ( ) + temp.getMonitorTag ()));
List<RMpBenchmarkLevelVO> finalList= new ArrayList<> ();
collect.forEach ((k, v) ->{
RMpBenchmarkLevelVO rMpBenchmarkLevelVO = new RMpBenchmarkLevelVO();
rMpBenchmarkLevelVO.setOrgName (v.get (0).getOrgName ());
rMpBenchmarkLevelVO.setMonitorTag (v.get (0).getMonitorTag ());
rMpBenchmarkLevelVO.setEventAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getEventAvg).sum ());
rMpBenchmarkLevelVO.setRiseAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getRiseAvg).sum ());
rMpBenchmarkLevelVO.setInterruptAvg (v.stream ().mapToDouble (RMpBenchmarkLevelVO::getInterruptAvg).sum ());
finalList.add (rMpBenchmarkLevelVO);
});
return finalList;
}
return resultList;
}

View File

@@ -2,22 +2,18 @@ package com.njcn.harmonic.service.majornetwork.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.constant.BizParamConstant;
import com.njcn.device.pms.api.PmsGeneratrixClient;
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO;
import com.njcn.device.pms.pojo.param.PmsGeneratrixParam;
import com.njcn.harmonic.mapper.majornetwork.RStatOrgBusbarVoltageMMapper;
import com.njcn.harmonic.mapper.majornetwork.RStatOrgBusbarVoltageQMapper;
import com.njcn.harmonic.mapper.majornetwork.RStatOrgBusbarVoltageYMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageM;
import com.njcn.harmonic.mapper.majornetwork.RStatOrgBusbarVoltageMMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO;
import com.njcn.harmonic.service.majornetwork.RStatOrgBusbarVoltageService;
import com.njcn.harmonic.utils.DeptUtil;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -48,8 +44,7 @@ public class RStatOrgBusbarVoltageServiceImpl extends ServiceImpl<RStatOrgBusbar
@Override
public List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatSubstationBizBaseParam param) {
//获取部门信息
List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
//List<DeptDTO> data = DeptUtil.getDeptSubsetVOList(deptList, param.getId());
List<DeptDTO> data = deptFeignClient.getDepSonDetailByDeptId(param.getId()).getData();
Map<String, DeptDTO> deptMap = data.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
@@ -78,30 +73,12 @@ public class RStatOrgBusbarVoltageServiceImpl extends ServiceImpl<RStatOrgBusbar
break;
}
}
if (CollectionUtil.isNotEmpty(temp)) {
//获取母线集合
List<String> busbarIds = temp.stream().map(RStatOrgBusbarVoltageVO::getBusbarId).collect(Collectors.toList());
PmsGeneratrixParam generatrixParam = new PmsGeneratrixParam();
generatrixParam.setGeneratrixIds(busbarIds);
generatrixParam.setGeneratrixVoltageLevel(param.getIds());
List<GeneratrixAndPowerStationDTO> generatrixDTO = pmsGeneratrixClient.getGeneratrixAndPowerStationInfo(generatrixParam).getData();
Map<String, GeneratrixAndPowerStationDTO> generatrixMap = generatrixDTO.stream().collect(
Collectors.toMap(GeneratrixAndPowerStationDTO::getGeneratrixId, Function.identity()));
Map<String, RStatOrgBusbarVoltageVO> orgMap = temp.stream().collect(Collectors.toMap(RStatOrgBusbarVoltageVO::getOrgNo, Function.identity()));
orgMap.forEach((key, value) -> {
if (deptMap.containsKey(key)) {
DeptDTO deptDTO = deptMap.get(key);
value.setOrgName(deptDTO.getName());
if (generatrixMap.containsKey(value.getBusbarId())) {
GeneratrixAndPowerStationDTO dto = generatrixMap.get(value.getBusbarId());
value.setBusbarVoltageLevel(dto.getGeneratrixVoltageLevel());
value.setPowerStationName(dto.getPowerName());
info.add(value);
}
}
});
}
return info;
temp= temp.stream ().map (rStatOrgBusbarVoltageVO -> {
DeptDTO deptDTO = deptMap.get (rStatOrgBusbarVoltageVO.getOrgNo ( ));
rStatOrgBusbarVoltageVO.setOrgName (deptDTO.getName ());
return rStatOrgBusbarVoltageVO;
}).collect(Collectors.toList());
return temp;
}
}