diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java index 4226c2acac..739d44fc00 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java @@ -1,9 +1,11 @@ package com.epmet.commons.tools.dto.result; import lombok.Data; +import org.apache.commons.collections4.CollectionUtils; import java.io.Serializable; import java.util.List; +import java.util.Map; /** * @Description @@ -21,4 +23,22 @@ public class OptionResultDTO implements Serializable { private List children; private Boolean usableFlag; private String type; + + + /** + * desc:递归获取当前节点的 所有子节点 + * + * @param option + * @param resultMap + */ + public void getCurrenNodeAllChild(OptionResultDTO option, Map resultMap) { + resultMap.put(option.getValue(), option); + if (CollectionUtils.isNotEmpty(option.getChildren())) { + return; + } + option.getChildren().forEach(o -> { + resultMap.put(o.getValue(), o); + getCurrenNodeAllChild(o, resultMap); + }); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 5596554999..51074aac3e 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -1289,27 +1289,12 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res if (options == null) { return null; } + //结果平铺展开 Map resultMap = new HashMap<>(); - options.forEach(option-> getChildren(option,resultMap)); + options.forEach(option-> option.getCurrenNodeAllChild(option,resultMap)); return resultMap; } - /** - * desc:递归获取children - * @param option - * @param resultMap - * todo 利用泛型 提取到公共类中 - */ - public void getChildren(OptionResultDTO option, Map resultMap) { - resultMap.put(option.getValue(),option); - if (CollectionUtils.isNotEmpty(option.getChildren())){ - option.getChildren().forEach(o->{ - resultMap.put(o.getValue(),o); - getChildren(o,resultMap); - }); - } - } - /** * 更新主表中人员类别标记 * @param icResiUserTableEnum