代码调整
This commit is contained in:
@@ -72,7 +72,11 @@ public class GridServiceImpl implements IGridService {
|
||||
deptGetLineParam.setServerName("harmonic-boot");
|
||||
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||
//获取监测点集合
|
||||
List<String> lineList = this.getLineList(list,param.getIsUpToGrid(),null);
|
||||
Map<String,List<String>> lineMap = this.getLineMap(list, param.getIsUpToGrid(), null);
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(lineList)) {
|
||||
List<PqsComasses> comasses = new ArrayList<>();
|
||||
//获取监测点详细信息
|
||||
@@ -120,7 +124,11 @@ public class GridServiceImpl implements IGridService {
|
||||
deptGetLineParam.setServerName("harmonic-boot");
|
||||
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||
//获取监测点集合
|
||||
List<String> lineList = this.getLineList(list, param.getIsUpToGrid(),null);
|
||||
Map<String,List<String>> lineMap = this.getLineMap(list, param.getIsUpToGrid(), null);
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(lineList)){
|
||||
//获取监测点详细信息
|
||||
List<LineDetail> lineDetailList = lineFeignClient.getLineDetail(lineList).getData();
|
||||
@@ -157,7 +165,11 @@ public class GridServiceImpl implements IGridService {
|
||||
deptGetLineParam.setServerName("harmonic-boot");
|
||||
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||
//获取监测点集合
|
||||
List<String> lineList = this.getLineList(list, param.getIsUpToGrid(),null);
|
||||
Map<String,List<String>> lineMap = this.getLineMap(list, param.getIsUpToGrid(), null);
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(lineList)){
|
||||
//获取监测点详细信息
|
||||
List<LineDetail> lineDetailList = lineFeignClient.getLineDetail(lineList).getData();
|
||||
@@ -209,19 +221,22 @@ public class GridServiceImpl implements IGridService {
|
||||
deptGetLineParam.setServerName("harmonic-boot");
|
||||
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||
//获取监测点集合
|
||||
List<String> lineList = this.getLineList(list, param.getIsUpToGrid(),null);
|
||||
Map<String,List<String>> lineMap = this.getLineMap(list, param.getIsUpToGrid(), null);
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(lineList)) {
|
||||
//获取监测点所有指标数据
|
||||
List<RStatLimitRateDPO> limitRateList = rStatLimitRateDMapper.getAssessTargetRate(lineList,param.getStartTime(),param.getEndTime());
|
||||
//获取部门
|
||||
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData();
|
||||
Map<String, DeptGetChildrenMoreDTO> deptLineMap = list.stream().collect(Collectors.toMap(DeptGetChildrenMoreDTO::getUnitId, Function.identity()));
|
||||
deptList.forEach(item->{
|
||||
if (deptLineMap.containsKey(item.getId())) {
|
||||
if (lineMap.containsKey(item.getId())) {
|
||||
EvaluationVo.Children children = new EvaluationVo.Children();
|
||||
children.setDeptId(item.getId());
|
||||
children.setDeptName(item.getName());
|
||||
List<String> ll = deptLineMap.get(item.getId()).getLineBaseList().stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
List<String> ll = lineMap.get(item.getId());
|
||||
if (CollUtil.isNotEmpty(limitRateList)) {
|
||||
List<RStatLimitRateDPO> l1 = limitRateList.stream().filter(it->ll.contains(it.getLineId())).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(l1)){
|
||||
@@ -254,7 +269,11 @@ public class GridServiceImpl implements IGridService {
|
||||
deptGetLineParam.setServerName("harmonic-boot");
|
||||
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||
//获取监测点集合
|
||||
List<String> line = this.getLineList(list,param.getIsUpToGrid(),param.getVoltageLevel());
|
||||
Map<String,List<String>> lineMap = this.getLineMap(list, param.getIsUpToGrid(), param.getVoltageLevel());
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
//获取数据
|
||||
EvaluationLevelVo vo1 = new EvaluationLevelVo();
|
||||
vo1.setTargetName(DicDataEnum.FREQUENCY_DEV.getName());
|
||||
@@ -266,11 +285,11 @@ public class GridServiceImpl implements IGridService {
|
||||
vo4.setTargetName(DicDataEnum.phase_Voltage.getName());
|
||||
EvaluationLevelVo vo5 = new EvaluationLevelVo();
|
||||
vo5.setTargetName(DicDataEnum.FLICKER.getName());
|
||||
if (CollUtil.isNotEmpty(line)) {
|
||||
List<RStatDataVD> list1 = getList1(line,param.getStartTime(),param.getEndTime());
|
||||
List<RStatDataVD> list2 = getList2(line,param.getStartTime(),param.getEndTime());
|
||||
List<RStatDataVD> list3 = getList3(line,param.getStartTime(),param.getEndTime());
|
||||
List<RStatDataPltDPO> list4 = getList4(line,param.getStartTime(),param.getEndTime());
|
||||
if (CollUtil.isNotEmpty(lineList)) {
|
||||
List<RStatDataVD> list1 = getList1(lineList,param.getStartTime(),param.getEndTime());
|
||||
List<RStatDataVD> list2 = getList2(lineList,param.getStartTime(),param.getEndTime());
|
||||
List<RStatDataVD> list3 = getList3(lineList,param.getStartTime(),param.getEndTime());
|
||||
List<RStatDataPltDPO> list4 = getList4(lineList,param.getStartTime(),param.getEndTime());
|
||||
if (CollUtil.isNotEmpty(list1)) {
|
||||
List<Double> d = list1.stream().map(o->o.getFreqDev().doubleValue()).collect(Collectors.toList());
|
||||
double avg = d.stream().collect(Collectors.averagingDouble(x->x));
|
||||
@@ -314,7 +333,11 @@ public class GridServiceImpl implements IGridService {
|
||||
deptGetLineParam.setServerName("harmonic-boot");
|
||||
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||
//获取监测点集合
|
||||
List<String> line = this.getLineList(list, param.getIsUpToGrid(),null);
|
||||
Map<String,List<String>> lineMap = this.getLineMap(list, param.getIsUpToGrid(), null);
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
//按月获取时间集合
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
// 获取当前年份
|
||||
@@ -328,7 +351,7 @@ public class GridServiceImpl implements IGridService {
|
||||
vo.setTime(month.toString());
|
||||
vo.setTargetList(Arrays.asList(DicDataEnum.FREQUENCY_DEV.getName(),DicDataEnum.VOLTAGE_DEV.getName(),DicDataEnum.THD_V.getName(),DicDataEnum.phase_Voltage.getName(),DicDataEnum.FLICKER.getName()));
|
||||
//获取监测点越限集合
|
||||
List<RStatLimitRateDPO> overLimitList = rStatLimitRateDMapper.getAssessTargetRate(line,firstDayOfMonth,lastDayOfMonth);
|
||||
List<RStatLimitRateDPO> overLimitList = rStatLimitRateDMapper.getAssessTargetRate(lineList,firstDayOfMonth,lastDayOfMonth);
|
||||
if (CollUtil.isNotEmpty(overLimitList)) {
|
||||
long freqDev = overLimitList.stream().filter(obj -> obj.getFreqDevOvertime() > 0).count();
|
||||
long vDev = overLimitList.stream().filter(obj -> obj.getVoltageDevOvertime() > 0).count();
|
||||
@@ -354,20 +377,23 @@ public class GridServiceImpl implements IGridService {
|
||||
deptGetLineParam.setServerName("harmonic-boot");
|
||||
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||
//获取监测点集合
|
||||
List<String> line = this.getLineList(list, param.getIsUpToGrid(),null);
|
||||
if (CollUtil.isNotEmpty(line)) {
|
||||
Map<String,List<String>> lineMap = this.getLineMap(list, param.getIsUpToGrid(), null);
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(lineList)) {
|
||||
//获取监测点越限集合
|
||||
List<RStatLimitTargetDPO> overLimitList = rStatLimitTargetDMapper.getSumTarget(line,param.getStartTime(),param.getEndTime());
|
||||
List<RStatLimitTargetDPO> overLimitList = rStatLimitTargetDMapper.getSumTarget(lineList,param.getStartTime(),param.getEndTime());
|
||||
//获取部门
|
||||
List<DeptDTO> deptList = deptFeignClient.getDepSonDetailByDeptId(param.getDeptIndex()).getData();
|
||||
Map<String, DeptGetChildrenMoreDTO> deptLineMap = list.stream().collect(Collectors.toMap(DeptGetChildrenMoreDTO::getUnitId, Function.identity()));
|
||||
deptList.forEach(item->{
|
||||
if (deptLineMap.containsKey(item.getId())) {
|
||||
if (lineMap.containsKey(item.getId())) {
|
||||
EvaluationLevelVo.EvaluationDetail detail = new EvaluationLevelVo.EvaluationDetail();
|
||||
detail.setDeptId(item.getId());
|
||||
detail.setDeptName(item.getName());
|
||||
if (CollUtil.isNotEmpty(deptLineMap.get(item.getId()).getLineBaseList())) {
|
||||
List<String> ll = deptLineMap.get(item.getId()).getLineBaseList().stream().map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(lineMap.get(item.getId()))) {
|
||||
List<String> ll = lineMap.get(item.getId());
|
||||
detail.setOnlineNum(ll.size());
|
||||
//筛选当前部门下监测点的超标数据
|
||||
List<RStatLimitTargetDPO> list2 = overLimitList.stream().filter(it->ll.contains(it.getLineId())).collect(Collectors.toList());
|
||||
@@ -439,11 +465,15 @@ public class GridServiceImpl implements IGridService {
|
||||
deptGetLineParam.setServerName("harmonic-boot");
|
||||
List<DeptGetChildrenMoreDTO> list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData();
|
||||
//获取监测点集合
|
||||
List<String> line = this.getLineList(list, param.getIsUpToGrid(),null);
|
||||
Map<String,List<String>> lineMap = this.getLineMap(list, param.getIsUpToGrid(), null);
|
||||
List<String> lineList = lineMap.values().stream()
|
||||
.flatMap(List::stream)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
//获取基础台账信息
|
||||
List<BaseLineInfo> baseLineInfos = generalDeviceInfoClient.getBaseLineInfo(line).getData();
|
||||
List<BaseLineInfo> baseLineInfos = generalDeviceInfoClient.getBaseLineInfo(lineList).getData();
|
||||
//获取越限详情
|
||||
List<RStatLimitRateDPO> overLimitList = rStatLimitRateDMapper.getAssessTargetRate(line,param.getStartTime(),param.getEndTime());
|
||||
List<RStatLimitRateDPO> overLimitList = rStatLimitRateDMapper.getAssessTargetRate(lineList,param.getStartTime(),param.getEndTime());
|
||||
Map<String, RStatLimitRateDPO> map = overLimitList.stream().collect(Collectors.toMap(RStatLimitRateDPO::getLineId,Function.identity()));
|
||||
baseLineInfos.forEach(item->{
|
||||
EvaluationLevelVo.QualifiedDetail qualifiedDetail = new EvaluationLevelVo.QualifiedDetail();
|
||||
@@ -715,7 +745,9 @@ public class GridServiceImpl implements IGridService {
|
||||
* @param type
|
||||
* @return
|
||||
*/
|
||||
public List<String> getLineList(List<DeptGetChildrenMoreDTO> list, Integer type, String voltage) {
|
||||
public Map<String,List<String>> getLineMap(List<DeptGetChildrenMoreDTO> list, Integer type, String voltage) {
|
||||
Map<String,List<String>> map = new HashMap<>();
|
||||
list.forEach(it->{
|
||||
// 默认不过滤
|
||||
Predicate<LineDevGetDTO> uploadFilter = item -> true;
|
||||
if (Objects.equals(type, 1)) {
|
||||
@@ -728,12 +760,13 @@ public class GridServiceImpl implements IGridService {
|
||||
}
|
||||
// 组合两个过滤条件
|
||||
Predicate<LineDevGetDTO> combinedFilter = uploadFilter.and(voltageFilter);
|
||||
return list.stream()
|
||||
.flatMap(item -> item.getLineBaseList().stream())
|
||||
map.put(it.getUnitId(),it.getLineBaseList().stream()
|
||||
.filter(combinedFilter)
|
||||
.map(LineDevGetDTO::getPointId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
.collect(Collectors.toList()));
|
||||
});
|
||||
return map;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user