Browse Source

feat: 添加人员排期统计及任务查询相关的数据模型

- 添加 OpsEventTaskScheduleStatReq 排期统计请求结构

- 添加 OpsEventTaskUserScheduleStat 用户排期统计结构

- 添加 OpsEventTaskScheduleStatRsp 排期统计响应结构

- 扩展 OpsEventTaskSearchReq 支持多项目ID筛选和排期状态筛选

- 扩展 OpsEventTaskCompleteReq 支持指定完成日期

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
程健 1 month ago
parent
commit
d920cf9688
1 changed files with 30 additions and 0 deletions
  1. 30 0
      opms_parent/app/model/opsdev/ops_event_task.go

+ 30 - 0
opms_parent/app/model/opsdev/ops_event_task.go

@@ -60,6 +60,7 @@ type Attachment struct {
 type OpsEventTaskSearchReq struct {
 	request.PageReq
 	ProjectId           int         `json:"projectId"`           // 项目ID
+	ProjectIds          []int       `json:"projectIds"`          // 项目ID列表(多选)
 	EventId             int         `json:"eventId"`             // 关联事件ID
 	TaskTitle           string      `json:"taskTitle"`           // 任务标题(模糊查询)
 	TaskType            []string    `json:"taskType"`            // 任务类型(多选)
@@ -78,6 +79,7 @@ type OpsEventTaskSearchReq struct {
 	CompleteTimeEnd   string `json:"completeTimeEnd"`   // 完成结束日期
 	// 发布版本为空查询(用于发版任务选择未发版任务)
 	ReleaseVersionEmpty bool `json:"releaseVersionEmpty"` // 是否查询release_version为空的任务
+	ScheduleStatus      string `json:"scheduleStatus"`    // 排期状态: all-全部, scheduled-已排期, unscheduled-未排期
 }
 
 // OpsEventTaskAddReq 新增任务请求
@@ -141,6 +143,7 @@ type OpsEventTaskCompleteReq struct {
 	TestResult        string       `json:"testResult"`                     // 测试结果:pass-通过,fail-不通过(仅功能测试任务有效)
 	DevTaskIds        []int        `json:"devTaskIds"`                     // 关联的研发任务ID列表(仅系统发版任务有效)
 	IsReleaseComplete bool         `json:"isReleaseComplete"`              // 是否系统发版完成操作
+	CompleteDate      string       `json:"completeDate"`                    // 完成日期 (格式: yyyy-MM-dd, 可选)
 }
 
 // OpsEventTaskPauseReq 任务暂停请求
@@ -272,3 +275,30 @@ type OpsEventTaskWorkHourRsp struct {
 	CreatedName    string  `json:"createdName"`    // 登记人
 	CreatedTime    string  `json:"createdTime"`    // 登记时间
 }
+
+// OpsEventTaskScheduleStatReq 人员排期统计请求
+type OpsEventTaskScheduleStatReq struct {
+	WeekStart string `json:"weekStart" v:"required#开始日期不能为空"` // 周开始日期 yyyy-MM-dd
+	WeekEnd   string `json:"weekEnd" v:"required#结束日期不能为空"`   // 周结束日期 yyyy-MM-dd
+	ProjectId int    `json:"projectId"`                            // 项目ID (可选,0表示全部)
+}
+
+// OpsEventTaskUserDayStat 单个用户某天的排期统计
+type OpsEventTaskUserDayStat struct {
+	Date             string  `json:"date"`             // 日期 yyyy-MM-dd
+	TaskCount        int     `json:"taskCount"`        // 任务数
+	EstimateWorkHour float64 `json:"estimateWorkHour"` // 预估工时合计
+}
+
+// OpsEventTaskUserScheduleStat 单个用户一周排期统计
+type OpsEventTaskUserScheduleStat struct {
+	OpsUserId   int                         `json:"opsUserId"`   // 用户ID
+	OpsUserName string                      `json:"opsUserName"` // 用户名称
+	DayStats    []*OpsEventTaskUserDayStat  `json:"dayStats"`    // 每天统计
+	WeekTotal   *OpsEventTaskUserDayStat    `json:"weekTotal"`   // 本周合计
+}
+
+// OpsEventTaskScheduleStatRsp 人员排期统计响应
+type OpsEventTaskScheduleStatRsp struct {
+	List []*OpsEventTaskUserScheduleStat `json:"list"` // 用户排期统计列表
+}