diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java index db93a5a6..0d78c184 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java @@ -6,6 +6,7 @@ import com.adc.da.slrs.sarInstitution.entity.SyncInstitution; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.adc.da.slrs.sarInstitution.entity.TsUserVO; import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService; +import com.adc.da.slrs.sarInstitution.util.TreeUtil; import com.adc.da.sync.service.SyncUserService; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; @@ -38,48 +39,18 @@ public class TsInstitutionServiceImpl extends ServiceImpl getInstitution() { - + List institutionList = this.list();//查询所有的的数据 //查询第一层机构 - List institutionRoot=tsInstitutionDao.selectRoot(); + List root=tsInstitutionDao.selectRoot(); - //转换为hashSet - List root = institutionRoot.stream() - .map(item -> item.getId()) - .collect(Collectors.toList()); - HashSet rootSet = new HashSet<>(root); + TreeUtil treeUtil = new TreeUtil(); + List institutionTree = treeUtil.treeAsList(institutionList, root); - List institutionList = this.list();//查询所有的的数据 - //获取父节点,0表示父节点 - List collect = institutionList.stream() - .filter(e -> rootSet.contains(e.getId())) - .map(e -> { - - List childNode = getChildNode(e, institutionList); - - e.setChildren(new ArrayList<>(childNode)); - return e; - }).collect(Collectors.toList()); - - return collect; + return institutionTree; } - /** - * 递归查询子节点 - * @param root - * @param contentKnowledgeList - * @return - */ - private List getChildNode(TsInstitution root, List contentKnowledgeList) { - List childrenList = contentKnowledgeList.stream().filter(e -> Objects.equals(e.getParentId(), root.getId())).map( - e -> { - List childNode = getChildNode(e, contentKnowledgeList); - e.setChildren(new ArrayList<>(childNode)); - return e; - } - ).collect(Collectors.toList()); - return childrenList; - } + diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java new file mode 100644 index 00000000..db486e80 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/util/TreeUtil.java @@ -0,0 +1,54 @@ +package com.adc.da.slrs.sarInstitution.util; + +import com.adc.da.slrs.sarInstitution.entity.TsInstitution; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +@Component +public class TreeUtil { + + public List treeAsList(List institutionList,List rootList){ + + //转换为hashSet + List root = rootList.stream() + .map(item -> item.getId()) + .collect(Collectors.toList()); + HashSet rootSet = new HashSet<>(root); + + //获取父节点,0表示父节点 + List tree = institutionList.stream() + .filter(e -> rootSet.contains(e.getId())) + .map(e -> { + + List childNode = getChildNode(e, institutionList); + + e.setChildren(new ArrayList<>(childNode)); + return e; + }).collect(Collectors.toList()); + + return tree; + } + + /** + * 递归查询子节点 + * @param root + * @param contentKnowledgeList + * @return + */ + private List getChildNode(TsInstitution root, List contentKnowledgeList) { + List childrenList = contentKnowledgeList.stream().filter(e -> Objects.equals(e.getParentId(), root.getId())).map( + e -> { + List childNode = getChildNode(e, contentKnowledgeList); + e.setChildren(new ArrayList<>(childNode)); + return e; + } + ).collect(Collectors.toList()); + return childrenList; + } + +}