组织人员树

This commit is contained in:
sxu 2024-11-01 15:29:13 +08:00
parent 732fb38899
commit 0a7fd633d9
2 changed files with 28 additions and 19 deletions

View File

@ -467,10 +467,10 @@ public class SysUserController extends BaseController {
* 根据角色列表获取部门人员树列表 * 根据角色列表获取部门人员树列表
*/ */
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("system:user:list")) @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("system:user:list"))
@GetMapping("/deptUserTree/roleIds/{roleIds}") @PostMapping("/deptUserTreeInRoleIds")
public AjaxResult deptUserTreeInRoleIds(@PathVariable("roleIds") Long[] roleIds) { public AjaxResult deptUserTreeInRoleIds(@RequestBody SysUser sysUser) {
try { try {
return success(deptService.selectDeptUserTree(roleIds)); return success(deptService.selectDeptUserTree(sysUser.getRoleIds()));
} catch (Exception e) { } catch (Exception e) {
logger.error(e.toString(), e); logger.error(e.toString(), e);
} }

View File

@ -51,21 +51,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
SELECT SELECT
d.dept_id AS deptId, d.dept_id AS deptId,
d.parent_id AS parentId, d.parent_id AS parentId,
d.dept_name AS deptName d.dept_name AS deptName,
FROM sys_dept d LENGTH( d.ancestors ) - LENGTH(
WHERE d.del_flag = '0' REPLACE ( d.ancestors, ',', '' )) AS LEVEL
FROM
sys_dept d
WHERE
d.del_flag = '0'
AND d.STATUS = '0' AND d.STATUS = '0'
UNION UNION
SELECT SELECT
su.user_id AS deptId, su.user_id AS deptId,
su.dept_id AS parentId, sd.dept_id AS parentId,
su.nick_name AS deptName su.nick_name AS deptName,
FROM sys_user su 99 AS LEVEL
FROM
sys_user su
LEFT JOIN sys_user_role sr ON su.user_id = sr.user_id LEFT JOIN sys_user_role sr ON su.user_id = sr.user_id
LEFT JOIN sys_dept sd ON su.dept_id = sd.dept_id LEFT JOIN sys_dept sd ON su.dept_id = sd.dept_id
WHERE su.del_flag = '0' AND sd.del_flag = '0'
AND sd.STATUS = '0'
WHERE
su.del_flag = '0'
<if test="roleIds != null and roleIds.length > 0"> <if test="roleIds != null and roleIds.length > 0">
and sr.role_id in and sr.role_id in
<foreach collection="roleIds" item="item" index="index" separator="," open="(" close=")"> <foreach collection="roleIds" item="item" index="index" separator="," open="(" close=")">