From 9b758dc7c96d1991ecd6efe6264e845e9fa8301c Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Wed, 10 Dec 2025 14:56:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0swagger=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TerminalBaseServiceImpl.java | 573 +++++++----------- 1 file changed, 232 insertions(+), 341 deletions(-) diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/impl/TerminalBaseServiceImpl.java index 31283c508..2f6f1356a 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/common/service/impl/TerminalBaseServiceImpl.java @@ -156,7 +156,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple private Integer devCD; - /** * 终端新增操作 * @@ -460,13 +459,13 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple lineDetail.setMonitorFlag(0); } - if(lineDetail.getPowerFlag() == 1){ + if (lineDetail.getPowerFlag() == 1) { //用户侧,objId不可为空 - if(StrUtil.isBlank(lineDetail.getObjId())){ + if (StrUtil.isBlank(lineDetail.getObjId())) { throw new BusinessException(DeviceResponseEnum.LINE_USER_EMPTY); } - }else { - if(StrUtil.isNotBlank(lineDetail.getObjId())){ + } else { + if (StrUtil.isNotBlank(lineDetail.getObjId())) { throw new BusinessException(DeviceResponseEnum.LINE_NO_USER_EMPTY); } } @@ -503,10 +502,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple throw new BusinessException(CommonResponseEnum.FAIL); } - if(CollUtil.isNotEmpty(logsList)){ + if (CollUtil.isNotEmpty(logsList)) { List pqsTerminalLogsList = new ArrayList<>(); - terminalLogsCat(logsList,Param.ADD,pqsTerminalLogsList,new HashMap<>()); - for(PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList){ + terminalLogsCat(logsList, Param.ADD, pqsTerminalLogsList, new HashMap<>()); + for (PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList) { pqsTerminalLogsMapper.insert(pqsTerminalLogs); } } @@ -663,16 +662,16 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //记录终端相关操作日志 List pqsTerminalLogsList = new ArrayList<>(); - Map dictDataMap = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_TYPE.getCode()).getData().stream().collect(Collectors.toMap(DictData::getId, Function.identity())); + Map 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(); - String userName= RequestUtil.getUserNickname(); + String userName = RequestUtil.getUserNickname(); for (DeviceParam updateDeviceParam : devList) { if (updateDeviceParam.getUpdateFlag() == 1) { Line devicePO = this.getById(updateDeviceParam.getDevIndex()); Line sub = this.getById(devicePO.getPid()); Device devDetail = deviceMapper.selectById(updateDeviceParam.getDevIndex()); - devLogsCat(Param.UPDATE_ZN,updateDeviceParam,devicePO,sub,devDetail,pqsTerminalLogsList,dictDataMap,dicDataByCode,userName); + devLogsCat(Param.UPDATE_ZN, updateDeviceParam, devicePO, sub, devDetail, pqsTerminalLogsList, dictDataMap, dicDataByCode, userName); Line device = new Line(); BeanUtils.copyProperties(updateDeviceParam, device); @@ -680,7 +679,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple Device deviceDetail = new Device(); BeanUtils.copyProperties(updateDeviceParam, deviceDetail); deviceDetail.setId(updateDeviceParam.getDevIndex()); - coderM3d(deviceDetail,true); + coderM3d(deviceDetail, true); this.updateById(device); deviceMapper.updateById(deviceDetail); @@ -804,13 +803,13 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } else { lineDetail.setMonitorFlag(0); } - if(lineDetail.getPowerFlag() == 1){ + if (lineDetail.getPowerFlag() == 1) { //用户侧,objId不可为空 - if(StrUtil.isBlank(lineDetail.getObjId())){ + if (StrUtil.isBlank(lineDetail.getObjId())) { throw new BusinessException(DeviceResponseEnum.LINE_USER_EMPTY); } - }else { - if(StrUtil.isNotBlank(lineDetail.getObjId())){ + } else { + if (StrUtil.isNotBlank(lineDetail.getObjId())) { throw new BusinessException(DeviceResponseEnum.LINE_NO_USER_EMPTY); } } @@ -859,10 +858,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } } } - if(CollUtil.isNotEmpty(pqsTerminalLogsList)){ - for(PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList){ - pqsTerminalLogsMapper.insert(pqsTerminalLogs); - } + if (CollUtil.isNotEmpty(pqsTerminalLogsList)) { + for (PqsTerminalLogs pqsTerminalLogs : pqsTerminalLogsList) { + pqsTerminalLogsMapper.insert(pqsTerminalLogs); + } } } @@ -878,32 +877,33 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple return true; } - private void coderM3d(Device deviceDetail,Boolean updateFlag){ - if(updateFlag){ + private void coderM3d(Device deviceDetail, Boolean updateFlag) { + if (updateFlag) { Device deviceRes = deviceMapper.selectById(deviceDetail.getId()); - if(StrUtil.isNotBlank(deviceDetail.getDevKey()) && !deviceRes.getDevKey().equals(deviceDetail.getDevKey())){ - deviceDetail.setDevKey(DeviceUtil.encodeString(devCD,deviceDetail.getDevKey())); + if (StrUtil.isNotBlank(deviceDetail.getDevKey()) && !deviceRes.getDevKey().equals(deviceDetail.getDevKey())) { + deviceDetail.setDevKey(DeviceUtil.encodeString(devCD, deviceDetail.getDevKey())); } - if(StrUtil.isNotBlank(deviceDetail.getSeries()) && !deviceRes.getSeries().equals(deviceDetail.getSeries())){ - deviceDetail.setSeries(DeviceUtil.encodeString(devCD,deviceDetail.getSeries())); + if (StrUtil.isNotBlank(deviceDetail.getSeries()) && !deviceRes.getSeries().equals(deviceDetail.getSeries())) { + deviceDetail.setSeries(DeviceUtil.encodeString(devCD, deviceDetail.getSeries())); } - }else { - if(StrUtil.isNotBlank(deviceDetail.getDevKey())){ - deviceDetail.setDevKey(DeviceUtil.encodeString(devCD,deviceDetail.getDevKey())); + } else { + if (StrUtil.isNotBlank(deviceDetail.getDevKey())) { + deviceDetail.setDevKey(DeviceUtil.encodeString(devCD, deviceDetail.getDevKey())); } - if(StrUtil.isNotBlank(deviceDetail.getSeries())){ - deviceDetail.setSeries(DeviceUtil.encodeString(devCD,deviceDetail.getSeries())); + if (StrUtil.isNotBlank(deviceDetail.getSeries())) { + deviceDetail.setSeries(DeviceUtil.encodeString(devCD, deviceDetail.getSeries())); } } } - private void decoderM3d(Device deviceDetail){ - if(StrUtil.isNotBlank(deviceDetail.getDevKey())){ - deviceDetail.setDevKey(DeviceUtil.decoderString(devCD,deviceDetail.getDevKey())); + + private void decoderM3d(Device deviceDetail) { + if (StrUtil.isNotBlank(deviceDetail.getDevKey())) { + deviceDetail.setDevKey(DeviceUtil.decoderString(devCD, deviceDetail.getDevKey())); } - if(StrUtil.isNotBlank(deviceDetail.getSeries())){ - deviceDetail.setSeries(DeviceUtil.decoderString(devCD,deviceDetail.getSeries())); + if (StrUtil.isNotBlank(deviceDetail.getSeries())) { + deviceDetail.setSeries(DeviceUtil.decoderString(devCD, deviceDetail.getSeries())); } } @@ -979,17 +979,17 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple * @date 2021/7/19 */ @Override - public TerminalVO queryTerminal(String id,Integer level) { + public TerminalVO queryTerminal(String id, Integer level) { Line obj; - if(level == 700){ + if (level == 700) { obj = new Line(); UserLedgerVO userLedgerVO = userLedgerFeignClient.selectUserInfo(id).getData(); - if(Objects.nonNull(userLedgerVO)){ + if (Objects.nonNull(userLedgerVO)) { obj.setId(userLedgerVO.getId()); obj.setLevel(LineBaseEnum.USER_LEVEL.getCode()); obj.setPid(userLedgerVO.getStationId()); } - }else { + } else { obj = this.getById(id); } @@ -1091,12 +1091,12 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } terminalVO.setDeviceVO(deviceDTOList); - } else if(obj.getLevel().equals(LineBaseEnum.USER_LEVEL.getCode())){ + } else if (obj.getLevel().equals(LineBaseEnum.USER_LEVEL.getCode())) { //点击用户节点 //查询所有子级装置 LambdaQueryWrapper detailLambdaQueryWrapper = new LambdaQueryWrapper<>(); - detailLambdaQueryWrapper.eq(LineDetail::getObjId,id); + detailLambdaQueryWrapper.eq(LineDetail::getObjId, id); List lineDetailList = lineDetailMapper.selectList(detailLambdaQueryWrapper); List ids = lineDetailList.stream().map(LineDetail::getId).distinct().collect(Collectors.toList()); @@ -1105,7 +1105,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple .eq(Line::getState, DataStateEnum.ENABLE.getCode()) .orderByAsc(Line::getSort); List temLineList = this.list(lineLambdaQueryWrapper); - List devIds = temLineList.stream().map(it->it.getPids().split(StrUtil.COMMA)[4]).collect(Collectors.toList()); + List devIds = temLineList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[4]).collect(Collectors.toList()); lineLambdaQueryWrapper.clear(); lineLambdaQueryWrapper.in(Line::getId, devIds) @@ -1374,7 +1374,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } - private void deleteProjectAndChildren(Line project,List ledgerList,List logsList,Map nodeMap) { + private void deleteProjectAndChildren(Line project, List ledgerList, List logsList, Map nodeMap) { // 1. 删除项目本身 this.removeById(project.getId()); @@ -1391,10 +1391,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple this.removeByIds(provinceIds); // 3. 对每个省份删除其下级 - provinceIds.forEach(it-> deleteProvinceAndChildren(it,ledgerList,logsList,nodeMap)); + provinceIds.forEach(it -> deleteProvinceAndChildren(it, ledgerList, logsList, nodeMap)); } - private void deleteProvinceAndChildren(String provinceId,List ledgerList,List logsList,Map nodeMap) { + private void deleteProvinceAndChildren(String provinceId, List ledgerList, List logsList, Map nodeMap) { this.removeById(provinceId); // 1. 查询并删除所有供电公司 @@ -1410,10 +1410,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple this.removeByIds(companyIds); // 2. 对每个供电公司删除其下级 - companyIds.forEach(it-> deletePowerCompanyAndChildren(it,ledgerList,logsList,nodeMap)); + companyIds.forEach(it -> deletePowerCompanyAndChildren(it, ledgerList, logsList, nodeMap)); } - private void deletePowerCompanyAndChildren(String companyId,List ledgerList,List logsList,Map nodeMap) { + private void deletePowerCompanyAndChildren(String companyId, List ledgerList, List logsList, Map nodeMap) { this.removeById(companyId); // 1. 查询并删除所有变电站 List substations = findChildren(companyId); @@ -1427,15 +1427,14 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple .collect(Collectors.toList()); - this.removeByIds(substationIds); substationMapper.deleteBatchIds(substationIds); // 2. 对每个变电站删除其下级 - substationIds.forEach(it-> deleteSubstationAndChildren(it,ledgerList,logsList,nodeMap)); + substationIds.forEach(it -> deleteSubstationAndChildren(it, ledgerList, logsList, nodeMap)); } - private void deleteSubstationAndChildren(String substationId,List ledgerList,List logsList,Map nodeMap) { + private void deleteSubstationAndChildren(String substationId, List ledgerList, List logsList, Map nodeMap) { this.removeById(substationId); substationMapper.deleteById(substationId); // 1. 查询并删除所有装置 @@ -1451,17 +1450,17 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple .collect(Collectors.toList()); // 2. 对每个装置删除其下级 - deviceIds.forEach(it-> deleteDeviceAndChildren(it,ledgerList,logsList,nodeMap)); + deviceIds.forEach(it -> deleteDeviceAndChildren(it, ledgerList, logsList, nodeMap)); } - private void deleteDeviceAndChildren(String deviceId,List ledgerList,List logsList,Map nodeMap) { + private void deleteDeviceAndChildren(String deviceId, List ledgerList, List logsList, Map nodeMap) { Device device = deviceMapper.selectById(deviceId); Node node = nodeService.getNodeById(device.getNodeId()); - nodeMap.put(device.getId(),node); + nodeMap.put(device.getId(), node); this.removeById(deviceId); deviceMapper.deleteById(deviceId); - devFuctionMapper.delete(new LambdaQueryWrapper().eq(DevFuction::getLineId,deviceId)); + devFuctionMapper.delete(new LambdaQueryWrapper().eq(DevFuction::getLineId, deviceId)); // 1. 查询并删除所有母线 List busbars = findChildren(deviceId); @@ -1475,11 +1474,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple voltageMapper.deleteBatchIds(busbarIds); // 2. 对每条母线删除其下级 - busbarIds.forEach(it-> deleteBusbarAndChildren(it,ledgerList,logsList)); + busbarIds.forEach(it -> deleteBusbarAndChildren(it, ledgerList, logsList)); } - private void deleteBusbarAndChildren(String busbarId,List ledgerList,List logsList) { + private void deleteBusbarAndChildren(String busbarId, List ledgerList, List logsList) { this.removeById(busbarId); voltageMapper.deleteById(busbarId); // 1. 查询并删除所有监测点 @@ -1532,7 +1531,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //用于存放最终日志信息 List allLogs = new ArrayList<>(); //用于记录删除终端的前置信息 - Map nodeMap = new HashMap<>(); + Map nodeMap = new HashMap<>(); Line obj = this.getById(id); if (Objects.isNull(obj)) { throw new BusinessException(CommonResponseEnum.FAIL); @@ -1542,26 +1541,26 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple // 根据层级选择删除策略 switch (lineBaseEnum) { case PROJECT_LEVEL: - deleteProjectAndChildren(obj,logsLedger,allLogs,nodeMap); + deleteProjectAndChildren(obj, logsLedger, allLogs, nodeMap); break; case PROVINCE_LEVEL: - deleteProvinceAndChildren(obj.getId(),logsLedger,allLogs,nodeMap); + deleteProvinceAndChildren(obj.getId(), logsLedger, allLogs, nodeMap); break; case GD_LEVEL: - deletePowerCompanyAndChildren(obj.getId(),logsLedger,allLogs,nodeMap); + deletePowerCompanyAndChildren(obj.getId(), logsLedger, allLogs, nodeMap); break; case SUB_LEVEL: - deleteSubstationAndChildren(obj.getId(),logsLedger,allLogs,nodeMap); + deleteSubstationAndChildren(obj.getId(), logsLedger, allLogs, nodeMap); break; case DEVICE_LEVEL: Line sub = this.getById(obj.getPid()); logsLedger.add(sub); - deleteDeviceAndChildren(obj.getId(),logsLedger,allLogs,nodeMap); + deleteDeviceAndChildren(obj.getId(), logsLedger, allLogs, nodeMap); break; case SUB_V_LEVEL: Line subTwo = this.getById(obj.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]); logsLedger.add(subTwo); - deleteBusbarAndChildren(obj.getId(),logsLedger,allLogs); + deleteBusbarAndChildren(obj.getId(), logsLedger, allLogs); break; case LINE_LEVEL: Line subThree = this.getById(obj.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]); @@ -1571,9 +1570,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple default: throw new BusinessException(CommonResponseEnum.FAIL); } - if(CollUtil.isNotEmpty(logsLedger)){ - terminalLogsCat(logsLedger,Param.DEL,allLogs,nodeMap); - for(PqsTerminalLogs pqsTerminalLogs: allLogs){ + if (CollUtil.isNotEmpty(logsLedger)) { + terminalLogsCat(logsLedger, Param.DEL, allLogs, nodeMap); + for (PqsTerminalLogs pqsTerminalLogs : allLogs) { pqsTerminalLogsMapper.insert(pqsTerminalLogs); } } @@ -1588,7 +1587,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple @Override public List getLineById(List lineIds) { return this.lambdaQuery() - .in(!CollectionUtils.isEmpty(lineIds),Line::getId, lineIds) + .in(!CollectionUtils.isEmpty(lineIds), Line::getId, lineIds) .eq(Line::getLevel, 6) .eq(Line::getState, DataStateEnum.ENABLE.getCode()) .list(); @@ -1603,11 +1602,11 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple @Override public List getDeviceByIdOnOrOff(List devIds, DeviceType deviceType, Integer comFlag) { List deviceByIdOnOrOff = this.baseMapper.getDeviceByIdOnOrOff(devIds, deviceType, comFlag); - if(CollUtil.isNotEmpty(deviceByIdOnOrOff)){ + if (CollUtil.isNotEmpty(deviceByIdOnOrOff)) { List devTypeDic = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_TYPE.getCode()).getData(); Map devTypeDicMap = devTypeDic.stream().collect(Collectors.toMap(DictData::getId, DictData::getName)); for (TerminalBaseVO terminalBaseVO : deviceByIdOnOrOff) { - if(devTypeDicMap.containsKey(terminalBaseVO.getDevType())){ + if (devTypeDicMap.containsKey(terminalBaseVO.getDevType())) { terminalBaseVO.setDevType(devTypeDicMap.get(terminalBaseVO.getDevType())); } } @@ -1828,11 +1827,17 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple Voltage voltage = voltageMapper.selectById(line.getPid()); //监测点限值 DictData scaleResult = dicDataFeignClient.getDicDataById(voltage.getScale()).getData(); + System.out.println("======================" + scaleResult); + System.out.println("======================" + scaleResult.getValue()); if (Objects.isNull(scaleResult)) { throw new BusinessException(CommonResponseEnum.DIC_DATA); } + if (StrUtil.isBlank(voltage.getScale())) { + System.out.println(111); + } + float voltageLevel = Float.parseFloat(scaleResult.getValue()); Overlimit overlimit = COverlimitUtil.globalAssemble(voltageLevel, lineDetail.getDealCapacity(), lineDetail.getDevCapacity(), lineDetail.getShortCapacity(), 1, 0); overlimit.setId(lineDetail.getId()); @@ -1994,17 +1999,17 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple List resultList = lineBakService.list(); for (LineBak row : resultList) { String id = row.getId(); - String lineId = row.getLineId()+""; - LineIdMapping.put(lineId,id ); + String lineId = row.getLineId() + ""; + LineIdMapping.put(lineId, id); } - redisUtil.saveByKey("LineIdMapping",LineIdMapping); + redisUtil.saveByKey("LineIdMapping", LineIdMapping); List list = deviceBakService.list(); for (DeviceBak row : list) { String id = row.getId(); - String devId = row.getDevId()+""; - DevIdMapping.put(devId,id ); + String devId = row.getDevId() + ""; + DevIdMapping.put(devId, id); } - redisUtil.saveByKey("DevIdMapping",DevIdMapping); + redisUtil.saveByKey("DevIdMapping", DevIdMapping); } } String projectIndex = null; @@ -2430,16 +2435,16 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple // } // } //更新终端信息 - List existIp = deviceMapper.getDeviceBySubId(pids.get(LineBaseEnum.SUB_LEVEL.getCode()), oracleTerminalExcel.getIp(), oracleTerminalExcel.getPort(), null); - if (CollectionUtil.isNotEmpty(existIp)) { - Device device = existIp.get(0); - if (!device.getId().equalsIgnoreCase(temp.getId())) { - oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "IP地址:" + oracleTerminalExcel.getIp() + "已存在")); - //删除刚刚新增装置信息 - this.baseMapper.deleteById(temp.getId()); - continue; - } - } +// List existIp = deviceMapper.getDeviceBySubId(pids.get(LineBaseEnum.SUB_LEVEL.getCode()), oracleTerminalExcel.getIp(), oracleTerminalExcel.getPort(), null); +// if (CollectionUtil.isNotEmpty(existIp)) { +// Device device = existIp.get(0); +// if (!device.getId().equalsIgnoreCase(temp.getId())) { +// oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "IP地址:" + oracleTerminalExcel.getIp() + "已存在")); +// //删除刚刚新增装置信息 +// this.baseMapper.deleteById(temp.getId()); +// continue; +// } +// } //处理终端厂家 DictData manufacturer = dicDataFeignClient.getDicDataByNameAndTypeName(DicDataTypeEnum.DEV_MANUFACTURER.getName(), oracleTerminalExcel.getManufacturer()).getData(); if (Objects.isNull(manufacturer)) { @@ -2548,16 +2553,16 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple BeanUtils.copyProperties(oracleTerminalExcel, lineDetail); lineDetail.setId(temp.getId()); //判断监测点号是否已被占用 - List lineDetails = lineDetailMapper.getLineDetail(pids.get(LineBaseEnum.DEVICE_LEVEL.getCode()), Stream.of(oracleTerminalExcel.getLineNum()).collect(Collectors.toList())); - if (CollectionUtil.isNotEmpty(lineDetails)) { - LineDetail lineDetail1 = lineDetails.get(0); - if (lineDetail1.getId().equalsIgnoreCase(temp.getId())) { - oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "监测点线路号:" + oracleTerminalExcel.getLineNum() + "已存在")); - //删除刚刚新增装置信息 - this.baseMapper.deleteById(temp.getId()); - continue; - } - } +// List lineDetails = lineDetailMapper.getLineDetail(pids.get(LineBaseEnum.DEVICE_LEVEL.getCode()), Stream.of(oracleTerminalExcel.getLineNum()).collect(Collectors.toList())); +// if (CollectionUtil.isNotEmpty(lineDetails)) { +// LineDetail lineDetail1 = lineDetails.get(0); +// if (lineDetail1.getId().equalsIgnoreCase(temp.getId())) { +// oracleTerminalExcelMsg.add(assembleMsg(oracleTerminalExcel, "监测点线路号:" + oracleTerminalExcel.getLineNum() + "已存在")); +// //删除刚刚新增装置信息 +// this.baseMapper.deleteById(temp.getId()); +// continue; +// } +// } //获取该监测点的限值数据 // List overLimitList = overLimitExcels.stream() // .filter(overLimitExcel -> overLimitExcel.getId().equals(oracleTerminalExcel.getId())) @@ -2959,7 +2964,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple DictData dictData = dicDataFeignClient.getDicDataByNameAndTypeName(terminalBaseExcel.getSubvScale(), DicDataTypeEnum.DEV_VOLTAGE_STAND.getName()).getData(); lineDetailMapper.insert(lineDetail); - Overlimit overlimit = COverlimitUtil.globalAssemble(Float.parseFloat(dictData.getValue()),terminalBaseExcel.getDealCapacity(),terminalBaseExcel.getDevCapacity(),terminalBaseExcel.getShortCapacity(),null,null); + Overlimit overlimit = COverlimitUtil.globalAssemble(Float.parseFloat(dictData.getValue()), terminalBaseExcel.getDealCapacity(), terminalBaseExcel.getDevCapacity(), terminalBaseExcel.getShortCapacity(), null, null); overlimit.setId(temp.getId()); overlimitMapper.insert(overlimit); } @@ -3296,7 +3301,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } else { Line byId = this.getById(sub.getSubIndex()); Line byId1 = this.getById(byId.getPid()); - if(ObjectUtil.isNull(byId1)){ + if (ObjectUtil.isNull(byId1)) { throw new BusinessException(PvDeviceResponseEnum.GD_OR_NOT); } substation.setGdName(byId1.getName()); @@ -3597,8 +3602,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } -// @Override - public void askRestartProcess(String guid,String nodeId,Integer processNum,String processType, String processRebootType) { + // @Override + public void askRestartProcess(String guid, String nodeId, Integer processNum, String processType, String processRebootType) { ProcessRebootMessage procesRebootMessage = new ProcessRebootMessage(); procesRebootMessage.setIndex(processNum); @@ -3615,9 +3620,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } -// @Override + // @Override // @Async - public void askRestartDevice(String guid,String nodeId,List devId, String deviceRebootType,Integer processNum) { + public void askRestartDevice(String guid, String nodeId, List devId, String deviceRebootType, Integer processNum) { DeviceRebootMessage deviceRebootMessage = new DeviceRebootMessage(); @@ -3625,10 +3630,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple deviceRebootMessage.setGuid(guid); deviceRebootMessage.setNodeId(nodeId); deviceRebootMessage.setProcessNo(processNum); - if(Objects.equals(deviceRebootType, DeviceRebootType.DELETE_TERMINAL)){ - List list = new ArrayList<>(); + if (Objects.equals(deviceRebootType, DeviceRebootType.DELETE_TERMINAL)) { + List list = new ArrayList<>(); - devId.forEach(temp->{ + devId.forEach(temp -> { DeviceRebootMessage.DeviceInfo deviceInfo = new DeviceRebootMessage.DeviceInfo(); deviceInfo.setId(temp); list.add(deviceInfo); @@ -3640,10 +3645,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple //删除设备进程关系 deviceProcessService.removeByIds(devId); - }else { - List list = new ArrayList<>(); + } else { + List list = new ArrayList<>(); - devId.forEach(temp->{ + devId.forEach(temp -> { NodeDeviceParam nodeDeviceParam = new NodeDeviceParam(); nodeDeviceParam.setDevId(temp); List deviceInfos = nodeDeviceService.nodeDeviceList(nodeDeviceParam); @@ -3662,8 +3667,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple list.add(deviceInfo1); } }); - deviceRebootMessage.setData(list); - produceFeignClient.askRestartDevice(deviceRebootMessage); + deviceRebootMessage.setData(list); + produceFeignClient.askRestartDevice(deviceRebootMessage); } } @@ -3673,8 +3678,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple List preCommandDTOList = new ArrayList<>(); DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.PROCESS_PARMETER.getCode(), DicDataTypeEnum.DEV_OPS.getCode()).getData(); - QueryWrapper queryWrapper= new QueryWrapper<>(); - queryWrapper.lambda().eq(PqsTerminalLogs::getState, 1).eq(PqsTerminalLogs::getIsPush, 0).in(PqsTerminalLogs::getTerminalType,Stream.of(4,6).collect(Collectors.toList())); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(PqsTerminalLogs::getState, 1).eq(PqsTerminalLogs::getIsPush, 0).in(PqsTerminalLogs::getTerminalType, Stream.of(4, 6).collect(Collectors.toList())); //涉及进程修改的直接重启进程 List deviceProcesses = deviceProcessService.lambdaQuery().list(); Map deviceProcesseMap = deviceProcesses.stream().collect(Collectors.toMap(DeviceProcess::getId, DeviceProcess::getProcessNo)); @@ -3684,7 +3689,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple Map lineMap = lineById.stream().collect(Collectors.toMap(Line::getId, Function.identity())); //监测点终端集合 - Map lineDeviceMap = lineById.stream().filter(temp->Objects.equals(temp.getLevel(),6)).collect(Collectors.toMap(Line::getId, item -> item.getPids().split(",")[4])); + Map lineDeviceMap = lineById.stream().filter(temp -> Objects.equals(temp.getLevel(), 6)).collect(Collectors.toMap(Line::getId, item -> item.getPids().split(",")[4])); List devices = deviceMapper.selectList(null); Map deviceMap = devices.stream().collect(Collectors.toMap(Device::getId, Function.identity())); List nodes = nodeService.nodeAllList(); @@ -3693,22 +3698,22 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple List pqsTerminalPushLogDTOList = new ArrayList<>(); List addAndDelteId = new ArrayList<>(); - if(!CollectionUtils.isEmpty(list)){ + if (!CollectionUtils.isEmpty(list)) { //前置层修改 List list1 = list.stream().filter(temp -> temp.getTerminalDescribe().contains("终端所属前置机由")).collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(list1)){ + if (!CollectionUtils.isEmpty(list1)) { for (PqsTerminalLogs temp : list1) { String temLos = "%s终端所属前置机由 %s 改为> %s;"; List strings = this.parseTemplateValues(temLos, temp.getTerminalDescribe()); String node1 = strings.get(1); // 第一个前置 String node2 = strings.get(2); // 第二个前置 - if(deviceProcesseMap.containsKey(temp.getObjIndex())){ + if (deviceProcesseMap.containsKey(temp.getObjIndex())) { Integer processNum = deviceProcesseMap.get(temp.getObjIndex()); PqsTerminalPushLogDTO pqsTerminalPushLogDTO = new PqsTerminalPushLogDTO(); pqsTerminalPushLogDTO.setId(temp.getId()); String deviceId = temp.getObjIndex(); pqsTerminalPushLogDTO.setDevId(deviceId); - pqsTerminalPushLogDTO.setDevName(lineMap.containsKey(deviceId)?lineMap.get(deviceId).getName():"删除设备"); + pqsTerminalPushLogDTO.setDevName(lineMap.containsKey(deviceId) ? lineMap.get(deviceId).getName() : "删除设备"); pqsTerminalPushLogDTO.setNodeId(node1); pqsTerminalPushLogDTO.setNodeName(nodeMap.get(node1).getName()); pqsTerminalPushLogDTO.setProcessUpdateFlag(true); @@ -3718,7 +3723,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple PqsTerminalPushLogDTO pqsTerminalPushLogDTO2 = new PqsTerminalPushLogDTO(); pqsTerminalPushLogDTO2.setId(temp.getId()); pqsTerminalPushLogDTO2.setDevId(deviceId); - pqsTerminalPushLogDTO2.setDevName(lineMap.containsKey(deviceId)?lineMap.get(deviceId).getName():"删除设备"); + pqsTerminalPushLogDTO2.setDevName(lineMap.containsKey(deviceId) ? lineMap.get(deviceId).getName() : "删除设备"); pqsTerminalPushLogDTO2.setNodeId(node2); pqsTerminalPushLogDTO2.setNodeName(nodeMap.get(node2).getName()); pqsTerminalPushLogDTO2.setProcessUpdateFlag(true); @@ -3730,29 +3735,29 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } list.removeAll(list1); - if(!CollectionUtils.isEmpty(list)){ + if (!CollectionUtils.isEmpty(list)) { //终端层面和检测点层面修改 - list.forEach(temp->{ - PqsTerminalPushLogDTO pqsTerminalPushLogDTO = new PqsTerminalPushLogDTO(); - if(Objects.equals(temp.getTerminalType(),6)){ + list.forEach(temp -> { + PqsTerminalPushLogDTO pqsTerminalPushLogDTO = new PqsTerminalPushLogDTO(); + if (Objects.equals(temp.getTerminalType(), 6)) { pqsTerminalPushLogDTO.setId(temp.getId()); String deviceId; //如果不存在该设备id,说明监测点删除 - if(!lineDeviceMap.containsKey(temp.getObjIndex())){ + if (!lineDeviceMap.containsKey(temp.getObjIndex())) { String temLos = "%s监测点名称: %s"; List strings = this.parseTemplateValues(temLos, temp.getTerminalDescribe()); String[] lineName = strings.get(1).split("->"); List devList = lineById.stream().filter(line -> Objects.equals(line.getName(), lineName[1])).collect(Collectors.toList()); - if(CollectionUtils.isEmpty(devList)){ + if (CollectionUtils.isEmpty(devList)) { //如果不存在该设备说明设备也被删除,直接走下边删除设备逻辑; return; - }else { + } else { Line sub = lineById.stream().filter(line -> Objects.equals(line.getName(), lineName[0])).collect(Collectors.toList()).get(0); - Line tempDev = devList.stream().filter(dev->dev.getPid().equals(sub.getId())).collect(Collectors.toList()).get(0); + Line tempDev = devList.stream().filter(dev -> dev.getPid().equals(sub.getId())).collect(Collectors.toList()).get(0); deviceId = tempDev.getId(); } - }else { + } else { deviceId = lineDeviceMap.get(temp.getObjIndex()); } @@ -3762,22 +3767,22 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple String nodeId = deviceMap.get(deviceId).getNodeId(); pqsTerminalPushLogDTO.setNodeId(nodeId); //如果前置删了直接返回 - if(!nodeMap.containsKey(nodeId)){ + if (!nodeMap.containsKey(nodeId)) { return; } pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); pqsTerminalPushLogDTO.setProcessUpdateFlag(false); - if(deviceProcesseMap.containsKey(deviceId)){ + if (deviceProcesseMap.containsKey(deviceId)) { pqsTerminalPushLogDTO.setProcessNum(deviceProcesseMap.get(deviceId)); - }else { - throw new BusinessException("存在终端未设置进程号,请在前置管理页面设置进程号在进行此操作"); + } else { + throw new BusinessException("存在终端未设置进程号,请在前置管理页面设置进程号在进行此操作"); } pqsTerminalPushLogDTO.setOperateType(DeviceRebootType.LEDGER_MODIFY); pqsTerminalPushLogDTOList.add(pqsTerminalPushLogDTO); - }else if(Objects.equals(temp.getTerminalType(),4)){ + } else if (Objects.equals(temp.getTerminalType(), 4)) { //如果是修改进程操作记录2个进程日志; - if(temp.getLogsType().equals(dataDic.getId())){ + if (temp.getLogsType().equals(dataDic.getId())) { String temLos = "%s进行更新终端进程操作;终端名称 :%s,由进程%s修改成进程%s"; List strings = this.parseTemplateValues(temLos, temp.getTerminalDescribe()); String num1 = strings.get(2); // 第一个进程 @@ -3787,14 +3792,14 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalPushLogDTO.setId(temp.getId()); String deviceId = temp.getObjIndex(); pqsTerminalPushLogDTO.setDevId(deviceId); - pqsTerminalPushLogDTO.setDevName(lineMap.containsKey(deviceId)?lineMap.get(deviceId).getName():"删除设备"); + pqsTerminalPushLogDTO.setDevName(lineMap.containsKey(deviceId) ? lineMap.get(deviceId).getName() : "删除设备"); String nodeId = deviceMap.get(deviceId).getNodeId(); pqsTerminalPushLogDTO.setNodeId(nodeId); pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); pqsTerminalPushLogDTO.setProcessUpdateFlag(true); pqsTerminalPushLogDTO.setProcessNum(processId1); pqsTerminalPushLogDTOList.add(pqsTerminalPushLogDTO); - PqsTerminalPushLogDTO pqsTerminalPushLogDTO1 = new PqsTerminalPushLogDTO(); + PqsTerminalPushLogDTO pqsTerminalPushLogDTO1 = new PqsTerminalPushLogDTO(); pqsTerminalPushLogDTO1.setId(temp.getId()); pqsTerminalPushLogDTO1.setDevId(deviceId); @@ -3805,14 +3810,14 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalPushLogDTO1.setProcessNum(processId2); pqsTerminalPushLogDTOList.add(pqsTerminalPushLogDTO1); - }else { + } else { pqsTerminalPushLogDTO.setId(temp.getId()); String deviceId = temp.getObjIndex(); pqsTerminalPushLogDTO.setDevId(deviceId); //区分删除操作,新增和其他操作 - String operate= DeviceRebootType.LEDGER_MODIFY; + String operate = DeviceRebootType.LEDGER_MODIFY; - if(Objects.equals(temp.getOperateType(), Param.DEL)){ + if (Objects.equals(temp.getOperateType(), Param.DEL)) { operate = DeviceRebootType.DELETE_TERMINAL; @@ -3821,7 +3826,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } //设备删除找不到设备名称,重日志截取 - if(Objects.equals(temp.getOperateType(), Param.DEL)){ + if (Objects.equals(temp.getOperateType(), Param.DEL)) { String temLos = "%s名称:%s;前置信息:%s"; List strings = this.parseTemplateValues(temLos, temp.getTerminalDescribe()); String devName = strings.get(1); // 设备名称 @@ -3830,20 +3835,20 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple String nodeId = nodeNameMap.get(nodeName).getId(); pqsTerminalPushLogDTO.setNodeId(nodeId); pqsTerminalPushLogDTO.setNodeName(nodeName); - }else { + } else { //如果存在说明设备未被删除,不存在说明有一条删除日志,直接return; - if(lineMap.containsKey(deviceId)){ + if (lineMap.containsKey(deviceId)) { pqsTerminalPushLogDTO.setDevName(lineMap.get(deviceId).getName()); - }else{ + } else { pqsTerminalPushLogDTO.setDevName("删除设备"); } //如果新增的没有,说明该新增设备在本次也删除了, - if(deviceMap.containsKey(deviceId)){ + if (deviceMap.containsKey(deviceId)) { String nodeId = deviceMap.get(deviceId).getNodeId(); pqsTerminalPushLogDTO.setNodeId(nodeId); pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); - }else{ + } else { addAndDelteId.add(deviceId); return; } @@ -3852,10 +3857,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } pqsTerminalPushLogDTO.setProcessUpdateFlag(false); - if(deviceProcesseMap.containsKey(deviceId)){ + if (deviceProcesseMap.containsKey(deviceId)) { pqsTerminalPushLogDTO.setProcessNum(deviceProcesseMap.get(deviceId)); - }else { - throw new BusinessException("存在终端未设置进程号,请在前置管理页面设置进程号在进行此操作"); + } else { + throw new BusinessException("存在终端未设置进程号,请在前置管理页面设置进程号在进行此操作"); } pqsTerminalPushLogDTO.setOperateType(operate); @@ -3869,116 +3874,118 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } - Map>> collect2 = pqsTerminalPushLogDTOList.stream().filter(temp->!addAndDelteId.contains(temp.getDevId())).collect(Collectors.groupingBy(PqsTerminalPushLogDTO::getNodeId, Collectors.groupingBy(PqsTerminalPushLogDTO::getProcessNum))); - collect2.forEach((nodeId,pqsTerminalPushLogDTOMap)->{ - pqsTerminalPushLogDTOMap.forEach((processId,tempPqsTerminalPushLogDTOList)->{ + Map>> collect2 = pqsTerminalPushLogDTOList.stream().filter(temp -> !addAndDelteId.contains(temp.getDevId())).collect(Collectors.groupingBy(PqsTerminalPushLogDTO::getNodeId, Collectors.groupingBy(PqsTerminalPushLogDTO::getProcessNum))); + collect2.forEach((nodeId, pqsTerminalPushLogDTOMap) -> { + pqsTerminalPushLogDTOMap.forEach((processId, tempPqsTerminalPushLogDTOList) -> { PqsTerminalPushLogDTO pqsTerminalPushLogDTO = tempPqsTerminalPushLogDTOList.get(0); //如果存在终端变更进程的记录直接重启进程 boolean processUpdateFlag = tempPqsTerminalPushLogDTOList.stream().map(PqsTerminalPushLogDTO::getProcessUpdateFlag).anyMatch(b -> b != null && b); - if(processUpdateFlag){ + if (processUpdateFlag) { PreCommandDTO preCommandDTO = new PreCommandDTO(); String guid = IdUtil.simpleUUID(); - String command = "重启前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId; + String command = "重启前置机:" + pqsTerminalPushLogDTO.getNodeName() + "下进程:" + processId; preCommandDTO.setGuid(guid); preCommandDTO.setCommand(command); preCommandDTO.setResult("2"); //调用重启进程接口 - this.askRestartProcess(guid,pqsTerminalPushLogDTO.getNodeId(),processId,"delete","all"); + this.askRestartProcess(guid, pqsTerminalPushLogDTO.getNodeId(), processId, "delete", "all"); preCommandDTOList.add(preCommandDTO); - }else { + } else { List deviceIds = tempPqsTerminalPushLogDTOList.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); //如果一个进程上涉及10个以上的设备修改,直接重启进程,否则重启设备 - if(CollectionUtil.isNotEmpty(deviceIds)&&deviceIds.size()>10){ + if (CollectionUtil.isNotEmpty(deviceIds) && deviceIds.size() > 10) { PreCommandDTO preCommandDTO = new PreCommandDTO(); String guid = IdUtil.simpleUUID(); - String command = "重启前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId; + String command = "重启前置机:" + pqsTerminalPushLogDTO.getNodeName() + "下进程:" + processId; preCommandDTO.setGuid(guid); preCommandDTO.setCommand(command); preCommandDTO.setResult("2"); //调用重启进程接口 - this.askRestartProcess(guid,pqsTerminalPushLogDTO.getNodeId(),processId,"delete","all"); + this.askRestartProcess(guid, pqsTerminalPushLogDTO.getNodeId(), processId, "delete", "all"); preCommandDTOList.add(preCommandDTO); - }else { + } else { //调用重启设备接口先删除设备,在新增,在修改在重启设备 List deleteDevIds = new ArrayList<>(); List addDevIds = new ArrayList<>(); List modifyDevIds = new ArrayList<>(); Map> collect = tempPqsTerminalPushLogDTOList.stream().collect(Collectors.groupingBy(PqsTerminalPushLogDTO::getOperateType)); - if(collect.containsKey(DeviceRebootType.DELETE_TERMINAL)){ + if (collect.containsKey(DeviceRebootType.DELETE_TERMINAL)) { List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.DELETE_TERMINAL); deleteDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); } - if(collect.containsKey(DeviceRebootType.ADD_TERMINAL)){ + if (collect.containsKey(DeviceRebootType.ADD_TERMINAL)) { List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.ADD_TERMINAL); - addDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); + addDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); } - if(collect.containsKey(DeviceRebootType.LEDGER_MODIFY)){ + if (collect.containsKey(DeviceRebootType.LEDGER_MODIFY)) { List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.LEDGER_MODIFY); modifyDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); } - if(collect.containsKey(DeviceRebootType.DELETE_TERMINAL)){ + if (collect.containsKey(DeviceRebootType.DELETE_TERMINAL)) { List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.DELETE_TERMINAL); List finalAddDevIds = addDevIds; //过滤本次新增的设备,因为前置那边还没有新增该装备 - pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> !finalAddDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){ + pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp -> !finalAddDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)) { String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(",")); List resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); PreCommandDTO preCommandDTO = new PreCommandDTO(); String guid = IdUtil.simpleUUID(); - String command = "删除前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString; + String command = "删除前置机:" + pqsTerminalPushLogDTO.getNodeName() + "下进程:" + processId + "下终端" + devNameString; preCommandDTO.setGuid(guid); preCommandDTO.setCommand(command); preCommandDTO.setResult("2"); //调用重启设备接口 - this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),resultDevIds,DeviceRebootType.DELETE_TERMINAL,processId); + this.askRestartDevice(guid, pqsTerminalPushLogDTO.getNodeId(), resultDevIds, DeviceRebootType.DELETE_TERMINAL, processId); preCommandDTOList.add(preCommandDTO); } } - if(collect.containsKey(DeviceRebootType.ADD_TERMINAL)){ + if (collect.containsKey(DeviceRebootType.ADD_TERMINAL)) { List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.ADD_TERMINAL); List finalDeleteDevIds = deleteDevIds; - pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> !finalDeleteDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList()); + pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp -> !finalDeleteDevIds.contains(temp.getDevId())).distinct().collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){ + if (!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)) { String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(",")); - List resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); PreCommandDTO preCommandDTO = new PreCommandDTO(); + List resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); + PreCommandDTO preCommandDTO = new PreCommandDTO(); String guid = IdUtil.simpleUUID(); - String command = "新增前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString; + String command = "新增前置机:" + pqsTerminalPushLogDTO.getNodeName() + "下进程:" + processId + "下终端" + devNameString; preCommandDTO.setGuid(guid); preCommandDTO.setCommand(command); preCommandDTO.setResult("2"); //调用重启进程接口 - this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),resultDevIds,DeviceRebootType.ADD_TERMINAL,processId); + this.askRestartDevice(guid, pqsTerminalPushLogDTO.getNodeId(), resultDevIds, DeviceRebootType.ADD_TERMINAL, processId); preCommandDTOList.add(preCommandDTO); } } - if(collect.containsKey(DeviceRebootType.LEDGER_MODIFY)){ + if (collect.containsKey(DeviceRebootType.LEDGER_MODIFY)) { List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.LEDGER_MODIFY); List finalDeleteDevIds1 = deleteDevIds; List finalAddDevIds1 = addDevIds; - pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp-> !finalDeleteDevIds1.contains(temp.getDevId())&& !finalAddDevIds1.contains(temp.getDevId())).distinct().collect(Collectors.toList()); + pqsTerminalPushLogDTOList1 = pqsTerminalPushLogDTOList1.stream().filter(temp -> !finalDeleteDevIds1.contains(temp.getDevId()) && !finalAddDevIds1.contains(temp.getDevId())).distinct().collect(Collectors.toList()); - if(!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)){ + if (!CollectionUtils.isEmpty(pqsTerminalPushLogDTOList1)) { String devNameString = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevName).distinct().collect(Collectors.joining(",")); - List resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); PreCommandDTO preCommandDTO = new PreCommandDTO(); + List resultDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); + PreCommandDTO preCommandDTO = new PreCommandDTO(); String guid = IdUtil.simpleUUID(); - String command = "修改前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString; + String command = "修改前置机:" + pqsTerminalPushLogDTO.getNodeName() + "下进程:" + processId + "下终端" + devNameString; preCommandDTO.setGuid(guid); preCommandDTO.setCommand(command); preCommandDTO.setResult("2"); //调用重启进程接口 - this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),resultDevIds,DeviceRebootType.LEDGER_MODIFY,processId); + this.askRestartDevice(guid, pqsTerminalPushLogDTO.getNodeId(), resultDevIds, DeviceRebootType.LEDGER_MODIFY, processId); preCommandDTOList.add(preCommandDTO); } @@ -3990,15 +3997,15 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple }); }); - if(!CollectionUtils.isEmpty(list1)){ - list1.forEach(temp->{ + if (!CollectionUtils.isEmpty(list1)) { + list1.forEach(temp -> { temp.setIsPush(1); pqsTerminalLogsMapper.updateById(temp); }); } - if(!CollectionUtils.isEmpty(list)){ - list.forEach(temp->{ + if (!CollectionUtils.isEmpty(list)) { + list.forEach(temp -> { temp.setIsPush(1); pqsTerminalLogsMapper.updateById(temp); @@ -4006,10 +4013,10 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } - }else { + } else { throw new BusinessException("暂无变动的装置测点推送"); } - if(CollectionUtils.isEmpty(preCommandDTOList)){ + if (CollectionUtils.isEmpty(preCommandDTOList)) { throw new BusinessException("暂无变动的装置测点推送"); } return preCommandDTOList; @@ -4018,130 +4025,14 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple @Override - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - public PushResultDTO getPushResult(String guid) { PushResultDTO pushResultDTO = new PushResultDTO(); String stringByKey = redisUtil.getStringByKey(RedisKeyPrefix.TOPIC_REPLY.concat(guid)); - if(Objects.isNull(stringByKey)){ + if (Objects.isNull(stringByKey)) { pushResultDTO.setCode("2"); pushResultDTO.setResult(""); - }else { - TopicReplyDTO topicReplyDTO =JSONObject.parseObject(stringByKey,TopicReplyDTO.class); + } else { + TopicReplyDTO topicReplyDTO = JSONObject.parseObject(stringByKey, TopicReplyDTO.class); pushResultDTO.setCode("1"); pushResultDTO.setResult(topicReplyDTO.getResult()); @@ -4151,18 +4042,18 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } @Override - public void askRestartProcess( RestartParam restartParam) { + public void askRestartProcess(RestartParam restartParam) { ProcessRebootMessage procesRebootMessage = new ProcessRebootMessage(); Node nodeById = nodeService.getNodeById(restartParam.getNodeId()); procesRebootMessage.setIndex(restartParam.getProcessNo()); - if(Objects.equals("1",restartParam.getDeviceRebootType())){ + if (Objects.equals("1", restartParam.getDeviceRebootType())) { procesRebootMessage.setFun("reset"); procesRebootMessage.setProcessNum(nodeById.getMaxProcessNum()); procesRebootMessage.setProcessNo(1); - }else { + } else { procesRebootMessage.setFun("delete"); procesRebootMessage.setProcessNo(restartParam.getProcessNo()); @@ -4177,7 +4068,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } //反解析日志 - public List parseTemplateValues(String template, String actualString) { + public List parseTemplateValues(String template, String actualString) { List values = new ArrayList<>(); // 分割模板字符串,以%s为分隔符 @@ -4220,67 +4111,65 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } - - /** * 终端日志记录(只记录新增删除) */ - private void terminalLogsCat(List logsList,String operateType,List pqsTerminalLogsList,Map nodeMap){ + private void terminalLogsCat(List logsList, String operateType, List pqsTerminalLogsList, Map nodeMap) { String op; - Map subMap = new HashMap<>(); - List temList = logsList.stream().filter(it-> it.getLevel().equals(LINE_LEVEL.getCode()) ||it.getLevel().equals(DEVICE_LEVEL.getCode())).collect(Collectors.toList()); - if(CollUtil.isEmpty(temList)){ + Map subMap = new HashMap<>(); + List temList = logsList.stream().filter(it -> it.getLevel().equals(LINE_LEVEL.getCode()) || it.getLevel().equals(DEVICE_LEVEL.getCode())).collect(Collectors.toList()); + if (CollUtil.isEmpty(temList)) { return; } - switch (operateType){ + switch (operateType) { case Param.ADD: op = Param.ADD_ZN; - List stationIds = temList.stream().map(it->it.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).distinct().collect(Collectors.toList()); + List stationIds = temList.stream().map(it -> it.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).distinct().collect(Collectors.toList()); List subList = this.listByIds(stationIds); - subMap = subList.stream().collect(Collectors.toMap(Line::getId,Function.identity())); + subMap = subList.stream().collect(Collectors.toMap(Line::getId, Function.identity())); break; case Param.DEL: op = Param.DEL_ZN; - List stationList = logsList.stream().filter(it->it.getLevel().equals(SUB_LEVEL.getCode())).collect(Collectors.toList()); - subMap = stationList.stream().collect(Collectors.toMap(Line::getId,Function.identity())); + List stationList = logsList.stream().filter(it -> it.getLevel().equals(SUB_LEVEL.getCode())).collect(Collectors.toList()); + subMap = stationList.stream().collect(Collectors.toMap(Line::getId, Function.identity())); break; default: - op=Param.UNKONOW; + op = Param.UNKONOW; break; } - DictData monitorDataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.LINE_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData(); - DictData devDataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.DEV_PARAMETER.getCode(),DicDataTypeEnum.DEV_OPS.getCode()).getData(); + DictData monitorDataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.LINE_PARAMETER.getCode(), DicDataTypeEnum.DEV_OPS.getCode()).getData(); + DictData devDataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.DEV_PARAMETER.getCode(), DicDataTypeEnum.DEV_OPS.getCode()).getData(); String name = RequestUtil.getUserNickname(); - if(CollUtil.isNotEmpty(temList)){ - for(Line line : temList){ + if (CollUtil.isNotEmpty(temList)) { + for (Line line : temList) { PqsTerminalLogs pqsTerminalLogs = new PqsTerminalLogs(); pqsTerminalLogs.setTerminalType(line.getLevel()); - if(line.getLevel().equals(LINE_LEVEL.getCode())){ + if (line.getLevel().equals(LINE_LEVEL.getCode())) { pqsTerminalLogs.setLogsType(monitorDataDic.getId()); - }else if(line.getLevel().equals(DEVICE_LEVEL.getCode())){ + } else if (line.getLevel().equals(DEVICE_LEVEL.getCode())) { pqsTerminalLogs.setLogsType(devDataDic.getId()); } String subName; String levelOperate; String tem; String nodeName = ""; - if(line.getLevel().equals(LINE_LEVEL.getCode())){ + if (line.getLevel().equals(LINE_LEVEL.getCode())) { levelOperate = LINE_LEVEL.getMessage(); - }else{ + } else { levelOperate = DEVICE_LEVEL.getMessage(); - if(nodeMap.containsKey(line.getId())){ - nodeName = ";前置信息:"+nodeMap.get(line.getId()).getName(); + if (nodeMap.containsKey(line.getId())) { + nodeName = ";前置信息:" + nodeMap.get(line.getId()).getName(); } } subName = subMap.get(line.getPids().split(StrUtil.COMMA)[SUB_LEVEL.getCode()]).getName(); String temLos = "%s进行%s%s操作;详细信息: %s名称: %s"; - if(line.getLevel().equals(LINE_LEVEL.getCode())){ + if (line.getLevel().equals(LINE_LEVEL.getCode())) { String devName = this.getById(line.getPids().split(StrUtil.COMMA)[DEVICE_LEVEL.getCode()]).getName(); - tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"->"+devName+"->"+line.getName()+nodeName); - }else{ - tem = String.format(temLos,name,op,levelOperate,levelOperate,subName+"->"+line.getName()+nodeName); + tem = String.format(temLos, name, op, levelOperate, levelOperate, subName + "->" + devName + "->" + line.getName() + nodeName); + } else { + tem = String.format(temLos, name, op, levelOperate, levelOperate, subName + "->" + line.getName() + nodeName); } @@ -4298,6 +4187,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple /** * 终端日志记录(记录修改) + * * @param op * @param updateDeviceParam * @param devicePO @@ -4308,12 +4198,12 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple * @param dicDataByCode * @param userName */ - public void devLogsCat(String op,DeviceParam updateDeviceParam,Line devicePO,Line sub,Device devDetail, List pqsTerminalLogsList, Map dictDataMap, DictData dicDataByCode, String userName) { - StringBuilder stringBuilder = new StringBuilder(String.format("%s进行%s装置(%s_%s)操作,详细信息:", userName,op,sub.getName(), devicePO.getName())); + public void devLogsCat(String op, DeviceParam updateDeviceParam, Line devicePO, Line sub, Device devDetail, List pqsTerminalLogsList, Map dictDataMap, DictData dicDataByCode, String userName) { + StringBuilder stringBuilder = new StringBuilder(String.format("%s进行%s装置(%s_%s)操作,详细信息:", userName, op, sub.getName(), devicePO.getName())); - if(Param.DEL_ZN.equals(op)){ + if (Param.DEL_ZN.equals(op)) { Node node = nodeService.getById(devDetail.getNodeId()); - String info = sub.getName()+"_"+devicePO.getName()+";前置信息:"+node.getName(); + String info = sub.getName() + "_" + devicePO.getName() + ";前置信息:" + node.getName(); stringBuilder.append(info); PqsTerminalLogs pqsTerminalLogs = new PqsTerminalLogs(); pqsTerminalLogs.setOperateType(Param.DEL); @@ -4324,7 +4214,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalLogs.setLogsType(dicDataByCode.getId()); pqsTerminalLogs.setTerminalDescribe(stringBuilder.toString()); pqsTerminalLogsList.add(pqsTerminalLogs); - }else if(Param.UPDATE_ZN.equals(op)){ + } else if (Param.UPDATE_ZN.equals(op)) { boolean flag = false; // 比较装置名称 @@ -4346,9 +4236,9 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple 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, "终端型号"); + flag |= compareAndAppend(stringBuilder, oldDevTypeName, newDevTypeName, "终端型号"); } - if(flag){ + if (flag) { PqsTerminalLogs pqsTerminalLogs = new PqsTerminalLogs(); pqsTerminalLogs.setOperateType(Param.UPDATE); pqsTerminalLogs.setTerminalType(DEVICE_LEVEL.getCode()); @@ -4361,6 +4251,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } } } + private boolean compareAndAppend(StringBuilder sb, String oldValue, String newValue, String fieldName) { if (oldValue != null && !oldValue.equals(newValue)) { sb.append(String.format("%s由 %s 改为> %s;", fieldName, oldValue, newValue));