From 5f7414111e602cd04fbdcd5374adbe5a9643db2c Mon Sep 17 00:00:00 2001 From: hzj <826100833@qq.com> Date: Wed, 25 Jun 2025 09:54:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=A3=E6=9E=90=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=A8=A1=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TerminalBaseServiceImpl.java | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java index 7e2b6c655..2a140f20c 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/TerminalBaseServiceImpl.java @@ -3676,7 +3676,6 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple @Override - @Transactional public List ledgerChangePush() { List preCommandDTOList = new ArrayList<>(); DictData dataDic = dicDataFeignClient.getDicDataByCodeAndType(DicDataEnum.PROCESS_PARMETER.getCode(), DicDataTypeEnum.DEV_OPS.getCode()).getData(); @@ -3700,6 +3699,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple Map nodeNameMap = nodes.stream().collect(Collectors.toMap(Node::getName, Function.identity())); List pqsTerminalPushLogDTOList = new ArrayList<>(); + List addAndDelteId = new ArrayList<>(); if(!CollectionUtils.isEmpty(list)){ list.forEach(temp->{ PqsTerminalPushLogDTO pqsTerminalPushLogDTO = new PqsTerminalPushLogDTO(); @@ -3776,7 +3776,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } //设备删除找不到设备名称,重日志截取 if(Objects.equals(temp.getOperateType(), Param.DEL)){ - String temLos = "%s,详细信息:%s;前置信息:%s"; + String temLos = "%s名称:%s;前置信息:%s"; List strings = this.parseTemplateValues(temLos, temp.getTerminalDescribe()); String devName = strings.get(1); // 设备名称 String nodeName = strings.get(2); // 进程名称 @@ -3792,9 +3792,16 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple pqsTerminalPushLogDTO.setDevName("删除设备"); } - String nodeId = deviceMap.get(deviceId).getNodeId(); - pqsTerminalPushLogDTO.setNodeId(nodeId); - pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); + //如果新增的没有,说明该新增设备在本次也删除了, + if(deviceMap.containsKey(deviceId)){ + String nodeId = deviceMap.get(deviceId).getNodeId(); + pqsTerminalPushLogDTO.setNodeId(nodeId); + pqsTerminalPushLogDTO.setNodeName(nodeMap.get(nodeId).getName()); + }else{ + addAndDelteId.add(deviceId); + return; + } + } @@ -3813,7 +3820,8 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple } }); - Map>> collect2 = pqsTerminalPushLogDTOList.stream().collect(Collectors.groupingBy(PqsTerminalPushLogDTO::getNodeId, Collectors.groupingBy(PqsTerminalPushLogDTO::getProcessNum))); + + 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)->{