public class DictTreeUtil {
public List<SysDictData> transDepartment(List<SysDictData> rootList){
List<SysDictData> nodeList = new ArrayList<>();
for (SysDictData department : rootList) {
if (department.getPvalue()==null){//表明是一级父类
nodeList.add(department);
}
department.setChildList(setChild(department.getValue(),rootList));
}
return nodeList;
}
public List<SysDictData> setChild(String value, List<SysDictData> list ){
List<SysDictData> childList = new ArrayList<>();
for (SysDictData department : list) {
if (department.getPvalue()!=null){
if (value.equals(department.getPvalue())){
childList.add(department);
}
}
}
for (SysDictData department : childList) {
department.setChildList(setChild(department.getValue(),list));
}
if (childList.size()==0){
return null;
}
return childList;
}
}