56 lines
2.8 KiB
Go
56 lines
2.8 KiB
Go
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,
|
|
}
|
|
}
|