diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java index b299e78c5..e71d2307a 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/controller/SysDeptController.java @@ -101,7 +101,7 @@ public class SysDeptController { } catch (Exception e) { log.error("获取当前用户ID异常", e); } - if (ObjectUtil.isNotEmpty(parentId)) { + if (ObjectUtil.isEmpty(parentId)) { parentId = deptId; } return R.ok(sysDeptService.selectTree(deptName, parentId)); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java index ab917719c..fed013eda 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysDeptServiceImpl.java @@ -133,9 +133,15 @@ public class SysDeptServiceImpl extends ServiceImpl impl */ @Override public List> selectTree(String deptName, Long parentId) { - // 查询全部部门 - List deptAllList = deptMapper - .selectList(Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName)); + List deptAllList = new ArrayList<>(); + if (ObjectUtil.isEmpty(parentId)) { + // 查询全部部门 + deptAllList = deptMapper + .selectList(Wrappers.lambdaQuery().like(StrUtil.isNotBlank(deptName), SysDept::getName, deptName)); + } else { + deptAllList = listDescendant(parentId); + } + // 查询数据权限内部门 List deptOwnIdList = deptMapper .selectListByScope( @@ -173,7 +179,12 @@ public class SysDeptServiceImpl extends ServiceImpl impl return tree; }).collect(Collectors.toList()); } - + if (ObjectUtil.isNotEmpty(parentId)) { + SysDept parentDept = getById(parentId); + if (ObjectUtil.isNotEmpty(parentDept) && ObjectUtil.isNotEmpty(parentDept.getParentId())) { + parentId = parentDept.getParentId(); + } + } return TreeUtil.build(collect, parentId == null ? 0 : parentId); }