// ==========================================================================
// This is auto-generated by gf cli tool. You may not really want to edit it.
// ==========================================================================

package wf_run_sign

import (
	"database/sql"
	"github.com/gogf/gf/database/gdb"
)

// Entity is the golang structure for table wf_run_sign.
type Entity struct {
	Id             uint   `orm:"id,primary"       json:"id"`               //
	Uid            uint   `orm:"uid"              json:"uid"`              //
	RunId          uint   `orm:"run_id"           json:"run_id"`           //
	RunFlow        uint   `orm:"run_flow"         json:"run_flow"`         // 流程ID,子流程时区分run step
	RunFlowProcess uint   `orm:"run_flow_process" json:"run_flow_process"` // 当前步骤编号
	Content        string `orm:"content"          json:"content"`          // 会签内容
	IsAgree        uint   `orm:"is_agree"         json:"is_agree"`         // 审核意见：1同意；2不同意
	SignAttId      uint   `orm:"sign_att_id"      json:"sign_att_id"`      //
	SignLook       uint   `orm:"sign_look"        json:"sign_look"`        // 步骤设置的会签可见性,0总是可见（默认）,1本步骤经办人之间不可见2针对其他步骤不可见
	Dateline       uint   `orm:"dateline"         json:"dateline"`         // 添加时间
}

// OmitEmpty sets OPTION_OMITEMPTY option for the model, which automatically filers
// the data and where attributes for empty values.
func (r *Entity) OmitEmpty() *arModel {
	return Model.Data(r).OmitEmpty()
}

// Inserts does "INSERT...INTO..." statement for inserting current object into table.
func (r *Entity) Insert() (result sql.Result, err error) {
	return Model.Data(r).Insert()
}

// InsertIgnore does "INSERT IGNORE INTO ..." statement for inserting current object into table.
func (r *Entity) InsertIgnore() (result sql.Result, err error) {
	return Model.Data(r).InsertIgnore()
}

// Replace does "REPLACE...INTO..." statement for inserting current object into table.
// If there's already another same record in the table (it checks using primary key or unique index),
// it deletes it and insert this one.
func (r *Entity) Replace() (result sql.Result, err error) {
	return Model.Data(r).Replace()
}

// Save does "INSERT...INTO..." statement for inserting/updating current object into table.
// It updates the record if there's already another same record in the table
// (it checks using primary key or unique index).
func (r *Entity) Save() (result sql.Result, err error) {
	return Model.Data(r).Save()
}

// Update does "UPDATE...WHERE..." statement for updating current object from table.
// It updates the record if there's already another same record in the table
// (it checks using primary key or unique index).
func (r *Entity) Update() (result sql.Result, err error) {
	return Model.Data(r).Where(gdb.GetWhereConditionOfStruct(r)).Update()
}

// Delete does "DELETE FROM...WHERE..." statement for deleting current object from table.
func (r *Entity) Delete() (result sql.Result, err error) {
	return Model.Where(gdb.GetWhereConditionOfStruct(r)).Delete()
}
