Browse Source

获取子节点

release
jianjun 3 years ago
parent
commit
94c816662e
  1. 20
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/dto/result/OptionResultDTO.java
  2. 19
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java

20
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<OptionResultDTO> children;
private Boolean usableFlag;
private String type;
/**
* desc:递归获取当前节点的 所有子节点
*
* @param option
* @param resultMap
*/
public void getCurrenNodeAllChild(OptionResultDTO option, Map<String, OptionResultDTO> resultMap) {
resultMap.put(option.getValue(), option);
if (CollectionUtils.isNotEmpty(option.getChildren())) {
return;
}
option.getChildren().forEach(o -> {
resultMap.put(o.getValue(), o);
getCurrenNodeAllChild(o, resultMap);
});
}
}

19
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<String, OptionResultDTO> 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<String, OptionResultDTO> 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

Loading…
Cancel
Save