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

@@ -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;