数据是这个样子的:
需要拼接成这样的: 成型设备-压片机-三出料
所有节点展开拼接
List<KnowledgeMachineList> machineList = new ArrayList<>();
private void transMachine(String prefixKey, String prefixType, List<KnowledgeDeviceTree> knowledgeResponse) {
// 成型设备-压片机-三出料
for (KnowledgeDeviceTree machineT : knowledgeResponse) {
if (machineT.getChildren() != null && !machineT.getChildren().isEmpty()) {
String key = machineT.getTableKey();
if (!prefixKey.isEmpty()) {
key = prefixKey + "-" + machineT.getTableKey();
}
String type = machineT.getDeviceType();
if (!prefixType.isEmpty()) {
type = prefixType + "-" + machineT.getDeviceType();
}
transMachine(key, type, machineT.getChildren());
} else {
KnowledgeMachineList machine = new KnowledgeMachineList();
machine.setTableKey(machineT.getTableKey());
machine.setParentId(prefixKey + "-" + machineT.getParentId());
machine.setDeviceType(prefixType + "-" + machineT.getDeviceType());
machine.setDeviceTypeSimple(machineT.getDeviceType());
machineList.add(machine);
}
}
}