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