台账日志
This commit is contained in:
@@ -211,34 +211,36 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
|
||||
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfo(businessParam, Stream.of(RunFlagEnum.RUNNING.getStatus()).collect(Collectors.toList()), Stream.of(PowerFlagEnum.REAL_DEVICE.getCode()).collect(Collectors.toList()));
|
||||
if (CollectionUtil.isNotEmpty(generalDeviceDTOList)) {
|
||||
if (generalDeviceDTOList.size() == 1 && generalDeviceDTOList.get(0).getIndex().equals(businessParam.getDeptIndex())) {
|
||||
//已经最底层,展示电站和用户场站
|
||||
List<MonitorInfoDTO> lineDetailList = lineMapper.getLineListByIds(generalDeviceDTOList.get(0).getLineIndexes());
|
||||
List<String> ids = lineDetailList.stream().map(MonitorInfoDTO::getId).distinct().collect(Collectors.toList());
|
||||
List<String> devIds = lineDetailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.DEVICE_LEVEL.getCode()]).distinct().collect(Collectors.toList());
|
||||
List<RStatIntegrityD> rStatIntegrityDList = new ArrayList<>();
|
||||
List<RStatOnlinerateD> rStatOnlinerateDList = new ArrayList<>();
|
||||
List<RStatLimitRateDPO> rStatLimitRateDPOList = new ArrayList<>();
|
||||
getData(rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, ids, devIds, businessParam.getSearchBeginTime(), businessParam.getSearchEndTime());
|
||||
List<MonitorInfoDTO> detailList = lineDetailList.stream().filter(it -> StrUtil.isNotBlank(it.getObjId())).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(detailList)) {
|
||||
List<String> objIds = detailList.stream().map(MonitorInfoDTO::getObjId).distinct().collect(Collectors.toList());
|
||||
Map<String, NewUserReportVO> userReportVOMap = getUserLedgerByObjIds(objIds);
|
||||
Map<String, List<MonitorInfoDTO>> map = detailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId));
|
||||
map.forEach((objId, list) -> {
|
||||
NewUserReportVO userLedgerVO = userReportVOMap.get(objId);
|
||||
commDataCat(list, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, result, userLedgerVO.getProjectName());
|
||||
});
|
||||
}
|
||||
List<MonitorInfoDTO> otherDetailList = lineDetailList.stream().filter(it -> StrUtil.isBlank(it.getObjId())).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(otherDetailList)) {
|
||||
List<String> subIds = otherDetailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList());
|
||||
List<Line> subList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId, subIds));
|
||||
Map<String, Line> subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity()));
|
||||
Map<String, List<MonitorInfoDTO>> map = otherDetailList.stream().collect(Collectors.groupingBy(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]));
|
||||
map.forEach((subId, list) -> {
|
||||
String name = subMap.get(subId).getName();
|
||||
commDataCat(list, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, result, name);
|
||||
});
|
||||
if(CollUtil.isNotEmpty(generalDeviceDTOList.get(0).getLineIndexes())) {
|
||||
//已经最底层,展示电站和用户场站
|
||||
List<MonitorInfoDTO> lineDetailList = lineMapper.getLineListByIds(generalDeviceDTOList.get(0).getLineIndexes());
|
||||
List<String> ids = lineDetailList.stream().map(MonitorInfoDTO::getId).distinct().collect(Collectors.toList());
|
||||
List<String> devIds = lineDetailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.DEVICE_LEVEL.getCode()]).distinct().collect(Collectors.toList());
|
||||
List<RStatIntegrityD> rStatIntegrityDList = new ArrayList<>();
|
||||
List<RStatOnlinerateD> rStatOnlinerateDList = new ArrayList<>();
|
||||
List<RStatLimitRateDPO> rStatLimitRateDPOList = new ArrayList<>();
|
||||
getData(rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, ids, devIds, businessParam.getSearchBeginTime(), businessParam.getSearchEndTime());
|
||||
List<MonitorInfoDTO> detailList = lineDetailList.stream().filter(it -> StrUtil.isNotBlank(it.getObjId())).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(detailList)) {
|
||||
List<String> objIds = detailList.stream().map(MonitorInfoDTO::getObjId).distinct().collect(Collectors.toList());
|
||||
Map<String, NewUserReportVO> userReportVOMap = getUserLedgerByObjIds(objIds);
|
||||
Map<String, List<MonitorInfoDTO>> map = detailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId));
|
||||
map.forEach((objId, list) -> {
|
||||
NewUserReportVO userLedgerVO = userReportVOMap.get(objId);
|
||||
commDataCat(list, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, result, userLedgerVO.getProjectName());
|
||||
});
|
||||
}
|
||||
List<MonitorInfoDTO> otherDetailList = lineDetailList.stream().filter(it -> StrUtil.isBlank(it.getObjId())).collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(otherDetailList)) {
|
||||
List<String> subIds = otherDetailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList());
|
||||
List<Line> subList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId, subIds));
|
||||
Map<String, Line> subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity()));
|
||||
Map<String, List<MonitorInfoDTO>> map = otherDetailList.stream().collect(Collectors.groupingBy(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]));
|
||||
map.forEach((subId, list) -> {
|
||||
String name = subMap.get(subId).getName();
|
||||
commDataCat(list, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, result, name);
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
||||
@@ -268,34 +270,36 @@ public class DeviceRunEvaluateServiceImpl implements DeviceRunEvaluateService {
|
||||
dateList.add(DateUtil.format(dateTime, DatePattern.NORM_DATE_PATTERN));
|
||||
}
|
||||
if (generalDeviceDTOList.size() == 1 && generalDeviceDTOList.get(0).getIndex().equals(businessParam.getDeptIndex())) {
|
||||
List<MonitorInfoDTO> lineDetailList = lineMapper.getLineListByIds(generalDeviceDTOList.get(0).getLineIndexes());
|
||||
List<RStatIntegrityD> rStatIntegrityDList = new ArrayList<>();
|
||||
List<RStatOnlinerateD> rStatOnlinerateDList = new ArrayList<>();
|
||||
List<RStatLimitRateDPO> rStatLimitRateDPOList = new ArrayList<>();
|
||||
getRangeData2(rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, generalDeviceDTOList.get(0).getLineIndexes(), generalDeviceDTOList.get(0).getDeviceIndexes(), DateUtil.format(start, DatePattern.NORM_DATE_PATTERN), DateUtil.format(end, DatePattern.NORM_DATE_PATTERN));
|
||||
Map<String, List<MonitorInfoDTO>> lineMap = lineDetailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId));
|
||||
lineMap.forEach((key, detailList) -> {
|
||||
if (StrUtil.isNotBlank(key)) {
|
||||
List<String> objIds = detailList.stream().map(MonitorInfoDTO::getObjId).distinct().collect(Collectors.toList());
|
||||
Map<String, NewUserReportVO> userReportVOMap = getUserLedgerByObjIds(objIds);
|
||||
Map<String, List<MonitorInfoDTO>> map = detailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId));
|
||||
map.forEach((objId, list) -> {
|
||||
NewUserReportVO userLedgerVO = userReportVOMap.get(objId);
|
||||
nameList.add(userLedgerVO.getProjectName());
|
||||
rangeCatData(list, dateRange, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, scoreList);
|
||||
});
|
||||
} else {
|
||||
List<String> subIds = detailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList());
|
||||
List<Line> subList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId, subIds));
|
||||
Map<String, Line> subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity()));
|
||||
Map<String, List<MonitorInfoDTO>> map = detailList.stream().collect(Collectors.groupingBy(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]));
|
||||
map.forEach((subId, list) -> {
|
||||
String name = subMap.get(subId).getName();
|
||||
nameList.add(name);
|
||||
rangeCatData(list, dateRange, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, scoreList);
|
||||
});
|
||||
}
|
||||
});
|
||||
if (CollUtil.isNotEmpty(generalDeviceDTOList.get(0).getLineIndexes())) {
|
||||
List<MonitorInfoDTO> lineDetailList = lineMapper.getLineListByIds(generalDeviceDTOList.get(0).getLineIndexes());
|
||||
List<RStatIntegrityD> rStatIntegrityDList = new ArrayList<>();
|
||||
List<RStatOnlinerateD> rStatOnlinerateDList = new ArrayList<>();
|
||||
List<RStatLimitRateDPO> rStatLimitRateDPOList = new ArrayList<>();
|
||||
getRangeData2(rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, generalDeviceDTOList.get(0).getLineIndexes(), generalDeviceDTOList.get(0).getDeviceIndexes(), DateUtil.format(start, DatePattern.NORM_DATE_PATTERN), DateUtil.format(end, DatePattern.NORM_DATE_PATTERN));
|
||||
Map<String, List<MonitorInfoDTO>> lineMap = lineDetailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId));
|
||||
lineMap.forEach((key, detailList) -> {
|
||||
if (StrUtil.isNotBlank(key)) {
|
||||
List<String> objIds = detailList.stream().map(MonitorInfoDTO::getObjId).distinct().collect(Collectors.toList());
|
||||
Map<String, NewUserReportVO> userReportVOMap = getUserLedgerByObjIds(objIds);
|
||||
Map<String, List<MonitorInfoDTO>> map = detailList.stream().collect(Collectors.groupingBy(MonitorInfoDTO::getObjId));
|
||||
map.forEach((objId, list) -> {
|
||||
NewUserReportVO userLedgerVO = userReportVOMap.get(objId);
|
||||
nameList.add(userLedgerVO.getProjectName());
|
||||
rangeCatData(list, dateRange, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, scoreList);
|
||||
});
|
||||
} else {
|
||||
List<String> subIds = detailList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]).collect(Collectors.toList());
|
||||
List<Line> subList = lineMapper.selectList(new LambdaQueryWrapper<Line>().in(Line::getId, subIds));
|
||||
Map<String, Line> subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity()));
|
||||
Map<String, List<MonitorInfoDTO>> map = detailList.stream().collect(Collectors.groupingBy(it -> it.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]));
|
||||
map.forEach((subId, list) -> {
|
||||
String name = subMap.get(subId).getName();
|
||||
nameList.add(name);
|
||||
rangeCatData(list, dateRange, rStatIntegrityDList, rStatOnlinerateDList, rStatLimitRateDPOList, scoreList);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
} else {
|
||||
for (GeneralDeviceDTO generalDeviceDTO : generalDeviceDTOList) {
|
||||
if (CollUtil.isEmpty(generalDeviceDTO.getLineIndexes())) {
|
||||
|
||||
@@ -532,7 +532,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
|
||||
if(CollUtil.isNotEmpty(logsList)){
|
||||
DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.LINE_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData();
|
||||
terminalLogsCat(logsList,0,dataDic.getId());
|
||||
List<PqsTerminalLogs> pqsTerminalLogsList = new ArrayList<>();
|
||||
terminalLogsCat(logsList,Param.ADD,dataDic.getId(),pqsTerminalLogsList);
|
||||
for(PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList){
|
||||
pqsTerminalLogsMapper.insert(pqsTerminalLogs);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
@@ -697,8 +701,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
|
||||
for (DeviceParam updateDeviceParam : devList) {
|
||||
if (updateDeviceParam.getUpdateFlag() == 1) {
|
||||
devLogsCat(updateDeviceParam,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName);
|
||||
|
||||
Line devicePO = this.getById(updateDeviceParam.getDevIndex());
|
||||
Line sub = this.getById(devicePO.getPid());
|
||||
Device devDetail = deviceMapper.selectById(updateDeviceParam.getDevIndex());
|
||||
devLogsCat(Param.UPDATE,updateDeviceParam,devicePO,sub,devDetail,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName);
|
||||
|
||||
Line device = new Line();
|
||||
BeanUtils.copyProperties(updateDeviceParam, device);
|
||||
@@ -710,12 +716,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
|
||||
this.updateById(device);
|
||||
deviceMapper.updateById(deviceDetail);
|
||||
|
||||
// DeviceProcess deviceProcess = new DeviceProcess();
|
||||
// deviceProcess.setId(updateDeviceParam.getDevIndex());
|
||||
// deviceProcess.setProcessNo(updateDeviceParam.getProcessNum());
|
||||
// deviceProcessService.saveOrUpdate(deviceProcess);
|
||||
|
||||
}
|
||||
|
||||
//母线
|
||||
@@ -849,12 +849,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
|
||||
lineDetailMapper.updateById(lineDetail);
|
||||
|
||||
/* if(StrUtil.isNotBlank(lineDetail.getObjId())){
|
||||
Line tem = this.getById(lineDetail.getId());
|
||||
userLedgerFeignClient.bindUserStation(lineDetail.getObjId(),tem.getPids().split(StrUtil.COMMA)[LineBaseEnum.SUB_LEVEL.getCode()]);
|
||||
}*/
|
||||
|
||||
|
||||
Overlimit overlimitTem = overlimitMapper.selectById(lineId);
|
||||
if ((!lineDetailRes.getDevCapacity().equals(lineDetail.getDevCapacity()))
|
||||
|| ((!lineDetailRes.getShortCapacity().equals(lineDetail.getShortCapacity())))
|
||||
@@ -864,7 +858,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
|| ((!overlimitTem.getUvoltageDev().equals(updateLineBO.getUvoltageDev()))))
|
||||
|
||||
) {
|
||||
|
||||
//监测点限值
|
||||
DictData scaleResult = dicDataFeignClient.getDicDataById(updateSubVoltageParam.getScale()).getData();
|
||||
float scaTmp = Float.parseFloat(scaleResult.getValue());
|
||||
@@ -893,15 +886,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
String index = RequestUtil.getUserIndex();
|
||||
queryUpdateAndInsertLog(userName, index, lineDetail, lineDetailRes);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(CollUtil.isNotEmpty(pqsTerminalLogsList)){
|
||||
for(PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList){
|
||||
pqsTerminalLogsMapper.insert(pqsTerminalLogs);
|
||||
@@ -1417,7 +1406,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
}
|
||||
|
||||
|
||||
private void deleteProjectAndChildren(Line project,List<Line> logsList) {
|
||||
private void deleteProjectAndChildren(Line project,List<PqsTerminalLogs> logsList) {
|
||||
// 1. 删除项目本身
|
||||
this.removeById(project.getId());
|
||||
|
||||
@@ -1437,7 +1426,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
provinceIds.forEach(it-> deleteProvinceAndChildren(it,logsList));
|
||||
}
|
||||
|
||||
private void deleteProvinceAndChildren(String provinceId,List<Line> logsList) {
|
||||
private void deleteProvinceAndChildren(String provinceId,List<PqsTerminalLogs> logsList) {
|
||||
this.removeById(provinceId);
|
||||
|
||||
// 1. 查询并删除所有供电公司
|
||||
@@ -1456,7 +1445,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
companyIds.forEach(it-> deletePowerCompanyAndChildren(it,logsList));
|
||||
}
|
||||
|
||||
private void deletePowerCompanyAndChildren(String companyId,List<Line> logsList) {
|
||||
private void deletePowerCompanyAndChildren(String companyId,List<PqsTerminalLogs> logsList) {
|
||||
this.removeById(companyId);
|
||||
// 1. 查询并删除所有变电站
|
||||
List<Line> substations = findChildren(companyId);
|
||||
@@ -1475,7 +1464,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
substationIds.forEach(it-> deleteSubstationAndChildren(it,logsList));
|
||||
}
|
||||
|
||||
private void deleteSubstationAndChildren(String substationId,List<Line> logsList) {
|
||||
private void deleteSubstationAndChildren(String substationId,List<PqsTerminalLogs> logsList) {
|
||||
|
||||
this.removeById(substationId);
|
||||
substationMapper.deleteById(substationId);
|
||||
// 1. 查询并删除所有装置
|
||||
@@ -1484,7 +1474,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
return;
|
||||
}
|
||||
|
||||
logsList.addAll(devices);
|
||||
Map<String,Line> devMap = devices.stream().collect(Collectors.toMap(Line::getId,Function.identity()));
|
||||
|
||||
List<String> deviceIds = devices.stream()
|
||||
.map(Line::getId)
|
||||
@@ -1494,15 +1484,28 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
deviceMapper.deleteBatchIds(deviceIds);
|
||||
devFuctionMapper.deleteBatchIds(deviceIds);
|
||||
|
||||
List<Device> deviceList = deviceMapper.selectList(new LambdaQueryWrapper<Device>().select(Device::getId,Device::getNodeId).in(Device::getId,deviceIds));
|
||||
Line sub = this.getById(substationId);
|
||||
String userName= RequestUtil.getUserNickname();
|
||||
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();
|
||||
List<PqsTerminalLogs> pqsTerminalLogsList = new ArrayList<>();
|
||||
deviceList.forEach(dev->{
|
||||
Line devicePO = devMap.get(dev.getId());
|
||||
devLogsCat(Param.DEL_ZN,null,devicePO,sub,dev,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName);
|
||||
});
|
||||
|
||||
// 2. 对每个装置删除其下级
|
||||
deviceIds.forEach(it-> deleteDeviceAndChildren(it,logsList));
|
||||
}
|
||||
|
||||
private void deleteDeviceAndChildren(String deviceId,List<Line> logsList) {
|
||||
private void deleteDeviceAndChildren(String deviceId,List<PqsTerminalLogs> logsList) {
|
||||
this.removeById(deviceId);
|
||||
deviceMapper.deleteById(deviceId);
|
||||
deviceProcessService.removeById(deviceId);
|
||||
|
||||
|
||||
|
||||
// 1. 查询并删除所有母线
|
||||
List<Line> busbars = findChildren(deviceId);
|
||||
if (CollectionUtil.isEmpty(busbars)) {
|
||||
@@ -1521,48 +1524,39 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
|
||||
}
|
||||
|
||||
private void deleteBusbarAndChildren(String busbarId,List<Line> logsList) {
|
||||
private void deleteBusbarAndChildren(String busbarId,List<PqsTerminalLogs> logsList) {
|
||||
this.removeById(busbarId);
|
||||
voltageMapper.deleteById(busbarId);
|
||||
// 1. 查询并删除所有监测点
|
||||
List<Line> monitoringPoints = findChildren(busbarId);
|
||||
DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.LINE_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData();
|
||||
terminalLogsCat(monitoringPoints,Param.DEL,dataDic.getId(),logsList);
|
||||
if (CollectionUtil.isEmpty(monitoringPoints)) {
|
||||
return;
|
||||
}
|
||||
|
||||
logsList.addAll(monitoringPoints);
|
||||
|
||||
List<String> pointIds = monitoringPoints.stream()
|
||||
.map(Line::getId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
deleteMonitoringPoints(pointIds,logsList);
|
||||
deleteMonitoringPoints(pointIds);
|
||||
|
||||
// 2. 通知设备重启
|
||||
}
|
||||
|
||||
private void deleteMonitoringPoints(List<String> pointIds,List<Line> logsList) {
|
||||
private void deleteMonitoringPoints(List<String> pointIds) {
|
||||
this.removeByIds(pointIds);
|
||||
lineDetailMapper.deleteBatchIds(pointIds);
|
||||
overlimitMapper.deleteBatchIds(pointIds);
|
||||
|
||||
LambdaQueryWrapper<DeptLine> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.in(DeptLine::getLineId, pointIds);
|
||||
deptLineMapper.delete(wrapper);
|
||||
}
|
||||
|
||||
private void deleteMonitoringPoint(Line point,List<Line> logsList) {
|
||||
logsList.add(point);
|
||||
this.removeById(point.getId());
|
||||
lineDetailMapper.deleteById(point.getId());
|
||||
overlimitMapper.deleteById(point.getId());
|
||||
deptLineMapper.deleteById(point.getId());
|
||||
|
||||
// 通知设备重启
|
||||
// String[] pids = point.getPids().split(",");
|
||||
// if (pids.length > 4) {
|
||||
// askRestartDevice(pids[4], DeviceRebootType.LEDGER_MODIFY);
|
||||
// }
|
||||
private void deleteMonitoringPoint(String pointId) {
|
||||
this.removeById(pointId);
|
||||
lineDetailMapper.deleteById(pointId);
|
||||
overlimitMapper.deleteById(pointId);
|
||||
deptLineMapper.deleteById(pointId);
|
||||
}
|
||||
|
||||
private List<Line> findChildren(String pid) {
|
||||
@@ -1581,44 +1575,54 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean delTerminal(String id) {
|
||||
List<Line> logsList = new ArrayList<>();
|
||||
Line obj = this.getById(id);
|
||||
if (Objects.isNull(obj)) {
|
||||
throw new BusinessException(CommonResponseEnum.FAIL);
|
||||
}
|
||||
|
||||
List<PqsTerminalLogs> pqsTerminalLogsList = new ArrayList<>();
|
||||
LineBaseEnum lineBaseEnum = LineBaseEnum.getLineBaseEnumByCode(obj.getLevel());
|
||||
// 根据层级选择删除策略
|
||||
switch (lineBaseEnum) {
|
||||
case PROJECT_LEVEL:
|
||||
deleteProjectAndChildren(obj,logsList);
|
||||
deleteProjectAndChildren(obj,pqsTerminalLogsList);
|
||||
break;
|
||||
case PROVINCE_LEVEL:
|
||||
deleteProvinceAndChildren(obj.getId(),logsList);
|
||||
deleteProvinceAndChildren(obj.getId(),pqsTerminalLogsList);
|
||||
break;
|
||||
case GD_LEVEL:
|
||||
deletePowerCompanyAndChildren(obj.getId(),logsList);
|
||||
deletePowerCompanyAndChildren(obj.getId(),pqsTerminalLogsList);
|
||||
break;
|
||||
case SUB_LEVEL:
|
||||
deleteSubstationAndChildren(obj.getId(),logsList);
|
||||
deleteSubstationAndChildren(obj.getId(),pqsTerminalLogsList);
|
||||
break;
|
||||
case DEVICE_LEVEL:
|
||||
deleteDeviceAndChildren(obj.getId(),logsList);
|
||||
logsList.add(obj);
|
||||
Line sub = this.getById(obj.getPid());
|
||||
Device dev = deviceMapper.selectById(obj.getId());
|
||||
String userName= RequestUtil.getUserNickname();
|
||||
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(),pqsTerminalLogsList);
|
||||
break;
|
||||
case SUB_V_LEVEL:
|
||||
deleteBusbarAndChildren(obj.getId(),logsList);
|
||||
deleteBusbarAndChildren(obj.getId(),pqsTerminalLogsList);
|
||||
break;
|
||||
case LINE_LEVEL:
|
||||
deleteMonitoringPoint(obj,logsList);
|
||||
deleteMonitoringPoint(obj.getId());
|
||||
DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.LINE_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData();
|
||||
terminalLogsCat(Stream.of(obj).collect(Collectors.toList()), Param.DEL,dataDic.getId(),pqsTerminalLogsList);
|
||||
break;
|
||||
default:
|
||||
throw new BusinessException(CommonResponseEnum.FAIL);
|
||||
}
|
||||
|
||||
if(CollUtil.isNotEmpty(logsList)){
|
||||
DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.DEV_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData();
|
||||
terminalLogsCat(logsList,2,dataDic.getId());
|
||||
if(CollUtil.isNotEmpty(pqsTerminalLogsList)){
|
||||
for(PqsTerminalLogs pqsTerminalLogs: pqsTerminalLogsList){
|
||||
pqsTerminalLogsMapper.insert(pqsTerminalLogs);
|
||||
}
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -3791,24 +3795,20 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
/**
|
||||
* 终端日志记录
|
||||
*/
|
||||
private void terminalLogsCat(List<Line> logsList,Integer operateType,String logsType){
|
||||
String op,operate;
|
||||
private void terminalLogsCat(List<Line> logsList,String operateType,String logsType,List<PqsTerminalLogs> pqsTerminalLogsList){
|
||||
String op;
|
||||
switch (operateType){
|
||||
case 0:
|
||||
case Param.ADD:
|
||||
op = Param.ADD_ZN;
|
||||
operate = Param.ADD;
|
||||
break;
|
||||
case 1:
|
||||
case Param.UPDATE:
|
||||
op = Param.UPDATE_ZN;
|
||||
operate = Param.UPDATE;
|
||||
break;
|
||||
case 2:
|
||||
case Param.DEL:
|
||||
op = Param.DEL_ZN;
|
||||
operate = Param.DEL;
|
||||
break;
|
||||
default:
|
||||
op=Param.UNKONOW;
|
||||
operate = Param.UNKONOW;
|
||||
break;
|
||||
}
|
||||
String name = RequestUtil.getUserNickname();
|
||||
@@ -3829,53 +3829,39 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
|
||||
String subName;
|
||||
String levelOperate;
|
||||
String nodeName = "";
|
||||
if(line.getLevel().equals(LINE_LEVEL.getCode())){
|
||||
levelOperate = LINE_LEVEL.getMessage();
|
||||
}else{
|
||||
levelOperate = DEVICE_LEVEL.getMessage();
|
||||
if(Param.DEL_ZN.equals(op)){
|
||||
// nodeName = "; 前置名称:"+node.getName();
|
||||
}
|
||||
}
|
||||
subName = subMap.get(line.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).getName();
|
||||
String temLos = "%s进行%s%s操作; %s名称: %s";
|
||||
String tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"_"+line.getName());
|
||||
String tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"_"+line.getName()+nodeName);
|
||||
pqsTerminalLogs.setTerminalDescribe(tem);
|
||||
pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode());
|
||||
pqsTerminalLogs.setIsPush(0);
|
||||
pqsTerminalLogs.setOperateType(operate);
|
||||
pqsTerminalLogs.setOperateType(operateType);
|
||||
pqsTerminalLogs.setObjIndex(line.getId());
|
||||
pqsTerminalLogsMapper.insert(pqsTerminalLogs);
|
||||
pqsTerminalLogsList.add(pqsTerminalLogs);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void devLogsCat(DeviceParam updateDeviceParam, List<PqsTerminalLogs> pqsTerminalLogsList, Map<String, DictData> dictDataMap, DictData dicDataByCode, String userName) {
|
||||
Line devicePO = this.getById(updateDeviceParam.getDevIndex());
|
||||
Line sub = this.getById(devicePO.getPid());
|
||||
Device devDetail = deviceMapper.selectById(updateDeviceParam.getDevIndex());
|
||||
public void devLogsCat(String op,DeviceParam updateDeviceParam,Line devicePO,Line sub,Device devDetail, List<PqsTerminalLogs> pqsTerminalLogsList, Map<String, DictData> dictDataMap, DictData dicDataByCode, String userName) {
|
||||
StringBuilder stringBuilder = new StringBuilder(String.format("%s进行%s装置(%s_%s)操作,详细信息:", userName,op,sub.getName(), devicePO.getName()));
|
||||
|
||||
StringBuilder stringBuilder = new StringBuilder(String.format("%s进行修改装置(%s_%s)操作,详细信息:", userName, sub.getName(), devicePO.getName()));
|
||||
boolean flag = false;
|
||||
|
||||
// 比较装置名称
|
||||
flag |= compareAndAppend(stringBuilder, devicePO.getName(), updateDeviceParam.getName(), "装置名称");
|
||||
|
||||
// 比较装置 IP
|
||||
flag |= compareAndAppend(stringBuilder, devDetail.getIp(), updateDeviceParam.getIp(), "装置ip");
|
||||
|
||||
// 比较装置端口号
|
||||
flag |= compareAndAppend(stringBuilder, devDetail.getPort(), updateDeviceParam.getPort(), "装置端口号");
|
||||
|
||||
// 比较装置型号
|
||||
if (updateDeviceParam.getDevType() != null) {
|
||||
String oldDevTypeName = dictDataMap.get(devDetail.getDevType()) != null ? dictDataMap.get(devDetail.getDevType()).getName() : null;
|
||||
String newDevTypeName = dictDataMap.get(updateDeviceParam.getDevType()) != null ? dictDataMap.get(updateDeviceParam.getDevType()).getName() : null;
|
||||
flag |= compareAndAppend(stringBuilder, oldDevTypeName, newDevTypeName, "装置型号");
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
if(Param.DEL_ZN.equals(op)){
|
||||
Node node = nodeService.getById(devDetail.getNodeId());
|
||||
String info = sub.getName()+"_"+devicePO.getName()+";前置信息:"+node.getName();
|
||||
stringBuilder.append(info);
|
||||
PqsTerminalLogs pqsTerminalLogs = new PqsTerminalLogs();
|
||||
pqsTerminalLogs.setOperateType(Param.UPDATE);
|
||||
pqsTerminalLogs.setOperateType(Param.DEL);
|
||||
pqsTerminalLogs.setTerminalType(DEVICE_LEVEL.getCode());
|
||||
pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode());
|
||||
pqsTerminalLogs.setObjIndex(devicePO.getId());
|
||||
@@ -3883,6 +3869,34 @@ public class TerminalBaseServiceImpl extends ServiceImpl<LineMapper, Line> imple
|
||||
pqsTerminalLogs.setLogsType(dicDataByCode.getId());
|
||||
pqsTerminalLogs.setTerminalDescribe(stringBuilder.toString());
|
||||
pqsTerminalLogsList.add(pqsTerminalLogs);
|
||||
}else if(Param.UPDATE_ZN.equals(op)){
|
||||
|
||||
boolean flag = false;
|
||||
// 比较装置名称
|
||||
flag |= compareAndAppend(stringBuilder, devicePO.getName(), updateDeviceParam.getName(), "装置名称");
|
||||
|
||||
// 比较装置 IP
|
||||
flag |= compareAndAppend(stringBuilder, devDetail.getIp(), updateDeviceParam.getIp(), "装置ip");
|
||||
|
||||
// 比较装置端口号
|
||||
flag |= compareAndAppend(stringBuilder, devDetail.getPort(), updateDeviceParam.getPort(), "装置端口号");
|
||||
// 比较装置型号
|
||||
if (updateDeviceParam.getDevType() != null) {
|
||||
String oldDevTypeName = dictDataMap.get(devDetail.getDevType()) != null ? dictDataMap.get(devDetail.getDevType()).getName() : null;
|
||||
String newDevTypeName = dictDataMap.get(updateDeviceParam.getDevType()) != null ? dictDataMap.get(updateDeviceParam.getDevType()).getName() : null;
|
||||
compareAndAppend(stringBuilder, oldDevTypeName, newDevTypeName, "装置型号");
|
||||
}
|
||||
if(flag){
|
||||
PqsTerminalLogs pqsTerminalLogs = new PqsTerminalLogs();
|
||||
pqsTerminalLogs.setOperateType(Param.UPDATE);
|
||||
pqsTerminalLogs.setTerminalType(DEVICE_LEVEL.getCode());
|
||||
pqsTerminalLogs.setState(DataStateEnum.ENABLE.getCode());
|
||||
pqsTerminalLogs.setObjIndex(devicePO.getId());
|
||||
pqsTerminalLogs.setIsPush(0);
|
||||
pqsTerminalLogs.setLogsType(dicDataByCode.getId());
|
||||
pqsTerminalLogs.setTerminalDescribe(stringBuilder.toString());
|
||||
pqsTerminalLogsList.add(pqsTerminalLogs);
|
||||
}
|
||||
}
|
||||
}
|
||||
private boolean compareAndAppend(StringBuilder sb, String oldValue, String newValue, String fieldName) {
|
||||
|
||||
Reference in New Issue
Block a user