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 f48e29aa8..32292f81c 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 @@ -3880,7 +3880,7 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple preCommandDTOList.add(preCommandDTO); }else { - //调用重启设备接口先删除设备,在重启设备 + //调用重启设备接口先删除设备,在新增,在修改在重启设备 List deleteDevIds = new ArrayList<>(); Map> collect = tempPqsTerminalPushLogDTOList.stream().collect(Collectors.groupingBy(PqsTerminalPushLogDTO::getOperateType)); if(collect.containsKey(DeviceRebootType.DELETE_TERMINAL)){ @@ -3900,36 +3900,45 @@ public class TerminalBaseServiceImpl extends ServiceImpl imple preCommandDTOList.add(preCommandDTO); } - if(collect.containsKey(DeviceRebootType.LEDGER_MODIFY)){ - List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.LEDGER_MODIFY); - deleteDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); - String devNameString = deleteDevIds.stream().map(temp->{return lineMap.get(temp).getName();}).collect(Collectors.joining(",")); - PreCommandDTO preCommandDTO = new PreCommandDTO(); - String guid = IdUtil.simpleUUID(); - String command = "修改前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString; - preCommandDTO.setGuid(guid); - preCommandDTO.setCommand(command); - preCommandDTO.setResult("2"); - //调用重启进程接口 - this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),deleteDevIds,DeviceRebootType.LEDGER_MODIFY,processId); - preCommandDTOList.add(preCommandDTO); - } if(collect.containsKey(DeviceRebootType.ADD_TERMINAL)){ List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.ADD_TERMINAL); - deleteDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); - String devNameString = deleteDevIds.stream().map(temp->{return lineMap.get(temp).getName();}).collect(Collectors.joining(",")); - PreCommandDTO preCommandDTO = new PreCommandDTO(); - String guid = IdUtil.simpleUUID(); - String command = "新增前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString; - preCommandDTO.setGuid(guid); - preCommandDTO.setCommand(command); - preCommandDTO.setResult("2"); + List addDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); + addDevIds.removeAll(deleteDevIds); + if(!CollectionUtils.isEmpty(addDevIds)){ + String devNameString = deleteDevIds.stream().map(temp->{return lineMap.get(temp).getName();}).collect(Collectors.joining(",")); + PreCommandDTO preCommandDTO = new PreCommandDTO(); + String guid = IdUtil.simpleUUID(); + String command = "新增前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString; + preCommandDTO.setGuid(guid); + preCommandDTO.setCommand(command); + preCommandDTO.setResult("2"); - //调用重启进程接口 - this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),deleteDevIds,DeviceRebootType.ADD_TERMINAL,processId); + //调用重启进程接口 + this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),deleteDevIds,DeviceRebootType.ADD_TERMINAL,processId); + + preCommandDTOList.add(preCommandDTO); + } - preCommandDTOList.add(preCommandDTO); } + if(collect.containsKey(DeviceRebootType.LEDGER_MODIFY)){ + List pqsTerminalPushLogDTOList1 = collect.get(DeviceRebootType.LEDGER_MODIFY); + List modifyDevIds = pqsTerminalPushLogDTOList1.stream().map(PqsTerminalPushLogDTO::getDevId).distinct().collect(Collectors.toList()); + modifyDevIds.removeAll(deleteDevIds); + if(!CollectionUtils.isEmpty(modifyDevIds)){ + String devNameString = modifyDevIds.stream().map(temp->{return lineMap.get(temp).getName();}).collect(Collectors.joining(",")); + PreCommandDTO preCommandDTO = new PreCommandDTO(); + String guid = IdUtil.simpleUUID(); + String command = "修改前置机:"+pqsTerminalPushLogDTO.getNodeName()+"下进程:"+processId+"下终端"+devNameString; + preCommandDTO.setGuid(guid); + preCommandDTO.setCommand(command); + preCommandDTO.setResult("2"); + //调用重启进程接口 + this.askRestartDevice(guid,pqsTerminalPushLogDTO.getNodeId(),deleteDevIds,DeviceRebootType.LEDGER_MODIFY,processId); + preCommandDTOList.add(preCommandDTO); + } + + } + } }