|
|
@@ -324,15 +324,18 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
|
|
|
|
|
|
private List<SysOrgVO> generateTree(List<SysOrgVO> orgs, SysOrg sysOrg) {
|
|
|
Long parentId = Constants.TOP_ORG_PARENT_ID;
|
|
|
- if (ObjectUtil.isNotEmpty(sysOrg) && ObjectUtil.notEqual(Constants.TOP_ORG_PARENT_ID, sysOrg.getParentId())) {
|
|
|
- parentId = sysOrg.getParentId();
|
|
|
+ if (ObjectUtil.isNotEmpty(sysOrg) && ObjectUtil.notEqual(Constants.TOP_ORG_PARENT_ID, sysOrg.getTreeShowParentId())) {
|
|
|
+ parentId = sysOrg.getTreeShowParentId();
|
|
|
}
|
|
|
|
|
|
// 顶级机构存在多个的情况
|
|
|
- final List<Long> parentIds = orgs.stream().filter(x -> !orgs.stream().anyMatch(y -> x.getTreeShowParentId().equals(y.getId()))).map(SysOrgVO::getTreeShowParentId).collect(Collectors.toList());
|
|
|
+ List<Long> parentIds = orgs.stream().filter(x -> !orgs.stream().anyMatch(y -> x.getTreeShowParentId().equals(y.getId()))).map(SysOrgVO::getTreeShowParentId).collect(Collectors.toList());
|
|
|
if (parentIds.size() == 0) {
|
|
|
parentIds.add(parentId);
|
|
|
}
|
|
|
+ else {
|
|
|
+ parentIds=parentIds.stream().distinct().collect(Collectors.toList());
|
|
|
+ }
|
|
|
final Map<Long, List<SysOrgVO>> collect = orgs.stream().collect(Collectors.groupingBy(SysOrgVO::getTreeShowParentId));
|
|
|
List<SysOrgVO> result = new ArrayList<>();
|
|
|
parentIds.forEach(pId -> {
|