| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- // ==========================================================================
- // Software Delivery Task Model - Contains DTOs and constants for ops_event_task
- // ==========================================================================
- package opsdev
- import (
- "dashoo.cn/opms_libary/request"
- "dashoo.cn/opms_parent/app/model/opsdev/internal"
- "github.com/gogf/gf/os/gtime"
- )
- // OpsEventTask is the golang structure for table ops_event_task.
- type OpsEventTask internal.OpsEventTask
- // Task Status Constants
- const (
- TaskStatusTodo = "10" // 待处理
- TaskStatusProcessing = "20" // 处理中
- TaskStatusPaused = "25" // 暂停
- TaskStatusCompleted = "30" // 已完成
- TaskStatusBlocked = "70" // 阻塞
- TaskStatusCancelled = "90" // 作废
- )
- // Task Type Constants
- const (
- TaskTypeReqReview = "10" // 需求评审
- TaskTypeFeatureDev = "20" // 功能开发
- TaskTypeFeatureTest = "30" // 功能测试
- TaskTypeBug = "35" // BUG
- TaskTypeSystemRelease = "40" // 系统发版
- TaskTypeSystemReleaseEvt = "38" // 系统发版(事件关联自动创建)
- TaskTypeHardwareDeliver = "42" // 硬件发货
- TaskTypeHardwareInstall = "41" // 硬件安装
- )
- // Priority Constants
- const (
- PriorityUrgent = "10" // 紧急
- PriorityHigh = "20" // 高
- PriorityMedium = "30" // 中
- PriorityLow = "40" // 低
- )
- // Event Type Constants (for EventId reference)
- const (
- EventTypeDelivery = "10" // 交付
- EventTypeOps = "20" // 运维
- )
- // Attachment 附件信息
- type Attachment struct {
- FileName string `json:"fileName"` // 文件名
- FileUrl string `json:"fileUrl"` // 文件URL
- FileType string `json:"fileType"` // 文件类型
- }
- // OpsEventTaskSearchReq 任务列表查询请求
- type OpsEventTaskSearchReq struct {
- request.PageReq
- ProjectId int `json:"projectId"` // 项目ID
- EventId int `json:"eventId"` // 关联事件ID
- TaskTitle string `json:"taskTitle"` // 任务标题(模糊查询)
- TaskType []string `json:"taskType"` // 任务类型(多选)
- TaskStatus []string `json:"taskStatus"` // 任务状态(多选)
- Priority []string `json:"priority"` // 优先级(多选)
- OpsUserName []string `json:"opsUserName"` // 执行人姓名(多选)
- SortFields []SortField `json:"sortFields"` // 排序字段
- // 计划结束日期范围
- PlanEndDateStart string `json:"planEndDateStart"` // 计划结束开始日期
- PlanEndDateEnd string `json:"planEndDateEnd"` // 计划结束结束日期
- // 创建日期范围
- CreatedTimeStart string `json:"createdTimeStart"` // 创建开始日期
- CreatedTimeEnd string `json:"createdTimeEnd"` // 创建结束日期
- // 完成日期范围
- CompleteTimeStart string `json:"completeTimeStart"` // 完成开始日期
- CompleteTimeEnd string `json:"completeTimeEnd"` // 完成结束日期
- // 发布版本为空查询(用于发版任务选择未发版任务)
- ReleaseVersionEmpty bool `json:"releaseVersionEmpty"` // 是否查询release_version为空的任务
- }
- // OpsEventTaskAddReq 新增任务请求
- type OpsEventTaskAddReq struct {
- ProjectId int `json:"projectId" v:"required#项目ID不能为空"` // 项目ID
- TaskTitle string `json:"taskTitle" v:"required#任务标题不能为空"` // 任务标题
- TaskDesc string `json:"taskDesc" v:"required#任务描述不能为空"` // 任务描述
- FunctionName string `json:"functionName" v:"required#功能模块不能为空"` // 功能模块
- TaskType string `json:"taskType" v:"required#任务类型不能为空"` // 任务类型
- Priority string `json:"priority" v:"required#优先级不能为空"` // 优先级
- OpsUserId int `json:"opsUserId"` // 执行人ID
- OpsUserName string `json:"opsUserName"` // 执行人姓名
- PlanStartTime string `json:"planStartTime"` // 计划开始时间
- PlanEndTime string `json:"planEndTime"` // 计划结束时间
- EstimateWorkHour float64 `json:"estimateWorkHour"` // 预估工作量(小时)
- DefectType string `json:"defectType"` // 缺陷类型(10前端 20后端)
- ReleaseVersion string `json:"releaseVersion"` // 发布版本
- Remark string `json:"remark"` // 备注
- EventId int `json:"eventId"` // 关联事件ID
- EventType string `json:"eventType"` // 关联事件类型
- TaskParentId int `json:"taskParentId"` // 父任务ID
- Attribute2 string `json:"attribute2"` // 历史遗留(10-是 20-否)
- Attachments []Attachment `json:"attachments"` // 附件列表
- }
- // OpsEventTaskUpdateReq 更新任务请求
- type OpsEventTaskUpdateReq struct {
- Id int `json:"id" v:"required#任务ID不能为空"` // 任务ID
- TaskTitle string `json:"taskTitle"` // 任务标题
- TaskDesc string `json:"taskDesc"` // 任务描述
- FunctionName string `json:"functionName"` // 功能模块
- TaskType string `json:"taskType"` // 任务类型
- Priority string `json:"priority"` // 优先级
- OpsUserId int `json:"opsUserId"` // 执行人ID
- OpsUserName string `json:"opsUserName"` // 执行人姓名
- PlanStartTime string `json:"planStartTime"` // 计划开始时间
- PlanEndTime string `json:"planEndTime"` // 计划结束时间
- EstimateWorkHour float64 `json:"estimateWorkHour"` // 预估工作量(小时)
- DefectType string `json:"defectType"` // 缺陷类型(10前端 20后端)
- ReleaseVersion string `json:"releaseVersion"` // 发布版本
- Remark string `json:"remark"` // 备注
- Attribute2 string `json:"attribute2"` // 历史遗留(10-是 20-否)
- }
- // OpsEventTaskScheduleReq 任务排期请求
- type OpsEventTaskScheduleReq struct {
- Id int `json:"id" v:"required#任务ID不能为空"` // 任务ID
- OpsUserId int `json:"opsUserId" v:"required#执行人不能为空"` // 执行人ID
- OpsUserName string `json:"opsUserName" v:"required#执行人姓名不能为空"` // 执行人姓名
- PlanStartTime string `json:"planStartTime" v:"required#计划开始时间不能为空"` // 计划开始时间
- PlanEndTime string `json:"planEndTime" v:"required#计划结束时间不能为空"` // 计划结束时间
- EstimateWorkHour float64 `json:"estimateWorkHour"` // 预估工作量(小时)
- }
- // OpsEventTaskCompleteReq 任务完成请求
- type OpsEventTaskCompleteReq struct {
- Id int `json:"id" v:"required#任务ID不能为空"` // 任务ID
- ActualWorkHour float64 `json:"actualWorkHour"` // 实际工作量(小时)
- Remark string `json:"remark"` // 完成备注
- Attachments []Attachment `json:"attachments"` // 附件列表
- TestResult string `json:"testResult"` // 测试结果:pass-通过,fail-不通过(仅功能测试任务有效)
- DevTaskIds []int `json:"devTaskIds"` // 关联的研发任务ID列表(仅系统发版任务有效)
- IsReleaseComplete bool `json:"isReleaseComplete"` // 是否系统发版完成操作
- }
- // OpsEventTaskPauseReq 任务暂停请求
- type OpsEventTaskPauseReq struct {
- Id int `json:"id" v:"required#任务ID不能为空"` // 任务ID
- Remark string `json:"remark"` // 暂停原因
- }
- // OpsEventTaskBlockReq 任务阻塞请求
- type OpsEventTaskBlockReq struct {
- Id int `json:"id" v:"required#任务ID不能为空"` // 任务ID
- Remark string `json:"remark"` // 阻塞原因
- }
- // OpsEventTaskCancelReq 任务作废请求
- type OpsEventTaskCancelReq struct {
- Id int `json:"id" v:"required#任务ID不能为空"` // 任务ID
- Remark string `json:"remark"` // 作废原因
- }
- // OpsEventTaskStartReq 任务开始请求
- type OpsEventTaskStartReq struct {
- Id int `json:"id" v:"required#任务ID不能为空"` // 任务ID
- }
- // OpsEventTaskDeleteReq 任务删除请求
- type OpsEventTaskDeleteReq struct {
- Ids []int64 `json:"ids" v:"required#请选择需要删除的任务"` // 任务ID列表
- }
- // OpsEventTaskRsp 任务响应结构体
- type OpsEventTaskRsp struct {
- Id int `json:"id"` // 任务ID
- TaskNo string `json:"taskNo"` // 任务编号
- EventId int `json:"eventId"` // 关联事件ID
- EventType string `json:"eventType"` // 关联事件类型
- ProjectId int `json:"projectId"` // 项目ID
- TaskTitle string `json:"taskTitle"` // 任务标题
- TaskDesc string `json:"taskDesc"` // 任务描述
- TaskType string `json:"taskType"` // 任务类型
- TaskStatus string `json:"taskStatus"` // 任务状态
- OpsUserId int `json:"opsUserId"` // 执行人ID
- OpsUserName string `json:"opsUserName"` // 执行人姓名
- PlanStartTime *gtime.Time `json:"planStartTime"` // 计划开始时间
- PlanEndTime *gtime.Time `json:"planEndTime"` // 计划结束时间
- CompleteTime *gtime.Time `json:"completeTime"` // 完成时间
- EstimateWorkHour float64 `json:"estimateWorkHour"` // 预估工作量(小时)
- ActualWorkHour float64 `json:"actualWorkHour"` // 实际工作量(小时)
- TaskParentId int `json:"taskParentId"` // 父任务ID
- Priority string `json:"priority"` // 优先级
- Remark string `json:"remark"` // 备注
- CreatedBy int `json:"createdBy"` // 创建人ID
- CreatedName string `json:"createdName"` // 创建人
- CreatedTime *gtime.Time `json:"createdTime"` // 创建时间
- UpdatedBy int `json:"updatedBy"` // 更新人ID
- UpdatedName string `json:"updatedName"` // 更新人
- UpdatedTime *gtime.Time `json:"updatedTime"` // 更新时间
- // 扩展字段
- FunctionName string `json:"functionName"` // 功能模块
- DefectType string `json:"defectType"` // 缺陷类型
- ReleaseVersion string `json:"releaseVersion"` // 发布版本
- Attribute2 string `json:"attribute2"` // 历史遗留(10-是 20-否)
- // 关联信息
- ProjectName string `json:"projectName"` // 项目名称
- ContractNo string `json:"contractNo"` // 合同编号
- }
- // OpsEventTaskRecordSearchReq 任务过程记录查询请求
- type OpsEventTaskRecordSearchReq struct {
- TaskId int `json:"taskId" v:"required#任务ID不能为空"` // 任务ID
- }
- // OpsEventTaskRecordAddReq 添加任务过程记录请求
- type OpsEventTaskRecordAddReq struct {
- TaskId int `json:"taskId" v:"required#任务ID不能为空"` // 任务ID
- HandleContent string `json:"handleContent"` // 处理内容
- Attachments []Attachment `json:"attachments"` // 附件列表
- }
- // OpsEventTaskRecordWithAttachments 任务过程记录(带附件)
- type OpsEventTaskRecordWithAttachments struct {
- OpsEventTaskRecord
- Attachments []*OpsEventTaskAttachment `json:"attachments"` // 附件列表
- }
- // IdReq ID请求
- type IdReq struct {
- Id int `json:"id" v:"required#ID不能为空"` // ID
- }
- // OpsEventTaskReleaseListReq 查询发布版本关联任务请求
- type OpsEventTaskReleaseListReq struct {
- ReleaseTaskId int `json:"releaseTaskId" v:"required#发版任务ID不能为空"` // 发版任务ID
- }
- // OpsEventTaskReleaseRsp 发布版本关联任务响应
- type OpsEventTaskReleaseRsp struct {
- Id int `json:"id"` // 关联记录ID
- DevTaskId int `json:"devTaskId"` // 开发任务ID
- TaskNo string `json:"taskNo"` // 任务编号
- TaskTitle string `json:"taskTitle"` // 任务标题
- TaskType string `json:"taskType"` // 任务类型
- TaskStatus string `json:"taskStatus"` // 任务状态
- OpsUserName string `json:"opsUserName"` // 执行人姓名
- ProjectId int `json:"projectId"` // 项目ID
- CreatedTime string `json:"createdTime"` // 创建时间
- }
- // OpsEventTaskWorkHourAddReq 添加工时登记请求
- type OpsEventTaskWorkHourAddReq struct {
- TaskId int `json:"taskId" v:"required#任务ID不能为空"` // 任务ID
- WorkDate string `json:"workDate" v:"required#工作日期不能为空"` // 工作日期
- ActualHour float64 `json:"actualHour" v:"required#实际工时不能为空"` // 实际工时
- Remark string `json:"remark" v:"required#工作进展不能为空"` // 工作进展
- }
- // OpsEventTaskWorkHourListReq 查询工时登记列表请求
- type OpsEventTaskWorkHourListReq struct {
- TaskId int `json:"taskId" v:"required#任务ID不能为空"` // 任务ID
- }
- // OpsEventTaskWorkHourRsp 工时登记响应
- type OpsEventTaskWorkHourRsp struct {
- Id int `json:"id"` // ID
- TaskId int `json:"taskId"` // 任务ID
- WorkDate string `json:"workDate"` // 工作日期
- ActualHour float64 `json:"actualHour"` // 实际工时
- Remark string `json:"remark"` // 工作进展
- CreatedName string `json:"createdName"` // 登记人
- CreatedTime string `json:"createdTime"` // 登记时间
- }
|