This commit is contained in:
黄绍春 2025-06-13 18:08:09 +08:00
parent 1e5ea1976e
commit 8e86001138
8 changed files with 61 additions and 8 deletions

View File

@ -22,4 +22,6 @@ public class CalendarTask extends BaseEntity
@ApiModelProperty("bug总数")
private Integer bug;
}

View File

@ -8,4 +8,7 @@ public class CalendarTaskQuery extends CalendarTaskVO {
// 用户id
private Long userId;
// 多个用户id
private Long[] userIds;
}

View File

@ -8,4 +8,7 @@ public class CalendarTaskVO extends CalendarTask {
// 数据所在的日期
private String taskDate;
// 当前日期有多少个任务
private String taskCount;
}

View File

@ -1,12 +1,13 @@
package com.ruoyi.bst.calendarTask.service;
import com.ruoyi.bst.calendarTask.domain.CalendarTaskQuery;
import com.ruoyi.bst.calendarTask.domain.CalendarTaskVO;
import java.util.List;
import java.util.Map;
/**
* 首页日历任务
* 日历任务
*/
public interface CalendarTaskService {
@ -16,6 +17,7 @@ public interface CalendarTaskService {
*/
List<CalendarTaskVO> getTaskNumber();
List<CalendarTaskVO> getTaskNumberByIds(CalendarTaskQuery query);
}

View File

@ -28,4 +28,9 @@ public class CalendarTaskImpl implements CalendarTaskService {
List<CalendarTaskVO> calendarTaskVOS = taskMapper.selectCalendarTask(calendarTaskQuery);
return calendarTaskVOS;
}
@Override
public List<CalendarTaskVO> getTaskNumberByIds(CalendarTaskQuery query) {
return taskMapper.selectCalendarTaskByIds(query);
}
}

View File

@ -112,6 +112,12 @@ public interface TaskMapper
List<CalendarTaskVO> selectCalendarTask(@Param("query")CalendarTaskQuery query);
/**
* 获取日历任务总数量
* @param query
* @return 结果
*/
List<CalendarTaskVO> selectCalendarTaskByIds(@Param("query")CalendarTaskQuery query);
}

View File

@ -264,18 +264,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectCalendarTask" parameterType="CalendarTaskQuery" >
SELECT
DATE_FORMAT(t.expire_time, '%Y-%m-%d') AS task_date,
COUNT(DISTINCT t.project_id) AS total,
SUM(CASE WHEN t.level = 1 THEN 1 ELSE 0 END) AS high,
SUM(CASE WHEN t.type = 3 THEN 1 ELSE 0 END) AS bug
DATE_FORMAT(t.expire_time, '%Y-%m-%d') AS task_date,
COUNT(DISTINCT t.project_id) AS total,
SUM(CASE WHEN t.level = 1 THEN 1 ELSE 0 END) AS high,
SUM(CASE WHEN t.type = 3 THEN 1 ELSE 0 END) AS bug
FROM
bst_task t
bst_task t
LEFT JOIN bst_task_submit tm ON t.id = tm.task_id AND tm.user_id = ${query.userId}
WHERE
(t.status &lt; 4 OR t.status = 5)
(t.status &lt; 4 OR t.status = 5)
AND t.expire_time BETWEEN '2020-01-01' AND '2026-12-31'
GROUP BY
t.expire_time
t.expire_time
</select>
<select id="selectCalendarTaskByIds" parameterType="CalendarTaskQuery" >
SELECT
DATE(t.expire_time) AS task_date,
COUNT(DISTINCT t.id) AS task_count
FROM
bst_task t
JOIN
bst_task_member tm ON t.id = tm.task_id
WHERE
<foreach collection="query.userIds" item="item" open="tm.user_id in(" separator="," close=")" nullable="false">
${item}
</foreach>
AND t.expire_time IS NOT NULL
GROUP BY
DATE(t.expire_time)
ORDER BY
task_date;
</select>
</mapper>

View File

@ -1,5 +1,6 @@
package com.ruoyi.web.bst;
import com.ruoyi.bst.calendarTask.domain.CalendarTaskQuery;
import com.ruoyi.bst.calendarTask.domain.CalendarTaskVO;
import com.ruoyi.bst.calendarTask.service.CalendarTaskService;
import com.ruoyi.bst.task.domain.TaskQuery;
@ -39,4 +40,15 @@ public class CalendarTaskController extends BaseController {
return success(taskNumber);
}
/**
* 任务添加/修改模块负责人任务分布情况
* @param query
* @return
*/
@GetMapping("/listSum")
public AjaxResult getCalendarTaskByUserIds(CalendarTaskQuery query) {
List<CalendarTaskVO> taskNumberByIds = calendarTaskService.getTaskNumberByIds(query);
return success(taskNumberByIds);
}
}