package oa import ( "WiiGoLibrary/framework/db/v1/utils/mssql/unique" "WiiGoLibrary/framework/db/v1/utils/tool" "WiiGoLibrary/framework/hub/v1/dblib" "time" ) // ApprovalRecordTable 审批记录表名 const ApprovalRecordTable = "oa_u_approval_record" // ApprovalRecordModel 审批记录模型 type ApprovalRecordModel struct { RecordGuid unique.UUID `gorm:"column:RecordGuid;type:UNIQUEIDENTIFIER;primaryKey;not null;default:newid();" json:"RecordGuid"` ApprovalID int64 `gorm:"column:ApprovalID;type:BIGINT;not null;" json:"ApprovalID"` InstanceGuid unique.UUID `gorm:"column:InstanceGuid;type:UNIQUEIDENTIFIER;index;not null;" json:"InstanceGuid"` // 工作流实例ID NodeGuid unique.UUID `gorm:"column:NodeGuid;type:UNIQUEIDENTIFIER;index;not null;" json:"NodeGuid"` // 节点ID ApproverGuid unique.UUID `gorm:"column:ApproverGuid;type:UNIQUEIDENTIFIER;not null;" json:"ApproverGuid"` // 审批人 Status int16 `gorm:"column:Status;type:SMALLINT;not null;default:0;" json:"Status"` // 状态: 0-待处理, 1-同意, 2-拒绝, 3-已转交, 4-已委托 Comment string `gorm:"column:Comment;type:NVARCHAR(1000);" json:"Comment"` // 审批意见 HandoverTo unique.UUID `gorm:"column:HandoverTo;type:UNIQUEIDENTIFIER;" json:"HandoverTo"` // 转交给谁 DelegateFrom unique.UUID `gorm:"column:DelegateFrom;type:UNIQUEIDENTIFIER;" json:"DelegateFrom"` // 委托来源 TaskReceiveTime time.Time `gorm:"column:TaskReceiveTime;type:DATETIME;default:CURRENT_TIMESTAMP;" json:"TaskReceiveTime"` // 任务接收时间 ActionTime time.Time `gorm:"column:ActionTime;type:DATETIME;" json:"ActionTime"` // 审批操作时间 RecordType int16 `gorm:"column:RecordType;not null;" json:"RecordType"` RecordStatus int16 `gorm:"column:RecordStatus;not null;default:0;" json:"RecordStatus"` CreateTime time.Time `gorm:"column:CreateTime;type:DATETIME;default:CURRENT_TIMESTAMP;<-:create;" json:"CreateTime"` UpdateTime time.Time `gorm:"column:UpdateTime;type:DATETIME;default:CURRENT_TIMESTAMP;autoUpdateTime;" json:"UpdateTime"` } func init() { dblib.DBIns.RegisterAutoMigrateModel(&ApprovalRecordModel{}) } // TableName 返回表名 func (ar *ApprovalRecordModel) TableName() string { return ApprovalRecordTable } // ApprovalRecordInstance 创建审批记录实例 func ApprovalRecordInstance() *ApprovalRecordModel { now := time.Now() return &ApprovalRecordModel{ RecordGuid: unique.NewV4(), ApprovalID: tool.GenerateID(), InstanceGuid: unique.NilUUID, NodeGuid: unique.NilUUID, ApproverGuid: unique.NilUUID, Status: 0, // 待处理 TaskReceiveTime: now, RecordType: 0, RecordStatus: 0, } }