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)->{