From d127f0be1ed5f9d5181d630acb8262cb8e8d2389 Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Mon, 23 Jun 2025 10:44:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=83=A8=E9=97=A8=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/SysDeptController.java | 2 +- .../service/impl/SysDeptServiceImpl.java | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) 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); }