【7.0.2】整理获取组织机构树接口

pull/12/head
fengshuonan 2021-03-19 22:24:25 +08:00
parent ceadea43f8
commit 748454e4e2
4 changed files with 43 additions and 1 deletions

View File

@ -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 {
}
}

View File

@ -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

View File

@ -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
*

View File

@ -176,6 +176,20 @@ public class HrOrganizationServiceImpl extends ServiceImpl<HrOrganizationMapper,
treeNodeList.add(treeNode);
}
// 设置树节点上,用户绑定的组织机构数据范围
if (hrOrganizationRequest.getUserId() != null) {
List<Long> 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<OrganizationTreeNode>().doTreeBuild(treeNodeList);
}