fix 选择器

This commit is contained in:
2025-10-30 17:59:04 +08:00
parent 2b252e1b3c
commit 0935ec5ec5
22 changed files with 2313 additions and 125 deletions

View File

@@ -32,11 +32,11 @@ public interface LearningTaskService {
* @description 获取学习任务列表分页
* @param filter 过滤条件
* @param pageParam 分页参数
* @return ResultDomain<TbLearningTask> 任务列表
* @return ResultDomain<TaskVO> 任务列表(包含统计信息)
* @author yslg
* @since 2025-10-15
*/
ResultDomain<TbLearningTask> getTaskPage(TbLearningTask filter, PageParam pageParam);
ResultDomain<TaskVO> getTaskPage(TbLearningTask filter, PageParam pageParam);
/**
* @description 根据ID获取任务详情

View File

@@ -98,6 +98,12 @@ public class PermissionVO extends BaseDTO{
*/
private String menuID;
/**
* @description 父菜单ID用于权限绑定菜单查询
* @author yslg
* @since 2025-10-30
*/
private String parentID;
/**
* @description 菜单名称(用于权限绑定菜单查询)
* @author yslg
@@ -304,6 +310,14 @@ public class PermissionVO extends BaseDTO{
this.menuID = menuID;
}
public String getParentID() {
return parentID;
}
public void setParentID(String parentID) {
this.parentID = parentID;
}
public String getMenuName() {
return menuName;
}

View File

@@ -49,7 +49,7 @@ public class LearningTaskController {
* 获取任务列表分页
*/
@PostMapping("/page")
public ResultDomain<TbLearningTask> getTaskPage(@RequestBody PageRequest<TbLearningTask> pageRequest) {
public ResultDomain<TaskVO> getTaskPage(@RequestBody PageRequest<TbLearningTask> pageRequest) {
TbLearningTask filter = pageRequest.getFilter();
PageParam pageParam = pageRequest.getPageParam();
return learningTaskService.getTaskPage(filter, pageParam);

View File

@@ -109,16 +109,52 @@ public class SCLearningTaskServiceImpl implements LearningTaskService {
}
@Override
public ResultDomain<TbLearningTask> getTaskPage(TbLearningTask filter, PageParam pageParam) {
ResultDomain<TbLearningTask> resultDomain = new ResultDomain<>();
public ResultDomain<TaskVO> getTaskPage(TbLearningTask filter, PageParam pageParam) {
ResultDomain<TaskVO> resultDomain = new ResultDomain<>();
// 获取当前用户的部门角色
List<UserDeptRoleVO> userDeptRoles = LoginUtil.getCurrentDeptRole();
List<TbLearningTask> taskList = learningTaskMapper.selectLearningTasksPage(filter, pageParam, userDeptRoles);
long total = learningTaskMapper.countLearningTasks(filter, userDeptRoles);
pageParam.setTotalElements(total);
pageParam.setTotalPages((int) Math.ceil((double) total / pageParam.getPageSize()));
PageDomain<TbLearningTask> pageDomain = new PageDomain<>();
pageDomain.setDataList(taskList);
// 将TbLearningTask转换为TaskVO并添加统计信息
List<TaskVO> taskVOList = new ArrayList<>();
for (TbLearningTask task : taskList) {
TaskVO taskVO = new TaskVO();
taskVO.setLearningTask(task);
String taskID = task.getTaskID();
// 获取任务的用户列表并统计各状态人数
List<TbTaskUser> taskUsers = taskUserMapper.selectByTaskId(taskID);
int totalUserNum = taskUsers.size();
int completedUserNum = 0;
int learningUserNum = 0;
int notStartUserNum = 0;
for (TbTaskUser taskUser : taskUsers) {
Integer status = taskUser.getStatus();
if (status != null) {
if (status == 2) {
completedUserNum++;
} else if (status == 1) {
learningUserNum++;
} else if (status == 0) {
notStartUserNum++;
}
}
}
taskVO.setTotalTaskNum(totalUserNum);
taskVO.setCompletedTaskNum(completedUserNum);
taskVO.setLearningTaskNum(learningUserNum);
taskVO.setNotStartTaskNum(notStartUserNum);
taskVOList.add(taskVO);
}
PageDomain<TaskVO> pageDomain = new PageDomain<>();
pageDomain.setDataList(taskVOList);
pageDomain.setPageParam(pageParam);
resultDomain.success("获取任务列表分页成功", pageDomain);
return resultDomain;

View File

@@ -55,6 +55,7 @@
<id column="id" property="id" jdbcType="VARCHAR"/>
<result column="menu_id" property="menuID" jdbcType="VARCHAR"/>
<result column="menu_name" property="menuName" jdbcType="VARCHAR"/>
<result column="parent_id" property="parentID" jdbcType="VARCHAR"/>
<result column="menu_url" property="menuUrl" jdbcType="VARCHAR"/>
</resultMap>
@@ -301,6 +302,7 @@
tsm.id,
tsm.menu_id,
tsm.name AS menu_name,
tsm.parent_id AS parent_id,
tsm.url AS menu_url
FROM tb_sys_menu tsm
INNER JOIN tb_sys_menu_permission tsmp ON tsmp.menu_id = tsm.menu_id