From 748454e4e26450a0ccc50352095a9d64e198324d Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Fri, 19 Mar 2021 22:24:25 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.0.2=E3=80=91=E6=95=B4=E7=90=86?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=BB=84=E7=BB=87=E6=9C=BA=E6=9E=84=E6=A0=91?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/organization/HrOrganizationRequest.java | 12 ++++++++++++ .../pojo/organization/OrganizationTreeNode.java | 7 ++++++- .../controller/HrOrganizationController.java | 11 +++++++++++ .../service/impl/HrOrganizationServiceImpl.java | 14 ++++++++++++++ 4 files changed, 43 insertions(+), 1 deletion(-) diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/HrOrganizationRequest.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/HrOrganizationRequest.java index bf7104331..1f7deff6e 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/HrOrganizationRequest.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/HrOrganizationRequest.java @@ -80,10 +80,22 @@ public class HrOrganizationRequest extends BaseRequest { @NotNull(message = "角色id不能为空", groups = orgZTree.class) private Long roleId; + /** + * 用户id(作为查询条件) + */ + @NotNull(message = "用户id不能为空", groups = userOrgScopeQuery.class) + private Long userId; + /** * 组织机构树zTree形式 */ public @interface orgZTree { } + /** + * 查询用户的数据范围 + */ + public @interface userOrgScopeQuery { + } + } diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/OrganizationTreeNode.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/OrganizationTreeNode.java index 842225295..5104d4096 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/OrganizationTreeNode.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/organization/OrganizationTreeNode.java @@ -35,6 +35,11 @@ public class OrganizationTreeNode implements AbstractTreeNode, AbstractXmSelectN */ private boolean spread = true; + /** + * 是否选中 + */ + private boolean selected = false; + /** * 子节点的集合 */ @@ -67,7 +72,7 @@ public class OrganizationTreeNode implements AbstractTreeNode, AbstractXmSelectN @Override public Boolean getSelected() { - return false; + return this.selected; } @Override diff --git a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/controller/HrOrganizationController.java b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/controller/HrOrganizationController.java index 45fc84eb8..10bc0d740 100644 --- a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/controller/HrOrganizationController.java +++ b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/controller/HrOrganizationController.java @@ -120,6 +120,17 @@ public class HrOrganizationController { return new SuccessResponseData(hrOrganizationService.organizationTree(hrOrganizationRequest)); } + /** + * 获取组织机构树(用于用户绑定数据范围,可以渲染是否选中信息) + * + * @author fengshuonan + * @date 2021/3/19 22:20 + */ + @GetResource(name = "获取组织机构树(用于用户绑定数据范围)", path = "/hrOrganization/treeOrgScope") + public ResponseData organizationTreeOrgScope(@Validated(value = HrOrganizationRequest.userOrgScopeQuery.class) HrOrganizationRequest hrOrganizationRequest) { + return new SuccessResponseData(hrOrganizationService.organizationTree(hrOrganizationRequest)); + } + /** * 获取组织机构树(用于角色配置数据范围类型,并且数据范围类型是指定组织机构时)(layui版本) * diff --git a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java index 3b8e16d39..b3f3cc9a8 100644 --- a/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java +++ b/kernel-s-system/system-business-organization/src/main/java/cn/stylefeng/roses/kernel/system/modular/organization/service/impl/HrOrganizationServiceImpl.java @@ -176,6 +176,20 @@ public class HrOrganizationServiceImpl extends ServiceImpl orgIds = userServiceApi.getUserBindDataScope(hrOrganizationRequest.getUserId()); + if (ObjectUtil.isNotEmpty(orgIds)) { + for (OrganizationTreeNode organizationTreeNode : treeNodeList) { + for (Long orgId : orgIds) { + if (organizationTreeNode.getId().equals(orgId)) { + organizationTreeNode.setSelected(true); + } + } + } + } + } + // 构建树并返回 return new DefaultTreeBuildFactory().doTreeBuild(treeNodeList); }