1.单位标数据质量算法兼容修改

This commit is contained in:
wr
2023-09-26 17:38:39 +08:00
parent 904a94fe83
commit 94779ce822
23 changed files with 687 additions and 430 deletions

View File

@@ -59,7 +59,7 @@ public interface CommTerminalGeneralClient {
HttpResult<List<DeptGetSubStationDTO>> deptSubStation(@RequestBody @Validated DeptGetLineParam deptGetLineParam);
/**
* 根据单位获取所有变电站
* 根据单位获取所有母线
*
* @author cdf
* @date 2023/5/10
@@ -77,6 +77,13 @@ public interface CommTerminalGeneralClient {
@PostMapping("deptGetDevice")
HttpResult<List<DeptGetDeviceDTO>> deptGetDevice(@RequestBody @Validated DeptGetLineParam deptGetLineParam);
/**
* @Description: 根据单位获取单位下的装置以及装置下的监测点
* @Author: wr
* @Date: 2023/9/25 10:30
*/
@PostMapping("deptGetDeviceAndMonitor")
HttpResult<List<DeptGetDeviceDTO>> deptGetDeviceAndMonitor(@RequestBody @Validated DeptGetLineParam deptGetLineParam);
/**
* 根据单站id获取监测点信息

View File

@@ -54,7 +54,7 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
@Override
public HttpResult<List<DeptGetBusBarDTO>> deptBusBar(DeptGetLineParam deptGetLineParam) {
log.error("{}异常,降级处理,异常为:{}", "根据单位获取所有变电站", throwable.toString());
log.error("{}异常,降级处理,异常为:{}", "根据单位获取所有母线", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@@ -64,6 +64,12 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<List<DeptGetDeviceDTO>> deptGetDeviceAndMonitor(DeptGetLineParam deptGetLineParam) {
log.error("{}异常,降级处理,异常为:{}", "根据单位获取单位下的装置以及装置下的监测点", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<LineDevGetBandDTO> substationGetLine(String substationId) {
log.error("{}异常,降级处理,异常为:{}", "根据单站id获取监测点信息", throwable.toString());

View File

@@ -123,6 +123,8 @@ public class PmsTerminal extends BaseEntity {
*/
private Integer status;
/**
* 通讯状态0中断1正常
*/
private Integer comFlag;
}

View File

@@ -119,7 +119,7 @@ public class CommTerminalController extends BaseController {
}
/**
* 根据单位获取所有变电站
* 根据单位获取所有母线
* @author cdf
* @date 2023/5/10
*/

View File

