package oa import ( "WiiGoLibrary/framework/db/v1/utils/mssql/unique" "WiiGoLibrary/framework/db/v1/utils/tool" "WiiGoLibrary/framework/hub/v1/dblib" "time" ) // WorkflowTable 工作流表名 const WorkflowTable = "oa_u_workflow" // WorkflowModel 工作流定义模型 type WorkflowModel struct { RecordGuid unique.UUID `gorm:"column:RecordGuid;type:UNIQUEIDENTIFIER;primaryKey;not null;default:newid();" json:"RecordGuid"` WorkflowID int64 `gorm:"column:WorkflowID;type:BIGINT;not null;" json:"WorkflowID"` WorkflowName string `gorm:"column:WorkflowName;type:NVARCHAR(50);not null;" json:"WorkflowName"` // 工作流名称 WorkflowType int16 `gorm:"column:WorkflowType;type:SMALLINT;not null;" json:"WorkflowType"` // 工作流类型: 1-请假, 2-报销, 3-采购, ... Description string `gorm:"column:Description;type:NVARCHAR(255);" json:"Description"` // 工作流描述 Creator unique.UUID `gorm:"column:Creator;type:UNIQUEIDENTIFIER;" json:"Creator"` // 创建人 IsActive bool `gorm:"column:IsActive;type:BIT;not null;default:1;" json:"IsActive"` // 是否启用 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(&WorkflowModel{}) } // TableName 返回表名 func (wm *WorkflowModel) TableName() string { return WorkflowTable } // WorkflowInstance 创建工作流实例 func WorkflowInstance() *WorkflowModel { return &WorkflowModel{ RecordGuid: unique.NewV4(), WorkflowID: tool.GenerateID(), WorkflowType: 0, IsActive: true, RecordType: 0, RecordStatus: 0, } }