日志记录调整

This commit is contained in:
2025-06-24 20:54:10 +08:00
parent 95b9bef76e
commit 70f5cde320
2 changed files with 33 additions and 25 deletions

View File

@@ -178,6 +178,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
public List<DetailAbnormalVO> monitorAbnormalTable(MonitorBaseParam monitorBaseParam) { public List<DetailAbnormalVO> monitorAbnormalTable(MonitorBaseParam monitorBaseParam) {
List<DetailAbnormalVO> result = new ArrayList<>(); List<DetailAbnormalVO> result = new ArrayList<>();
//参数校验
Map<String, PqReasonableRangeDto> rangeMap= getStandRange(); Map<String, PqReasonableRangeDto> rangeMap= getStandRange();
if(StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) { if(StrUtil.isNotBlank(monitorBaseParam.getTargetKey())) {
if (!rangeMap.containsKey(monitorBaseParam.getTargetKey())) { if (!rangeMap.containsKey(monitorBaseParam.getTargetKey())) {
@@ -185,6 +186,7 @@ public class PqDataVerifyBakServiceImpl extends ServiceImpl<PqDataVerifyBakMappe
} }
} }
//查询台账
List<LineDevGetDTO> lineDetailList = lineMapper.getMonitorListDetail(monitorBaseParam.getMonitorIds()); List<LineDevGetDTO> lineDetailList = lineMapper.getMonitorListDetail(monitorBaseParam.getMonitorIds());
Map<String, LineDevGetDTO> lineDetailMap = lineDetailList.stream().collect(Collectors.toMap(LineDevGetDTO::getPointId, Function.identity())); Map<String, LineDevGetDTO> lineDetailMap = lineDetailList.stream().collect(Collectors.toMap(LineDevGetDTO::getPointId, Function.identity()));

View File

@@ -498,7 +498,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
if(CollUtil.isNotEmpty(logsList)){ if(CollUtil.isNotEmpty(logsList)){
List<PqsTerminalLogs> pqsTerminalLogsList = new ArrayList<>(); List<PqsTerminalLogs> pqsTerminalLogsList = new ArrayList<>();
terminalLogsCat(logsList,Param.ADD,pqsTerminalLogsList); terminalLogsCat(logsList,Param.ADD,pqsTerminalLogsList,new HashMap<>());
for(PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList){ for(PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList){
pqsTerminalLogsMapper.insert(pqsTerminalLogs); pqsTerminalLogsMapper.insert(pqsTerminalLogs);
} }
@@ -1366,7 +1366,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
} }
private void deleteProjectAndChildren(Line project,List<Line> ledgerList,List<PqsTerminalLogs> logsList) { private void deleteProjectAndChildren(Line project,List<Line> ledgerList,List<PqsTerminalLogs> logsList,Map<String,Node> nodeMap) {
// 1. 删除项目本身 // 1. 删除项目本身
this.removeById(project.getId()); this.removeById(project.getId());
@@ -1383,10 +1383,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
this.removeByIds(provinceIds); this.removeByIds(provinceIds);
// 3. 对每个省份删除其下级 // 3. 对每个省份删除其下级
provinceIds.forEach(it-> deleteProvinceAndChildren(it,ledgerList,logsList)); provinceIds.forEach(it-> deleteProvinceAndChildren(it,ledgerList,logsList,nodeMap));
} }
private void deleteProvinceAndChildren(String provinceId,List<Line> ledgerList,List<PqsTerminalLogs> logsList) { private void deleteProvinceAndChildren(String provinceId,List<Line> ledgerList,List<PqsTerminalLogs> logsList,Map<String,Node> nodeMap) {
this.removeById(provinceId); this.removeById(provinceId);
// 1. 查询并删除所有供电公司 // 1. 查询并删除所有供电公司
@@ -1402,10 +1402,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
this.removeByIds(companyIds); this.removeByIds(companyIds);
// 2. 对每个供电公司删除其下级 // 2. 对每个供电公司删除其下级
companyIds.forEach(it-> deletePowerCompanyAndChildren(it,ledgerList,logsList)); companyIds.forEach(it-> deletePowerCompanyAndChildren(it,ledgerList,logsList,nodeMap));
} }
private void deletePowerCompanyAndChildren(String companyId,List<Line> ledgerList,List<PqsTerminalLogs> logsList) { private void deletePowerCompanyAndChildren(String companyId,List<Line> ledgerList,List<PqsTerminalLogs> logsList,Map<String,Node> nodeMap) {
this.removeById(companyId); this.removeById(companyId);
// 1. 查询并删除所有变电站 // 1. 查询并删除所有变电站
List<Line> substations = findChildren(companyId); List<Line> substations = findChildren(companyId);
@@ -1424,10 +1424,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
substationMapper.deleteBatchIds(substationIds); substationMapper.deleteBatchIds(substationIds);
// 2. 对每个变电站删除其下级 // 2. 对每个变电站删除其下级
substationIds.forEach(it-> deleteSubstationAndChildren(it,ledgerList,logsList)); substationIds.forEach(it-> deleteSubstationAndChildren(it,ledgerList,logsList,nodeMap));
} }
private void deleteSubstationAndChildren(String substationId,List<Line> ledgerList,List<PqsTerminalLogs> logsList) { private void deleteSubstationAndChildren(String substationId,List<Line> ledgerList,List<PqsTerminalLogs> logsList,Map<String,Node> nodeMap) {
this.removeById(substationId); this.removeById(substationId);
substationMapper.deleteById(substationId); substationMapper.deleteById(substationId);
// 1. 查询并删除所有装置 // 1. 查询并删除所有装置
@@ -1459,13 +1459,19 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
});*/ });*/
// 2. 对每个装置删除其下级 // 2. 对每个装置删除其下级
deviceIds.forEach(it-> deleteDeviceAndChildren(it,ledgerList,logsList)); deviceIds.forEach(it-> deleteDeviceAndChildren(it,ledgerList,logsList,nodeMap));
} }
private void deleteDeviceAndChildren(String deviceId,List<Line> ledgerList,List<PqsTerminalLogs> logsList) { private void deleteDeviceAndChildren(String deviceId,List<Line> ledgerList,List<PqsTerminalLogs> logsList,Map<String,Node> nodeMap) {
Device device = deviceMapper.selectById(deviceId);
Node node = nodeService.getNodeById(device.getNodeId());
nodeMap.put(device.getId(),node);
this.removeById(deviceId); this.removeById(deviceId);
deviceMapper.deleteById(deviceId); deviceMapper.deleteById(deviceId);
// 1. 查询并删除所有母线 // 1. 查询并删除所有母线
List<Line> busbars = findChildren(deviceId); List<Line> busbars = findChildren(deviceId);
if (CollectionUtil.isEmpty(busbars)) { if (CollectionUtil.isEmpty(busbars)) {
@@ -1541,6 +1547,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
List<Line> logsLedger = new ArrayList<>(); List<Line> logsLedger = new ArrayList<>();
//用于存放最终日志信息 //用于存放最终日志信息
List<PqsTerminalLogs> allLogs = new ArrayList<>(); List<PqsTerminalLogs> allLogs = new ArrayList<>();
//用于记录删除终端的前置信息
Map<String,Node> nodeMap = new HashMap<>();
Line obj = this.getById(id); Line obj = this.getById(id);
if (Objects.isNull(obj)) { if (Objects.isNull(obj)) {
throw new BusinessException(CommonResponseEnum.FAIL); throw new BusinessException(CommonResponseEnum.FAIL);
@@ -1550,27 +1558,21 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
// 根据层级选择删除策略 // 根据层级选择删除策略
switch (lineBaseEnum) { switch (lineBaseEnum) {
case PROJECT_LEVEL: case PROJECT_LEVEL:
deleteProjectAndChildren(obj,logsLedger,allLogs); deleteProjectAndChildren(obj,logsLedger,allLogs,nodeMap);
break; break;
case PROVINCE_LEVEL: case PROVINCE_LEVEL:
deleteProvinceAndChildren(obj.getId(),logsLedger,allLogs); deleteProvinceAndChildren(obj.getId(),logsLedger,allLogs,nodeMap);
break; break;
case GD_LEVEL: case GD_LEVEL:
deletePowerCompanyAndChildren(obj.getId(),logsLedger,allLogs); deletePowerCompanyAndChildren(obj.getId(),logsLedger,allLogs,nodeMap);
break; break;
case SUB_LEVEL: case SUB_LEVEL:
deleteSubstationAndChildren(obj.getId(),logsLedger,allLogs); deleteSubstationAndChildren(obj.getId(),logsLedger,allLogs,nodeMap);
break; break;
case DEVICE_LEVEL: case DEVICE_LEVEL:
Line sub = this.getById(obj.getPid()); Line sub = this.getById(obj.getPid());
Device dev = deviceMapper.selectById(obj.getId()); logsLedger.add(sub);
String userName= RequestUtil.getUserNickname(); deleteDeviceAndChildren(obj.getId(),logsLedger,allLogs,nodeMap);
Map<String,DictData> dictDataMap = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_TYPE.getCode()).getData().stream().collect(Collectors.toMap(DictData::getId, Function.identity()));
DictData dicDataByCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.DEV_PARAMETER.getCode()).getData();
// devLogsCat(Param.DEL_ZN,null,obj,sub,dev,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName);
deleteDeviceAndChildren(obj.getId(),logsLedger,allLogs);
break; break;
case SUB_V_LEVEL: case SUB_V_LEVEL:
deleteBusbarAndChildren(obj.getId(),logsLedger,allLogs); deleteBusbarAndChildren(obj.getId(),logsLedger,allLogs);
@@ -1583,7 +1585,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
} }
if(CollUtil.isNotEmpty(logsLedger)){ if(CollUtil.isNotEmpty(logsLedger)){
terminalLogsCat(logsLedger,Param.DEL,allLogs); terminalLogsCat(logsLedger,Param.DEL,allLogs,nodeMap);
for(PqsTerminalLogs pqsTerminalLogs: allLogs){ for(PqsTerminalLogs pqsTerminalLogs: allLogs){
pqsTerminalLogsMapper.insert(pqsTerminalLogs); pqsTerminalLogsMapper.insert(pqsTerminalLogs);
} }
@@ -4015,7 +4017,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
/** /**
* 终端日志记录(只记录新增删除) * 终端日志记录(只记录新增删除)
*/ */
private void terminalLogsCat(List<Line> logsList,String operateType,List<PqsTerminalLogs> pqsTerminalLogsList){ private void terminalLogsCat(List<Line> logsList,String operateType,List<PqsTerminalLogs> pqsTerminalLogsList,Map<String,Node> nodeMap){
String op; String op;
Map<String,Line> subMap = new HashMap<>(); Map<String,Line> subMap = new HashMap<>();
List<Line> temList = logsList.stream().filter(it-> it.getLevel().equals(LINE_LEVEL.getCode()) ||it.getLevel().equals(DEVICE_LEVEL.getCode())).collect(Collectors.toList()); List<Line> temList = logsList.stream().filter(it-> it.getLevel().equals(LINE_LEVEL.getCode()) ||it.getLevel().equals(DEVICE_LEVEL.getCode())).collect(Collectors.toList());
@@ -4057,9 +4059,13 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
levelOperate = LINE_LEVEL.getMessage(); levelOperate = LINE_LEVEL.getMessage();
}else{ }else{
levelOperate = DEVICE_LEVEL.getMessage(); levelOperate = DEVICE_LEVEL.getMessage();
if(nodeMap.containsKey(line.getId())){
nodeName = ";前置信息:"+nodeMap.get(line.getName()).getId();
}
} }
subName = subMap.get(line.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).getName(); subName = subMap.get(line.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).getName();
String temLos = "%s进行%s%s操作; %s名称: %s"; String temLos = "%s进行%s%s操作;详细信息: %s名称: %s";
String tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"_"+line.getName()+nodeName); String tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"_"+line.getName()+nodeName);
pqsTerminalLogs.setTerminalDescribe(tem); pqsTerminalLogs.setTerminalDescribe(tem);
pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode()); pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode());