病猪变化日志
This commit is contained in:
@@ -168,6 +168,7 @@ func (ps *PostgresStorage) creatingHyperTable() error {
|
|||||||
{models.WeighingBatch{}, "weighing_time"},
|
{models.WeighingBatch{}, "weighing_time"},
|
||||||
{models.WeighingRecord{}, "weighing_time"},
|
{models.WeighingRecord{}, "weighing_time"},
|
||||||
{models.PigTransferLog{}, "transfer_time"},
|
{models.PigTransferLog{}, "transfer_time"},
|
||||||
|
{models.PigBatchSickPigLog{}, "happened_at"},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, table := range tablesToConvert {
|
for _, table := range tablesToConvert {
|
||||||
@@ -205,6 +206,7 @@ func (ps *PostgresStorage) applyCompressionPolicies() error {
|
|||||||
{models.WeighingBatch{}, "pig_batch_id"},
|
{models.WeighingBatch{}, "pig_batch_id"},
|
||||||
{models.WeighingRecord{}, "weighing_batch_id"},
|
{models.WeighingRecord{}, "weighing_batch_id"},
|
||||||
{models.PigTransferLog{}, "pig_batch_id"},
|
{models.PigTransferLog{}, "pig_batch_id"},
|
||||||
|
{models.PigBatchSickPigLog{}, "pig_batch_id"},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, policy := range policies {
|
for _, policy := range policies {
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ func GetAllModels() []interface{} {
|
|||||||
&WeighingBatch{},
|
&WeighingBatch{},
|
||||||
&WeighingRecord{},
|
&WeighingRecord{},
|
||||||
&PigTransferLog{},
|
&PigTransferLog{},
|
||||||
|
&PigBatchSickPigLog{},
|
||||||
|
|
||||||
// Feed Models
|
// Feed Models
|
||||||
&RawMaterial{},
|
&RawMaterial{},
|
||||||
|
|||||||
@@ -105,3 +105,51 @@ type WeighingRecord struct {
|
|||||||
func (WeighingRecord) TableName() string {
|
func (WeighingRecord) TableName() string {
|
||||||
return "weighing_records"
|
return "weighing_records"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// PigBatchSickPigLogChangeType 定义了病猪变化日志的类型
|
||||||
|
type PigBatchSickPigLogChangeType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
SickPigChangeTypeAdd PigBatchSickPigLogChangeType = "新增" // 新增病猪
|
||||||
|
SickPigChangeTypeRemove PigBatchSickPigLogChangeType = "移除" // 移除病猪 (康复, 死亡, 转出等)
|
||||||
|
)
|
||||||
|
|
||||||
|
// PigBatchSickPigTreatmentLocation 定义了病猪治疗地点
|
||||||
|
type PigBatchSickPigTreatmentLocation string
|
||||||
|
|
||||||
|
const (
|
||||||
|
TreatmentLocationOnSite PigBatchSickPigTreatmentLocation = "原地治疗"
|
||||||
|
TreatmentLocationSickBay PigBatchSickPigTreatmentLocation = "病猪栏治疗"
|
||||||
|
)
|
||||||
|
|
||||||
|
// PigBatchSickPigReasonType 定义了病猪变化的原因类型
|
||||||
|
type PigBatchSickPigReasonType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
SickPigReasonTypeIllness PigBatchSickPigReasonType = "患病" // 猪只患病
|
||||||
|
SickPigReasonTypeRecovery PigBatchSickPigReasonType = "康复" // 猪只康复
|
||||||
|
SickPigReasonTypeDeath PigBatchSickPigReasonType = "死亡" // 猪只死亡
|
||||||
|
SickPigReasonTypeEliminate PigBatchSickPigReasonType = "淘汰" // 猪只淘汰
|
||||||
|
SickPigReasonTypeTransferIn PigBatchSickPigReasonType = "转入" // 病猪转入当前批次
|
||||||
|
SickPigReasonTypeTransferOut PigBatchSickPigReasonType = "转出" // 病猪转出当前批次 (例如转到其他批次或出售)
|
||||||
|
SickPigReasonTypeOther PigBatchSickPigReasonType = "其他" // 其他原因
|
||||||
|
)
|
||||||
|
|
||||||
|
// PigBatchSickPigLog 记录了猪批次中病猪数量的变化日志
|
||||||
|
type PigBatchSickPigLog struct {
|
||||||
|
gorm.Model
|
||||||
|
PigBatchID uint `gorm:"primaryKey;comment:关联的猪批次ID"`
|
||||||
|
PenID uint `gorm:"not null;index;comment:所在猪圈ID"`
|
||||||
|
PigIDs string `gorm:"size:500;comment:涉及的猪只ID列表,逗号分隔"`
|
||||||
|
ChangeType PigBatchSickPigLogChangeType `gorm:"size:20;not null;comment:变化类型 (新增, 移除)"`
|
||||||
|
ChangeCount int `gorm:"not null;comment:变化数量, 正数表示新增, 负数表示移除"`
|
||||||
|
Reason PigBatchSickPigReasonType `gorm:"size:20;not null;comment:变化原因 (如: 患病, 康复, 死亡, 转入, 转出, 其他)"`
|
||||||
|
Remarks string `gorm:"size:255;comment:备注"`
|
||||||
|
TreatmentLocation PigBatchSickPigTreatmentLocation `gorm:"size:50;comment:治疗地点"`
|
||||||
|
OperatorID uint `gorm:"comment:操作员ID"`
|
||||||
|
HappenedAt time.Time `gorm:"primaryKey;comment:事件发生时间"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (PigBatchSickPigLog) TableName() string {
|
||||||
|
return "pig_batch_sick_pig_logs"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user