mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-24 07:15:43 +00:00
add daily checklist module;adjust master data;adjust migration
This commit is contained in:
@@ -0,0 +1,81 @@
|
||||
package entities
|
||||
|
||||
import "time"
|
||||
|
||||
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
|
||||
CreatedAt time.Time `gorm:"autoCreateTime"`
|
||||
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
||||
|
||||
Kandang Kandang `gorm:"foreignKey:KandangId;references:Id"`
|
||||
Checklist *Checklist `gorm:"foreignKey:ChecklistId;references:Id"`
|
||||
Creator *User `gorm:"foreignKey:CreatedBy;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"`
|
||||
}
|
||||
@@ -1,13 +1,18 @@
|
||||
package entities
|
||||
|
||||
import "time"
|
||||
import (
|
||||
"time"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type Employee struct {
|
||||
Id uint `gorm:"primaryKey"`
|
||||
Name string `gorm:"not null"`
|
||||
IsActive bool `gorm:"not null"`
|
||||
CreatedAt time.Time `gorm:"autoCreateTime"`
|
||||
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
||||
Id uint `gorm:"primaryKey"`
|
||||
Name string `gorm:"not null"`
|
||||
IsActive bool `gorm:"not null"`
|
||||
CreatedAt time.Time `gorm:"autoCreateTime"`
|
||||
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
||||
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
||||
|
||||
EmployeeKandangs []EmployeeKandang `gorm:"foreignKey:EmployeeId;references:Id"`
|
||||
}
|
||||
|
||||
+16
-14
@@ -7,25 +7,27 @@ import (
|
||||
)
|
||||
|
||||
type Phases struct {
|
||||
Id uint `gorm:"primaryKey"`
|
||||
Name string `gorm:"not null"`
|
||||
IsActive bool `gorm:"not null;default:true"`
|
||||
Category string `gorm:"type:category_code;not null"`
|
||||
CreatedAt time.Time `gorm:"autoCreateTime"`
|
||||
Id uint `gorm:"primaryKey"`
|
||||
Name string `gorm:"not null"`
|
||||
IsActive bool `gorm:"not null;default:true"`
|
||||
Category string `gorm:"type:category_code;not null"`
|
||||
CreatedAt time.Time `gorm:"autoCreateTime"`
|
||||
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
||||
|
||||
Activities []PhaseActivity `gorm:"foreignKey:PhaseId;references:Id"`
|
||||
}
|
||||
|
||||
type PhaseActivity struct {
|
||||
Id uint `gorm:"primaryKey"`
|
||||
PhaseId uint `gorm:"not null"`
|
||||
Name string `gorm:"not null"`
|
||||
Description *string `gorm:"type:text"`
|
||||
TimeType *string `gorm:"type:text"`
|
||||
CreatedAt time.Time `gorm:"autoCreateTime"`
|
||||
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
||||
Id uint `gorm:"primaryKey"`
|
||||
PhaseId uint `gorm:"not null"`
|
||||
Name string `gorm:"not null"`
|
||||
Description *string `gorm:"type:text"`
|
||||
TimeType *string `gorm:"type:text"`
|
||||
CreatedAt time.Time `gorm:"autoCreateTime"`
|
||||
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
||||
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
||||
|
||||
Phase Phase `gorm:"foreignKey:PhaseId;references:Id"`
|
||||
Phase Phases `gorm:"foreignKey:PhaseId;references:Id"`
|
||||
}
|
||||
|
||||
type Checklist struct {
|
||||
@@ -37,5 +39,5 @@ type Checklist struct {
|
||||
UpdatedAt time.Time `gorm:"autoUpdateTime"`
|
||||
DeletedAt gorm.DeletedAt `gorm:"index" json:"-"`
|
||||
|
||||
Phase *Phase `gorm:"foreignKey:PhaseId;references:Id"`
|
||||
Phase *Phases `gorm:"foreignKey:PhaseId;references:Id"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user