组织人员树
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<SysDept> children = new ArrayList<SysDept>();
|
||||||
|
|
||||||
private List<SysUser> sysUsers;
|
|
||||||
|
|
||||||
private Integer level;
|
private Integer level;
|
||||||
|
|
||||||
public Integer getLevel() {
|
public Integer getLevel() {
|
||||||
|
|
@ -193,14 +191,6 @@ public class SysDept extends BaseEntity
|
||||||
this.children = children;
|
this.children = children;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<SysUser> getSysUsers() {
|
|
||||||
return sysUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSysUsers(List<SysUser> sysUsers) {
|
|
||||||
this.sysUsers = sysUsers;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
|
|
||||||
|
|
@ -463,6 +463,19 @@ public class SysUserController extends BaseController {
|
||||||
return error("系统异常,请联系管理员");
|
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 Integer level;
|
||||||
|
|
||||||
private List<SysUser> sysUsers;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 子节点
|
* 子节点
|
||||||
|
|
@ -52,7 +50,6 @@ public class TreeSelect implements Serializable {
|
||||||
this.parentId = dept.getParentId();
|
this.parentId = dept.getParentId();
|
||||||
this.status = dept.getStatus();
|
this.status = dept.getStatus();
|
||||||
this.label = dept.getDeptName();
|
this.label = dept.getDeptName();
|
||||||
this.sysUsers = dept.getSysUsers();
|
|
||||||
this.level = dept.getLevel();
|
this.level = dept.getLevel();
|
||||||
this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
|
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) {
|
public void setStatus(String status) {
|
||||||
this.status = 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);
|
public List<SysDept> selectDeptList(SysDept dept);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据角色列表查询部门人员树结构信息
|
||||||
|
*
|
||||||
|
* @param dept 部门信息
|
||||||
|
* @param roleIds 角色列表
|
||||||
|
* @return 部门树信息集合
|
||||||
|
*/
|
||||||
|
public List<SysDept> selectDeptUserList(SysDept dept, @Param("roleIds") List<Long> roleIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据角色ID查询部门树信息
|
* 根据角色ID查询部门树信息
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,15 @@ public interface ISysDeptService
|
||||||
*/
|
*/
|
||||||
public List<TreeSelect> selectDeptUserTreeList(SysDept dept);
|
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);
|
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);
|
return buildDeptTreeSelect(userList);
|
||||||
}
|
}
|
||||||
List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
|
List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
|
||||||
for (SysDept sysDept : depts) {
|
// for (SysDept sysDept : depts) {
|
||||||
SysUser paramUser = new SysUser();
|
// SysUser paramUser = new SysUser();
|
||||||
paramUser.setDeptId(sysDept.getDeptId());
|
// paramUser.setDeptId(sysDept.getDeptId());
|
||||||
List<SysUser> users = userMapper.selectUserList(paramUser);
|
// List<SysUser> users = userMapper.selectUserList(paramUser);
|
||||||
|
//
|
||||||
List<SysUser> sysUsers = new ArrayList<>();
|
// List<SysUser> sysUsers = new ArrayList<>();
|
||||||
for (SysUser user : users) {
|
// for (SysUser user : users) {
|
||||||
SysUser userResult = userMapper.selectUserById(user.getUserId());
|
// SysUser userResult = userMapper.selectUserById(user.getUserId());
|
||||||
user.setRoles(userResult.getRoles());
|
// user.setRoles(userResult.getRoles());
|
||||||
if (user.getDeptId().equals(sysDept.getDeptId())) {
|
// if (user.getDeptId().equals(sysDept.getDeptId())) {
|
||||||
sysUsers.add(user);
|
// sysUsers.add(user);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
sysDept.setSysUsers(sysUsers);
|
// sysDept.setSysUsers(sysUsers);
|
||||||
}
|
// }
|
||||||
return buildDeptTreeSelect(depts);
|
return buildDeptTreeSelect(depts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,33 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
order by d.parent_id, d.order_num
|
order by d.parent_id, d.order_num
|
||||||
</select>
|
</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 id="selectDeptListByRoleId" resultType="Long">
|
||||||
select d.dept_id
|
select d.dept_id
|
||||||
from sys_dept d
|
from sys_dept d
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue