mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
89 lines
3.4 KiB
Go
89 lines
3.4 KiB
Go
package entities
|
|
|
|
import (
|
|
"time"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
type DailyChecklist struct {
|
|
Id uint `gorm:"primaryKey"`
|
|
KandangId uint `gorm:"not null"`
|
|
ChecklistId *uint
|
|
Date time.Time `gorm:"type:date;not null"`
|
|
Name *string `gorm:"type:varchar(255)"`
|
|
Status *string `gorm:"type:varchar(255)"`
|
|
Category string `gorm:"type:category_code;not null"`
|
|
TotalScore *int
|
|
DocumentPath *string
|
|
RejectReason *string
|
|
CreatedBy *uint
|
|
DeletedBy *uint
|
|
CreatedAt time.Time `gorm:"autoCreateTime"`
|
|
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
|
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
|
|
|
Kandang KandangGroup `gorm:"foreignKey:KandangId;references:Id"`
|
|
Checklist *Checklist `gorm:"foreignKey:ChecklistId;references:Id"`
|
|
Creator *User `gorm:"foreignKey:CreatedBy;references:Id"`
|
|
Deleter *User `gorm:"foreignKey:DeletedBy;references:Id"`
|
|
Tasks []DailyChecklistTask `gorm:"foreignKey:DailyChecklistId;references:Id"`
|
|
}
|
|
|
|
type DailyChecklistPhase struct {
|
|
Id uint `gorm:"primaryKey"`
|
|
ChecklistId uint `gorm:"not null"`
|
|
PhaseId uint `gorm:"not null"`
|
|
CreatedAt time.Time `gorm:"autoCreateTime"`
|
|
|
|
Checklist Checklist `gorm:"foreignKey:ChecklistId;references:Id"`
|
|
Phase Phases `gorm:"foreignKey:PhaseId;references:Id"`
|
|
}
|
|
|
|
type DailyChecklistActivityTask struct {
|
|
Id uint `gorm:"primaryKey"`
|
|
ChecklistId uint `gorm:"not null"`
|
|
PhaseId uint `gorm:"not null"`
|
|
PhaseActivityId uint `gorm:"not null"`
|
|
TimeType *string `gorm:"type:text"`
|
|
Notes *string `gorm:"type:text"`
|
|
CreatedAt time.Time `gorm:"autoCreateTime"`
|
|
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
|
|
|
Checklist DailyChecklist `gorm:"foreignKey:ChecklistId;references:Id"`
|
|
Phase Phases `gorm:"foreignKey:PhaseId;references:Id"`
|
|
PhaseActivity PhaseActivity `gorm:"foreignKey:PhaseActivityId;references:Id"`
|
|
Assignments []DailyChecklistActivityTaskAssignment `gorm:"foreignKey:TaskId;references:Id"`
|
|
}
|
|
|
|
type DailyChecklistActivityTaskAssignment struct {
|
|
Id uint `gorm:"primaryKey"`
|
|
TaskId uint `gorm:"not null"`
|
|
EmployeeId uint `gorm:"not null"`
|
|
Checked bool `gorm:"not null;default:false"`
|
|
Note *string `gorm:"type:text"`
|
|
CreatedAt time.Time `gorm:"autoCreateTime"`
|
|
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
|
|
|
Task DailyChecklistActivityTask `gorm:"foreignKey:TaskId;references:Id"`
|
|
Employee Employee `gorm:"foreignKey:EmployeeId;references:Id"`
|
|
}
|
|
|
|
type DailyChecklistTask struct {
|
|
Id uint `gorm:"primaryKey"`
|
|
DailyChecklistId uint `gorm:"not null"`
|
|
ChecklistId uint `gorm:"not null"`
|
|
ChecklistItemId *uint
|
|
IsCompleted bool `gorm:"not null;default:false"`
|
|
ScoreValue *int
|
|
Notes *string `gorm:"type:text"`
|
|
PhotoProof *string
|
|
Status *string
|
|
CreatedAt time.Time `gorm:"autoCreateTime"`
|
|
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
|
|
|
DailyChecklist *DailyChecklist `gorm:"foreignKey:DailyChecklistId;references:Id"`
|
|
Checklist Checklist `gorm:"foreignKey:ChecklistId;references:Id"`
|
|
ChecklistItem *PhaseActivity `gorm:"foreignKey:ChecklistItemId;references:Id"`
|
|
}
|