package model import ( "dy-admin/internal/pcmserver/common" "dy-admin/internal/pcmserver/utils" "gorm.io/gorm" "strconv" "time" ) const ( StatusWaiting = "待执行" StatusExecuting = "执行中" StatusFinish = "已完成" ) type LeaveLog struct { common.Model DepartmentID int `json:"departmentId" gorm:"comment:'部门id'"` Type string `json:"type" gorm:"size:255;comment:请假类型"` StartTime *time.Time `json:"-" gorm:"comment:开始时间"` EndTime *time.Time `json:"-" gorm:"comment:结束时间"` Duration float32 `json:"duration" gorm:"comment:请假时长(小时)"` Reason string `json:"reason" gorm:"size:255;comment:请假事由"` StaffID int `json:"staffId" gorm:"comment:人员id"` StaffName string `json:"staffName" gorm:"size:255;comment:人员名字"` Status string `json:"status" gorm:"size:255;comment:进行中 已关闭"` StartTimeStr string `json:"startTimeStr" gorm:"-"` EndTimeStr string `json:"endTimeStr" gorm:"-"` common.YearMonthWeek common.ControlBy common.ModelTime } func (ll *LeaveLog) TableName() string { return "bus_leave_logs" } func (ll *LeaveLog) AfterFind(_ *gorm.DB) error { ll.StartTimeStr = utils.FormatMinuteTime(ll.StartTime) ll.EndTimeStr = utils.FormatMinuteTime(ll.EndTime) return nil } func (ll *LeaveLog) BeforeCreate(_ *gorm.DB) (err error) { now := time.Now() year, week := now.ISOWeek() ll.Year = year ll.Month, _ = strconv.Atoi(now.Format("01")) ll.Week = week return }