54 lines
3.0 KiB
Go
54 lines
3.0 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// Tray 蚕匾
|
|
type Tray struct {
|
|
ID string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
|
|
Name string `gorm:"size:64" json:"name"`
|
|
Code *string `gorm:"size:64" json:"code,omitempty"`
|
|
Position *string `gorm:"size:128" json:"position,omitempty"`
|
|
RoomID string `gorm:"column:room_id;type:uuid;index" json:"roomId"`
|
|
Enabled bool `gorm:"default:true" json:"enabled"`
|
|
CreatedAt time.Time `gorm:"type:timestamptz" json:"createdAt"`
|
|
UpdatedAt time.Time `gorm:"type:timestamptz" json:"updatedAt"`
|
|
}
|
|
|
|
func (Tray) TableName() string { return "trays" }
|
|
|
|
// Batch 蚕种批次
|
|
type Batch struct {
|
|
ID string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
|
|
RoomID string `gorm:"column:room_id;type:uuid;index" json:"roomId"`
|
|
Name string `gorm:"size:64" json:"name"`
|
|
Variety *string `gorm:"size:64" json:"variety,omitempty"` // 品种
|
|
Source *string `gorm:"size:128" json:"source,omitempty"` // 蚕种来源/供应商
|
|
SeedSourceID *string `gorm:"column:seed_source_id;type:uuid;index" json:"seedSourceId,omitempty"`
|
|
SeedBatchNo *string `gorm:"column:seed_batch_no;size:64" json:"seedBatchNo,omitempty"` // 蚕种批次号
|
|
QuarantineNo *string `gorm:"column:quarantine_no;size:64" json:"quarantineNo,omitempty"` // 检疫证明编号
|
|
Instar *int `gorm:"type:int" json:"instar,omitempty"` // 龄期 1-5
|
|
EnteredAt *time.Time `gorm:"column:entered_at;type:timestamptz" json:"enteredAt,omitempty"` // 入房时间
|
|
MountAt *time.Time `gorm:"column:mount_at;type:timestamptz" json:"mountAt,omitempty"` // 上蔟时间
|
|
Status string `gorm:"size:16;default:rearing" json:"status"` // rearing/mounted/finished
|
|
Note *string `gorm:"type:text" json:"note,omitempty"`
|
|
CreatedAt time.Time `gorm:"type:timestamptz" json:"createdAt"`
|
|
UpdatedAt time.Time `gorm:"type:timestamptz" json:"updatedAt"`
|
|
}
|
|
|
|
func (Batch) TableName() string { return "batches" }
|
|
|
|
// RearingRecord 饲养记录
|
|
type RearingRecord struct {
|
|
ID string `gorm:"type:uuid;primaryKey;default:gen_random_uuid()" json:"id"`
|
|
BatchID string `gorm:"column:batch_id;type:uuid;index" json:"batchId"`
|
|
RecordDate time.Time `gorm:"column:record_date;type:timestamptz" json:"recordDate"`
|
|
Instar *int `gorm:"type:int" json:"instar,omitempty"`
|
|
MulberrySource *string `gorm:"column:mulberry_source;size:128" json:"mulberrySource,omitempty"` // 桑叶来源
|
|
Density *string `gorm:"size:64" json:"density,omitempty"` // 饲养密度
|
|
Note *string `gorm:"type:text" json:"note,omitempty"`
|
|
CreatedAt time.Time `gorm:"type:timestamptz" json:"createdAt"`
|
|
UpdatedAt time.Time `gorm:"type:timestamptz" json:"updatedAt"`
|
|
}
|
|
|
|
func (RearingRecord) TableName() string { return "rearing_records" }
|