组织人员树
This commit is contained in:
parent
5a17972438
commit
f6ef65bdb9
|
|
@ -55,8 +55,6 @@ public class SysDept extends BaseEntity
|
|||
/** 子部门 */
|
||||
private List<SysDept> children = new ArrayList<SysDept>();
|
||||
|
||||
private List<SysUser> sysUsers;
|
||||
|
||||
private Integer level;
|
||||
|
||||
public Integer getLevel() {
|
||||
|
|
@ -193,14 +191,6 @@ public class SysDept extends BaseEntity
|
|||
this.children = children;
|
||||
}
|
||||
|
||||
public List<SysUser> getSysUsers() {
|
||||
return sysUsers;
|
||||
}
|
||||
|
||||
public void setSysUsers(List<SysUser> sysUsers) {
|
||||
this.sysUsers = sysUsers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
|
|
|
|||
|
|
@ -463,6 +463,19 @@ public class SysUserController extends BaseController {
|
|||
return error("系统异常,请联系管理员");
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色列表获取部门人员树列表
|
||||
*/
|
||||
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("system:user:list"))
|
||||
@GetMapping("/deptUserTreeInRoleIds")
|
||||
public AjaxResult deptUserTree(SysDept dept, List<Long> roleIds) {
|
||||
try {
|
||||
return success(deptService.selectDeptUserTree(dept, roleIds));
|
||||
} catch (Exception e) {
|
||||
logger.error(e.toString(), e);
|
||||
}
|
||||
return error("系统异常,请联系管理员");
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改用户审批状态
|
||||
|
|
|
|||
|
|
@ -34,8 +34,6 @@ public class TreeSelect implements Serializable {
|
|||
|
||||
private Integer level;
|
||||
|
||||
private List<SysUser> sysUsers;
|
||||
|
||||
|
||||
/**
|
||||
* 子节点
|
||||
|
|
@ -52,7 +50,6 @@ public class TreeSelect implements Serializable {
|
|||
this.parentId = dept.getParentId();
|
||||
this.status = dept.getStatus();
|
||||
this.label = dept.getDeptName();
|
||||
this.sysUsers = dept.getSysUsers();
|
||||
this.level = dept.getLevel();
|
||||
this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
|
||||
}
|
||||
|
|
@ -111,12 +108,4 @@ public class TreeSelect implements Serializable {
|
|||
public void setStatus(String status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public List<SysUser> getSysUsers() {
|
||||
return sysUsers;
|
||||
}
|
||||
|
||||
public void setSysUsers(List<SysUser> sysUsers) {
|
||||
this.sysUsers = sysUsers;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,15 @@ public interface SysDeptMapper
|
|||
*/
|
||||
public List<SysDept> selectDeptList(SysDept dept);
|
||||
|
||||
/**
|
||||
* 根据角色列表查询部门人员树结构信息
|
||||
*
|
||||
* @param dept 部门信息
|
||||
* @param roleIds 角色列表
|
||||
* @return 部门树信息集合
|
||||
*/
|
||||
public List<SysDept> selectDeptUserList(SysDept dept, @Param("roleIds") List<Long> roleIds);
|
||||
|
||||
/**
|
||||
* 根据角色ID查询部门树信息
|
||||
*
|
||||
|
|
|
|||
|
|
@ -35,6 +35,15 @@ public interface ISysDeptService
|
|||
*/
|
||||
public List<TreeSelect> selectDeptUserTreeList(SysDept dept);
|
||||
|
||||
/**
|
||||
* 根据角色列表查询部门人员树结构信息
|
||||
*
|
||||
* @param dept 部门信息
|
||||
* @param roleIds 角色列表
|
||||
* @return 部门树信息集合
|
||||
*/
|
||||
public List<TreeSelect> selectDeptUserTree(SysDept dept, List<Long> roleIds);
|
||||
|
||||
/**
|
||||
* 构建前端所需要树结构
|
||||
*
|
||||
|
|
|
|||
|
|
@ -75,6 +75,21 @@ public class SysDeptServiceImpl implements ISysDeptService
|
|||
return buildDeptTreeSelect(depts);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色列表查询部门人员树结构信息
|
||||
*
|
||||
* @param dept 部门信息
|
||||
* @param roleIds 角色列表
|
||||
* @return 部门树信息集合
|
||||
*/
|
||||
@Override
|
||||
@DataScope(deptAlias = "d")
|
||||
public List<TreeSelect> selectDeptUserTree(SysDept dept, List<Long> roleIds)
|
||||
{
|
||||
List<SysDept> depts = deptMapper.selectDeptUserList(dept, roleIds);
|
||||
return buildDeptTreeSelect(depts);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询部门人员树结构信息
|
||||
*
|
||||
|
|
@ -89,21 +104,21 @@ public class SysDeptServiceImpl implements ISysDeptService
|
|||
return buildDeptTreeSelect(userList);
|
||||
}
|
||||
List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
|
||||
for (SysDept sysDept : depts) {
|
||||
SysUser paramUser = new SysUser();
|
||||
paramUser.setDeptId(sysDept.getDeptId());
|
||||
List<SysUser> users = userMapper.selectUserList(paramUser);
|
||||
|
||||
List<SysUser> sysUsers = new ArrayList<>();
|
||||
for (SysUser user : users) {
|
||||
SysUser userResult = userMapper.selectUserById(user.getUserId());
|
||||
user.setRoles(userResult.getRoles());
|
||||
if (user.getDeptId().equals(sysDept.getDeptId())) {
|
||||
sysUsers.add(user);
|
||||
}
|
||||
}
|
||||
sysDept.setSysUsers(sysUsers);
|
||||
}
|
||||
// for (SysDept sysDept : depts) {
|
||||
// SysUser paramUser = new SysUser();
|
||||
// paramUser.setDeptId(sysDept.getDeptId());
|
||||
// List<SysUser> users = userMapper.selectUserList(paramUser);
|
||||
//
|
||||
// List<SysUser> sysUsers = new ArrayList<>();
|
||||
// for (SysUser user : users) {
|
||||
// SysUser userResult = userMapper.selectUserById(user.getUserId());
|
||||
// user.setRoles(userResult.getRoles());
|
||||
// if (user.getDeptId().equals(sysDept.getDeptId())) {
|
||||
// sysUsers.add(user);
|
||||
// }
|
||||
// }
|
||||
// sysDept.setSysUsers(sysUsers);
|
||||
// }
|
||||
return buildDeptTreeSelect(depts);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
order by d.parent_id, d.order_num
|
||||
</select>
|
||||
|
||||
<select id="selectDeptUserList" parameterType="com.bonus.system.api.domain.SysDept" resultMap="SysDeptResult">
|
||||
SELECT
|
||||
d.dept_id AS deptId,
|
||||
d.parent_id AS parentId,
|
||||
d.dept_name AS deptName
|
||||
FROM sys_dept d
|
||||
WHERE d.del_flag = '0'
|
||||
AND d.STATUS = '0'
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
su.user_id AS deptId,
|
||||
su.dept_id AS parentId,
|
||||
su.nick_name AS deptName
|
||||
FROM sys_user su
|
||||
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
|
||||
WHERE su.del_flag = '0'
|
||||
<if test="roleIds != null">
|
||||
and sr.role_id in
|
||||
<foreach collection="roleIds" item="item" index="index" separator="," open="(" close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectDeptListByRoleId" resultType="Long">
|
||||
select d.dept_id
|
||||
from sys_dept d
|
||||
|
|
|
|||
Loading…
Reference in New Issue