mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-19 01:48:47 +08:00
update 优化任务办理人查询
This commit is contained in:
parent
d4466cec38
commit
178027931d
@ -1,5 +1,11 @@
|
|||||||
package org.dromara.common.core.service;
|
package org.dromara.common.core.service;
|
||||||
|
|
||||||
|
import org.dromara.common.core.domain.dto.DeptDTO;
|
||||||
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通用 部门服务
|
* 通用 部门服务
|
||||||
*
|
*
|
||||||
@ -15,4 +21,19 @@ public interface DeptService {
|
|||||||
*/
|
*/
|
||||||
String selectDeptNameByIds(String deptIds);
|
String selectDeptNameByIds(String deptIds);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询部门
|
||||||
|
*
|
||||||
|
* @return 部门列表
|
||||||
|
*/
|
||||||
|
List<DeptDTO> selectDeptsByList();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询部门并返回任务指派的列表,支持分页
|
||||||
|
*
|
||||||
|
* @param taskQuery 查询条件
|
||||||
|
* @return 办理人
|
||||||
|
*/
|
||||||
|
TaskAssigneeDTO selectDeptsByTaskAssigneeList(TaskAssigneeBody taskQuery);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,21 @@
|
|||||||
|
package org.dromara.common.core.service;
|
||||||
|
|
||||||
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通用 岗位服务
|
||||||
|
*
|
||||||
|
* @author AprilWind
|
||||||
|
*/
|
||||||
|
public interface PostService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询岗位并返回任务指派的列表,支持分页
|
||||||
|
*
|
||||||
|
* @param taskQuery 查询条件
|
||||||
|
* @return 办理人
|
||||||
|
*/
|
||||||
|
TaskAssigneeDTO selectPostsByTaskAssigneeList(TaskAssigneeBody taskQuery);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
package org.dromara.common.core.service;
|
||||||
|
|
||||||
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通用 角色服务
|
||||||
|
*
|
||||||
|
* @author AprilWind
|
||||||
|
*/
|
||||||
|
public interface RoleService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询角色并返回任务指派的列表,支持分页
|
||||||
|
*
|
||||||
|
* @param taskQuery 查询条件
|
||||||
|
* @return 办理人
|
||||||
|
*/
|
||||||
|
TaskAssigneeDTO selectRolesByTaskAssigneeList(TaskAssigneeBody taskQuery);
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,6 +1,5 @@
|
|||||||
package org.dromara.common.core.service;
|
package org.dromara.common.core.service;
|
||||||
|
|
||||||
import org.dromara.common.core.domain.dto.DeptDTO;
|
|
||||||
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
import org.dromara.common.core.domain.dto.UserDTO;
|
import org.dromara.common.core.domain.dto.UserDTO;
|
||||||
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
@ -86,43 +85,12 @@ public interface UserService {
|
|||||||
*/
|
*/
|
||||||
List<UserDTO> selectUsersByDeptIds(List<Long> deptIds);
|
List<UserDTO> selectUsersByDeptIds(List<Long> deptIds);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询角色并返回任务指派的列表,支持分页
|
|
||||||
*
|
|
||||||
* @param taskQuery 查询条件
|
|
||||||
* @return 办理人
|
|
||||||
*/
|
|
||||||
TaskAssigneeDTO selectUsersByRoleList(TaskAssigneeBody taskQuery);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询用户并返回任务指派的列表,支持分页
|
* 查询用户并返回任务指派的列表,支持分页
|
||||||
*
|
*
|
||||||
* @param taskQuery 查询条件
|
* @param taskQuery 查询条件
|
||||||
* @return 办理人
|
* @return 办理人
|
||||||
*/
|
*/
|
||||||
TaskAssigneeDTO selectUsersByUserList(TaskAssigneeBody taskQuery);
|
TaskAssigneeDTO selectUsersByTaskAssigneeList(TaskAssigneeBody taskQuery);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询部门并返回任务指派的列表,支持分页
|
|
||||||
*
|
|
||||||
* @param taskQuery 查询条件
|
|
||||||
* @return 办理人
|
|
||||||
*/
|
|
||||||
TaskAssigneeDTO selectUsersByDeptList(TaskAssigneeBody taskQuery);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询部门
|
|
||||||
*
|
|
||||||
* @return 部门列表
|
|
||||||
*/
|
|
||||||
List<DeptDTO> selectUsersByDeptList();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询岗位并返回任务指派的列表,支持分页
|
|
||||||
*
|
|
||||||
* @param taskQuery 查询条件
|
|
||||||
* @return 办理人
|
|
||||||
*/
|
|
||||||
TaskAssigneeDTO selectUsersByPostList(TaskAssigneeBody taskQuery);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
package org.dromara.system.service.impl;
|
package org.dromara.system.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.convert.Convert;
|
import cn.hutool.core.convert.Convert;
|
||||||
import cn.hutool.core.lang.tree.Tree;
|
import cn.hutool.core.lang.tree.Tree;
|
||||||
@ -7,15 +8,20 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.constant.CacheNames;
|
import org.dromara.common.core.constant.CacheNames;
|
||||||
import org.dromara.common.core.constant.UserConstants;
|
import org.dromara.common.core.constant.UserConstants;
|
||||||
|
import org.dromara.common.core.domain.dto.DeptDTO;
|
||||||
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
import org.dromara.common.core.service.DeptService;
|
import org.dromara.common.core.service.DeptService;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.SpringUtils;
|
import org.dromara.common.core.utils.SpringUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
import org.dromara.common.core.utils.TreeBuildUtils;
|
import org.dromara.common.core.utils.TreeBuildUtils;
|
||||||
|
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||||
import org.dromara.common.mybatis.helper.DataBaseHelper;
|
import org.dromara.common.mybatis.helper.DataBaseHelper;
|
||||||
import org.dromara.common.redis.utils.CacheUtils;
|
import org.dromara.common.redis.utils.CacheUtils;
|
||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
@ -166,6 +172,43 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService {
|
|||||||
return String.join(StringUtils.SEPARATOR, list);
|
return String.join(StringUtils.SEPARATOR, list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询部门
|
||||||
|
*
|
||||||
|
* @return 部门列表
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<DeptDTO> selectDeptsByList() {
|
||||||
|
List<SysDeptVo> list = baseMapper.selectVoList();
|
||||||
|
return BeanUtil.copyToList(list, DeptDTO.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询部门并返回任务指派的列表,支持分页
|
||||||
|
*
|
||||||
|
* @param taskQuery 查询条件
|
||||||
|
* @return 办理人
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TaskAssigneeDTO selectDeptsByTaskAssigneeList(TaskAssigneeBody taskQuery) {
|
||||||
|
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
|
||||||
|
// 使用 LambdaQueryWrapper 构建查询条件
|
||||||
|
LambdaQueryWrapper<SysDept> wrapper = new LambdaQueryWrapper<SysDept>()
|
||||||
|
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), SysDept::getDeptCategory, taskQuery.getHandlerCode())
|
||||||
|
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), SysDept::getDeptName, taskQuery.getHandlerName())
|
||||||
|
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
|
||||||
|
SysDept::getCreateTime, taskQuery.getBeginTime(), taskQuery.getEndTime());
|
||||||
|
|
||||||
|
// 执行分页查询,并将查询结果封装为 SysDeptVo 对象的 Page
|
||||||
|
Page<SysDeptVo> page = baseMapper.selectVoPage(pageQuery.build(), wrapper);
|
||||||
|
|
||||||
|
// 使用封装的字段映射方法进行转换
|
||||||
|
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRecords(),
|
||||||
|
SysDeptVo::getDeptId, SysDeptVo::getDeptCategory, SysDeptVo::getDeptName, null, SysDeptVo::getCreateTime);
|
||||||
|
|
||||||
|
return new TaskAssigneeDTO(page.getTotal(), handlers);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据ID查询所有子部门数(正常状态)
|
* 根据ID查询所有子部门数(正常状态)
|
||||||
*
|
*
|
||||||
|
|||||||
@ -7,7 +7,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.constant.UserConstants;
|
import org.dromara.common.core.constant.UserConstants;
|
||||||
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
|
import org.dromara.common.core.service.PostService;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StreamUtils;
|
import org.dromara.common.core.utils.StreamUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
@ -36,7 +39,7 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Service
|
@Service
|
||||||
public class SysPostServiceImpl implements ISysPostService {
|
public class SysPostServiceImpl implements ISysPostService, PostService {
|
||||||
|
|
||||||
private final SysPostMapper baseMapper;
|
private final SysPostMapper baseMapper;
|
||||||
private final SysDeptMapper deptMapper;
|
private final SysDeptMapper deptMapper;
|
||||||
@ -239,4 +242,32 @@ public class SysPostServiceImpl implements ISysPostService {
|
|||||||
SysPost post = MapstructUtils.convert(bo, SysPost.class);
|
SysPost post = MapstructUtils.convert(bo, SysPost.class);
|
||||||
return baseMapper.updateById(post);
|
return baseMapper.updateById(post);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询岗位并返回任务指派的列表,支持分页
|
||||||
|
*
|
||||||
|
* @param taskQuery 查询条件
|
||||||
|
* @return 办理人
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TaskAssigneeDTO selectPostsByTaskAssigneeList(TaskAssigneeBody taskQuery) {
|
||||||
|
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
|
||||||
|
// 使用 LambdaQueryWrapper 构建查询条件
|
||||||
|
LambdaQueryWrapper<SysPost> wrapper = new LambdaQueryWrapper<SysPost>()
|
||||||
|
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), SysPost::getPostCategory, taskQuery.getHandlerCode())
|
||||||
|
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), SysPost::getPostName, taskQuery.getHandlerName())
|
||||||
|
.like(StringUtils.isNotBlank(taskQuery.getGroupId()), SysPost::getDeptId, taskQuery.getGroupId())
|
||||||
|
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
|
||||||
|
SysPost::getCreateTime, taskQuery.getBeginTime(), taskQuery.getEndTime());
|
||||||
|
|
||||||
|
// 执行分页查询,并将查询结果封装为 SysPostVo 对象的 Page
|
||||||
|
Page<SysPostVo> page = baseMapper.selectVoPage(pageQuery.build(), wrapper);
|
||||||
|
|
||||||
|
// 使用封装的字段映射方法进行转换
|
||||||
|
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRecords(),
|
||||||
|
SysPostVo::getPostId, SysPostVo::getPostCategory, SysPostVo::getPostName, SysPostVo::getDeptName, SysPostVo::getCreateTime);
|
||||||
|
|
||||||
|
return new TaskAssigneeDTO(page.getTotal(), handlers);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,8 +14,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.dromara.common.core.constant.TenantConstants;
|
import org.dromara.common.core.constant.TenantConstants;
|
||||||
import org.dromara.common.core.constant.UserConstants;
|
import org.dromara.common.core.constant.UserConstants;
|
||||||
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
import org.dromara.common.core.domain.model.LoginUser;
|
import org.dromara.common.core.domain.model.LoginUser;
|
||||||
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
|
import org.dromara.common.core.service.RoleService;
|
||||||
import org.dromara.common.core.utils.MapstructUtils;
|
import org.dromara.common.core.utils.MapstructUtils;
|
||||||
import org.dromara.common.core.utils.StreamUtils;
|
import org.dromara.common.core.utils.StreamUtils;
|
||||||
import org.dromara.common.core.utils.StringUtils;
|
import org.dromara.common.core.utils.StringUtils;
|
||||||
@ -45,7 +48,7 @@ import java.util.*;
|
|||||||
*/
|
*/
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Service
|
@Service
|
||||||
public class SysRoleServiceImpl implements ISysRoleService {
|
public class SysRoleServiceImpl implements ISysRoleService, RoleService {
|
||||||
|
|
||||||
private final SysRoleMapper baseMapper;
|
private final SysRoleMapper baseMapper;
|
||||||
private final SysRoleMenuMapper roleMenuMapper;
|
private final SysRoleMenuMapper roleMenuMapper;
|
||||||
@ -348,7 +351,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
|
|||||||
private int insertRoleMenu(SysRoleBo role) {
|
private int insertRoleMenu(SysRoleBo role) {
|
||||||
int rows = 1;
|
int rows = 1;
|
||||||
// 新增用户与角色管理
|
// 新增用户与角色管理
|
||||||
List<SysRoleMenu> list = new ArrayList<SysRoleMenu>();
|
List<SysRoleMenu> list = new ArrayList<>();
|
||||||
for (Long menuId : role.getMenuIds()) {
|
for (Long menuId : role.getMenuIds()) {
|
||||||
SysRoleMenu rm = new SysRoleMenu();
|
SysRoleMenu rm = new SysRoleMenu();
|
||||||
rm.setRoleId(role.getRoleId());
|
rm.setRoleId(role.getRoleId());
|
||||||
@ -369,7 +372,7 @@ public class SysRoleServiceImpl implements ISysRoleService {
|
|||||||
private int insertRoleDept(SysRoleBo role) {
|
private int insertRoleDept(SysRoleBo role) {
|
||||||
int rows = 1;
|
int rows = 1;
|
||||||
// 新增角色与部门(数据权限)管理
|
// 新增角色与部门(数据权限)管理
|
||||||
List<SysRoleDept> list = new ArrayList<SysRoleDept>();
|
List<SysRoleDept> list = new ArrayList<>();
|
||||||
for (Long deptId : role.getDeptIds()) {
|
for (Long deptId : role.getDeptIds()) {
|
||||||
SysRoleDept rd = new SysRoleDept();
|
SysRoleDept rd = new SysRoleDept();
|
||||||
rd.setRoleId(role.getRoleId());
|
rd.setRoleId(role.getRoleId());
|
||||||
@ -511,4 +514,31 @@ public class SysRoleServiceImpl implements ISysRoleService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询角色并返回任务指派的列表,支持分页
|
||||||
|
*
|
||||||
|
* @param taskQuery 查询条件
|
||||||
|
* @return 办理人
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public TaskAssigneeDTO selectRolesByTaskAssigneeList(TaskAssigneeBody taskQuery) {
|
||||||
|
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
|
||||||
|
// 使用 LambdaQueryWrapper 构建查询条件
|
||||||
|
LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<SysRole>()
|
||||||
|
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), SysRole::getRoleKey, taskQuery.getHandlerCode())
|
||||||
|
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), SysRole::getRoleName, taskQuery.getHandlerName())
|
||||||
|
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
|
||||||
|
SysRole::getCreateTime, taskQuery.getBeginTime(), taskQuery.getEndTime());
|
||||||
|
|
||||||
|
// 执行分页查询,并将查询结果封装为 SysRoleVo 对象的 Page
|
||||||
|
Page<SysRoleVo> page = baseMapper.selectVoPage(pageQuery.build(), wrapper);
|
||||||
|
|
||||||
|
// 使用封装的字段映射方法进行转换
|
||||||
|
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRecords(),
|
||||||
|
SysRoleVo::getRoleId, SysRoleVo::getRoleKey, SysRoleVo::getRoleName, null, SysRoleVo::getCreateTime);
|
||||||
|
|
||||||
|
return new TaskAssigneeDTO(page.getTotal(), handlers);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,7 +15,6 @@ import lombok.RequiredArgsConstructor;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.dromara.common.core.constant.CacheNames;
|
import org.dromara.common.core.constant.CacheNames;
|
||||||
import org.dromara.common.core.constant.UserConstants;
|
import org.dromara.common.core.constant.UserConstants;
|
||||||
import org.dromara.common.core.domain.dto.DeptDTO;
|
|
||||||
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
import org.dromara.common.core.domain.dto.UserDTO;
|
import org.dromara.common.core.domain.dto.UserDTO;
|
||||||
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
@ -31,7 +30,10 @@ import org.dromara.common.mybatis.helper.DataBaseHelper;
|
|||||||
import org.dromara.common.satoken.utils.LoginHelper;
|
import org.dromara.common.satoken.utils.LoginHelper;
|
||||||
import org.dromara.system.domain.*;
|
import org.dromara.system.domain.*;
|
||||||
import org.dromara.system.domain.bo.SysUserBo;
|
import org.dromara.system.domain.bo.SysUserBo;
|
||||||
import org.dromara.system.domain.vo.*;
|
import org.dromara.system.domain.vo.SysPostVo;
|
||||||
|
import org.dromara.system.domain.vo.SysRoleVo;
|
||||||
|
import org.dromara.system.domain.vo.SysUserExportVo;
|
||||||
|
import org.dromara.system.domain.vo.SysUserVo;
|
||||||
import org.dromara.system.mapper.*;
|
import org.dromara.system.mapper.*;
|
||||||
import org.dromara.system.service.ISysUserService;
|
import org.dromara.system.service.ISysUserService;
|
||||||
import org.springframework.cache.annotation.CacheEvict;
|
import org.springframework.cache.annotation.CacheEvict;
|
||||||
@ -704,39 +706,13 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询并返回任务指派的列表,支持分页
|
* 查询用户并返回任务指派的列表,支持分页
|
||||||
*
|
*
|
||||||
* @param taskQuery 查询条件
|
* @param taskQuery 查询条件
|
||||||
* @return 办理人
|
* @return 办理人
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public TaskAssigneeDTO selectUsersByRoleList(TaskAssigneeBody taskQuery) {
|
public TaskAssigneeDTO selectUsersByTaskAssigneeList(TaskAssigneeBody taskQuery) {
|
||||||
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
|
|
||||||
// 使用 LambdaQueryWrapper 构建查询条件
|
|
||||||
LambdaQueryWrapper<SysRole> wrapper = new LambdaQueryWrapper<SysRole>()
|
|
||||||
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), SysRole::getRoleKey, taskQuery.getHandlerCode())
|
|
||||||
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), SysRole::getRoleName, taskQuery.getHandlerName())
|
|
||||||
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
|
|
||||||
SysRole::getCreateTime, taskQuery.getBeginTime(), taskQuery.getEndTime());
|
|
||||||
|
|
||||||
// 执行分页查询,并将查询结果封装为 SysRoleVo 对象的 Page
|
|
||||||
Page<SysRoleVo> page = roleMapper.selectVoPage(pageQuery.build(), wrapper);
|
|
||||||
|
|
||||||
// 使用封装的字段映射方法进行转换
|
|
||||||
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRecords(),
|
|
||||||
SysRoleVo::getRoleId, SysRoleVo::getRoleKey, SysRoleVo::getRoleName, null, SysRoleVo::getCreateTime);
|
|
||||||
|
|
||||||
return new TaskAssigneeDTO(page.getTotal(), handlers);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询并返回任务指派的列表,支持分页
|
|
||||||
*
|
|
||||||
* @param taskQuery 查询条件
|
|
||||||
* @return 办理人
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public TaskAssigneeDTO selectUsersByUserList(TaskAssigneeBody taskQuery) {
|
|
||||||
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
|
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
|
||||||
// 使用 LambdaQueryWrapper 构建查询条件
|
// 使用 LambdaQueryWrapper 构建查询条件
|
||||||
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<SysUser>()
|
LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<SysUser>()
|
||||||
@ -756,68 +732,4 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|||||||
return new TaskAssigneeDTO(page.getTotal(), handlers);
|
return new TaskAssigneeDTO(page.getTotal(), handlers);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询并返回任务指派的列表,支持分页
|
|
||||||
*
|
|
||||||
* @param taskQuery 查询条件
|
|
||||||
* @return 办理人
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public TaskAssigneeDTO selectUsersByDeptList(TaskAssigneeBody taskQuery) {
|
|
||||||
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
|
|
||||||
// 使用 LambdaQueryWrapper 构建查询条件
|
|
||||||
LambdaQueryWrapper<SysDept> wrapper = new LambdaQueryWrapper<SysDept>()
|
|
||||||
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), SysDept::getDeptCategory, taskQuery.getHandlerCode())
|
|
||||||
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), SysDept::getDeptName, taskQuery.getHandlerName())
|
|
||||||
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
|
|
||||||
SysDept::getCreateTime, taskQuery.getBeginTime(), taskQuery.getEndTime());
|
|
||||||
|
|
||||||
// 执行分页查询,并将查询结果封装为 SysDeptVo 对象的 Page
|
|
||||||
Page<SysDeptVo> page = deptMapper.selectVoPage(pageQuery.build(), wrapper);
|
|
||||||
|
|
||||||
// 使用封装的字段映射方法进行转换
|
|
||||||
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRecords(),
|
|
||||||
SysDeptVo::getDeptId, SysDeptVo::getDeptCategory, SysDeptVo::getDeptName, null, SysDeptVo::getCreateTime);
|
|
||||||
|
|
||||||
return new TaskAssigneeDTO(page.getTotal(), handlers);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询部门
|
|
||||||
*
|
|
||||||
* @return 部门列表
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public List<DeptDTO> selectUsersByDeptList() {
|
|
||||||
List<SysDeptVo> list = deptMapper.selectVoList();
|
|
||||||
return BeanUtil.copyToList(list, DeptDTO.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询并返回任务指派的列表,支持分页
|
|
||||||
*
|
|
||||||
* @param taskQuery 查询条件
|
|
||||||
* @return 办理人
|
|
||||||
*/
|
|
||||||
@Override
|
|
||||||
public TaskAssigneeDTO selectUsersByPostList(TaskAssigneeBody taskQuery) {
|
|
||||||
PageQuery pageQuery = new PageQuery(taskQuery.getPageSize(), taskQuery.getPageNum());
|
|
||||||
// 使用 LambdaQueryWrapper 构建查询条件
|
|
||||||
LambdaQueryWrapper<SysPost> wrapper = new LambdaQueryWrapper<SysPost>()
|
|
||||||
.like(StringUtils.isNotBlank(taskQuery.getHandlerCode()), SysPost::getPostCategory, taskQuery.getHandlerCode())
|
|
||||||
.like(StringUtils.isNotBlank(taskQuery.getHandlerName()), SysPost::getPostName, taskQuery.getHandlerName())
|
|
||||||
.like(StringUtils.isNotBlank(taskQuery.getGroupId()), SysPost::getDeptId, taskQuery.getGroupId())
|
|
||||||
.between(StringUtils.isNotBlank(taskQuery.getBeginTime()) && StringUtils.isNotBlank(taskQuery.getEndTime()),
|
|
||||||
SysPost::getCreateTime, taskQuery.getBeginTime(), taskQuery.getEndTime());
|
|
||||||
|
|
||||||
// 执行分页查询,并将查询结果封装为 SysPostVo 对象的 Page
|
|
||||||
Page<SysPostVo> page = postMapper.selectVoPage(pageQuery.build(), wrapper);
|
|
||||||
|
|
||||||
// 使用封装的字段映射方法进行转换
|
|
||||||
List<TaskAssigneeDTO.TaskHandler> handlers = TaskAssigneeDTO.convertToHandlerList(page.getRecords(),
|
|
||||||
SysPostVo::getPostId, SysPostVo::getPostCategory, SysPostVo::getPostName, SysPostVo::getDeptName, SysPostVo::getCreateTime);
|
|
||||||
|
|
||||||
return new TaskAssigneeDTO(page.getTotal(), handlers);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,6 +12,9 @@ import org.dromara.common.core.domain.dto.DeptDTO;
|
|||||||
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||||
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||||
import org.dromara.common.core.exception.ServiceException;
|
import org.dromara.common.core.exception.ServiceException;
|
||||||
|
import org.dromara.common.core.service.DeptService;
|
||||||
|
import org.dromara.common.core.service.PostService;
|
||||||
|
import org.dromara.common.core.service.RoleService;
|
||||||
import org.dromara.common.core.service.UserService;
|
import org.dromara.common.core.service.UserService;
|
||||||
import org.dromara.common.core.utils.DateUtils;
|
import org.dromara.common.core.utils.DateUtils;
|
||||||
import org.dromara.workflow.common.enums.TaskAssigneeEnum;
|
import org.dromara.workflow.common.enums.TaskAssigneeEnum;
|
||||||
@ -30,6 +33,9 @@ import java.util.List;
|
|||||||
@Service
|
@Service
|
||||||
public class WfTaskAssigneeServiceImpl implements HandlerSelectService {
|
public class WfTaskAssigneeServiceImpl implements HandlerSelectService {
|
||||||
private final UserService userService;
|
private final UserService userService;
|
||||||
|
private final DeptService deptService;
|
||||||
|
private final RoleService roleService;
|
||||||
|
private final PostService postService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取办理人权限设置列表tabs页签
|
* 获取办理人权限设置列表tabs页签
|
||||||
@ -66,10 +72,10 @@ public class WfTaskAssigneeServiceImpl implements HandlerSelectService {
|
|||||||
*/
|
*/
|
||||||
private TaskAssigneeDTO fetchTaskAssigneeData(TaskAssigneeEnum type, TaskAssigneeBody taskQuery) {
|
private TaskAssigneeDTO fetchTaskAssigneeData(TaskAssigneeEnum type, TaskAssigneeBody taskQuery) {
|
||||||
return switch (type) {
|
return switch (type) {
|
||||||
case USER -> userService.selectUsersByUserList(taskQuery);
|
case USER -> userService.selectUsersByTaskAssigneeList(taskQuery);
|
||||||
case ROLE -> userService.selectUsersByRoleList(taskQuery);
|
case ROLE -> roleService.selectRolesByTaskAssigneeList(taskQuery);
|
||||||
case DEPT -> userService.selectUsersByDeptList(taskQuery);
|
case DEPT -> deptService.selectDeptsByTaskAssigneeList(taskQuery);
|
||||||
case POST -> userService.selectUsersByPostList(taskQuery);
|
case POST -> postService.selectPostsByTaskAssigneeList(taskQuery);
|
||||||
default -> throw new ServiceException("Unsupported handler type");
|
default -> throw new ServiceException("Unsupported handler type");
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -79,7 +85,7 @@ public class WfTaskAssigneeServiceImpl implements HandlerSelectService {
|
|||||||
*/
|
*/
|
||||||
private List<DeptDTO> fetchDeptData(TaskAssigneeEnum type) {
|
private List<DeptDTO> fetchDeptData(TaskAssigneeEnum type) {
|
||||||
if (type == TaskAssigneeEnum.USER || type == TaskAssigneeEnum.POST) {
|
if (type == TaskAssigneeEnum.USER || type == TaskAssigneeEnum.POST) {
|
||||||
return userService.selectUsersByDeptList();
|
return deptService.selectDeptsByList();
|
||||||
}
|
}
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user