@@ -1,6 +1,8 @@
package com.njcn.device.pms.service.ledgerManger.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
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.enums.common.DataStateEnum;
@@ -252,9 +254,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
List<PmsMonitorBaseDTO> pmsMonitorBaseDTOList = distributionMonitorMapper.getDisMonitorAllList(null, 0);
List<String> pwTerminalIds = pmsMonitorBaseDTOList.stream().map(PmsMonitorBaseDTO::getTerminalId).distinct().collect(Collectors.toList());
lambdaQueryWrapper.clear();
lambdaQueryWrapper.in(PmsTerminal::getId, pwTerminalIds);
List<PmsTerminal> pwPmsTerminals = terminalMapper.selectList(lambdaQueryWrapper);
List<PmsTerminal> pwPmsTerminals = terminalMapper.selectList(new LambdaQueryWrapper<PmsTerminal>().in(CollUtil.isNotEmpty(pwTerminalIds),PmsTerminal::getId, pwTerminalIds));
Map<String, List<PmsTerminal>> mapPms = pwPmsTerminals.stream().collect(Collectors.groupingBy(PmsTerminal::getOrgId));
Map<String, List<Monitor>> monitorMap = new HashMap<>();
@@ -262,7 +262,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
if (type == 1) {
//获取装置接入的监测点
monitorMap = monitorList.stream().collect(Collectors.groupingBy(Monitor::getTerminalId));
pwMonitorMap = pmsMonitorBaseDTOList.stream().collect(Collectors.groupingBy(PmsMonitorBaseDTO::getTerminalId));
pwMonitorMap = pmsMonitorBaseDTOList.stream().filter(x-> ObjectUtil.isNotNull(x.getTerminalId())).collect(Collectors.groupingBy(PmsMonitorBaseDTO::getTerminalId));
}
@@ -285,6 +285,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
lineDevGetDTO.setDevId(dev.getId());
lineDevGetDTO.setType(0);
lineDevGetDTO.setUpdateTime(dev.getUpdateTime());
lineDevGetDTO.setComFlag(dev.getComFlag());
if(type == 1) {
if (finalMonitorMap.containsKey(dev.getId())) {
lineDevGetDTO.setMonitorIds(finalMonitorMap.get(dev.getId()).stream().map(Monitor::getId).distinct().collect(Collectors.toList()));
@@ -300,6 +301,7 @@ public class CommTerminalServiceImpl implements CommTerminalService {
lineDevGetDTO.setDevId(dev.getId());
lineDevGetDTO.setType(1);
lineDevGetDTO.setUpdateTime(dev.getUpdateTime());
lineDevGetDTO.setComFlag(dev.getComFlag());
if(type == 1) {
if (finalPwMonitorMap.containsKey(dev.getId())) {
lineDevGetDTO.setMonitorIds(finalMonitorMap.get(dev.getId()).stream().map(Monitor::getId).distinct().collect(Collectors.toList()));

View File

@@ -364,7 +364,10 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
//返回主网和配网监测信息
List<DeptGetChildrenDTO> deviceInfos = new ArrayList<>();
List<DeptDTO> deptInfos = deptFeignClient.getDeptDescendantIndexes(param.getDeptId(), Stream.of(0, 1).collect(Collectors.toList())).getData();
DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.LINE_STATE.getName(),DicDataEnum.RUN.getName()).getData();
if(Objects.isNull(dictData)){
throw new BusinessException("监测点状态字典为空");
}
for (DeptDTO deptInfo : deptInfos) {
List<DeptDTO> directDeptInfos = deptInfos.stream()
.filter(deptDTO -> deptDTO.getPid().equals(deptInfo.getId()))
@@ -374,7 +377,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
List<DeptDTO> dept = deptInfos.stream()
.filter(deptDTO -> deptDTO.getId().equals(deptInfo.getId()))
.collect(Collectors.toList());
deviceInfos.add(getPmsMonitor(dept.get(0), Collections.singletonList(dept.get(0).getCode())));
deviceInfos.add(getPmsMonitor(dept.get(0),dictData, Collections.singletonList(dept.get(0).getCode())));
} else {
List<String> deptIdList = new ArrayList<>();
for (DeptDTO deptDTO : directDeptInfos) {
@@ -389,7 +392,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
.collect(Collectors.toList()));
deptIdList.add(deptDTO.getCode());
}
deviceInfos.add(getPmsMonitor(deptInfo, deptIdList));
deviceInfos.add(getPmsMonitor(deptInfo, dictData,deptIdList));
}
}
return deviceInfos;
@@ -460,7 +463,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
* @param deptIdList
* @return
*/
private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO, List<String> deptIdList) {
private DeptGetChildrenDTO getPmsMonitor(DeptDTO deptDTO,DictData dictData, List<String> deptIdList) {
DeptGetChildrenDTO pmsDeptGetChildrenDTO = new DeptGetChildrenDTO();
pmsDeptGetChildrenDTO.setDeptId(deptDTO.getCode());
if (deptDTO.getType() == 0) {
@@ -473,6 +476,7 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
//主网监测点
List<Monitor> monitorList = this.list(new LambdaQueryWrapper<Monitor>()
.select(Monitor::getId)
.eq(Monitor::getMonitorState,dictData.getId())
.in(CollUtil.isNotEmpty(deptIdList), Monitor::getOrgId, deptIdList));
//配网监测点
List<PmsMonitorBaseDTO> pwMonitorList = iDistributionMonitorService.getMonitorByCondition(deptIdList, null);

View File

@@ -47,7 +47,8 @@
dev.id devId,
dic.value voltageLevel,
1 as type ,
device.update_time
device.update_time,
device.Com_Flag as comFlag
</if>
from pq_dept_line pq_dept_line
inner join pq_line point on pq_dept_line.line_id = point.id