From 84ba1d3f701f6f128ffc1b23b333453ea153b5f5 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期二, 09 四月 2024 09:56:19 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/silk/silkServer --- models/fineness_check_item.go | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 46 insertions(+), 12 deletions(-) diff --git a/models/fineness_check_item.go b/models/fineness_check_item.go index 9a22f55..80e4217 100644 --- a/models/fineness_check_item.go +++ b/models/fineness_check_item.go @@ -1,6 +1,7 @@ package models import ( + "encoding/json" "fmt" "github.com/shopspring/decimal" "gorm.io/gorm" @@ -11,17 +12,18 @@ // FinenessCheckItem 绾ゅ害妫�楠屾槑缁� FinenessCheckItem struct { gorm.Model - FinenessRegisterID uint `gorm:"not null;comment:绾ゅ害鐧昏琛↖D" json:"finenessRegisterID"` //绾ゅ害鐧昏琛↖D - FinenessCheckID uint `gorm:"not null;comment:绾ゅ害妫�楠岃〃ID" json:"finenessCheckID"` //绾ゅ害妫�楠岃〃ID - Position int `json:"position"` //杞﹀彿 - FinenessRoundingItem []*FinenessRoundingItem - Deviation decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:鍋忓樊" json:"deviation"` //鍋忓樊 - TotalDeviation decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:鎬诲樊" json:"totalDeviation"` //鎬诲樊 - FinenessGrade string `gorm:"type:varchar(255);not null;comment:绾ゅ害绛夌骇" json:"finenessGrade"` //绾ゅ害绛夌骇 - Cleanliness decimal.Decimal `gorm:"type:varchar(255);not null;comment:娓呮磥搴�" json:"cleanliness"` //娓呮磥搴� - Purity decimal.Decimal `gorm:"type:varchar(255);not null;comment:娲佸噣搴�" json:"purity"` //娲佸噣搴� - TwiceChange decimal.Decimal `gorm:"type:varchar(255);not null;comment:浜屽害鍙樺寲" json:"twiceChange"` //浜屽害鍙樺寲 - Remark string `gorm:"type:varchar(255);not null;comment:澶囨敞" json:"remark"` //澶囨敞 + FinenessRegisterID uint `gorm:"not null;comment:绾ゅ害鐧昏琛↖D" json:"finenessRegisterID"` //绾ゅ害鐧昏琛↖D + //FinenessCheckID uint `gorm:"not null;comment:绾ゅ害妫�楠岃〃ID" json:"finenessCheckID"` //绾ゅ害妫�楠岃〃ID + Position int `json:"position"` //杞﹀彿 + FinenessRoundingItems []*FinenessRoundingItem `json:"finenessRoundingItems" gorm:"-"` //绾ゅ害鍒楄〃 + FinenessRounding string `json:"-"` + Deviation decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:鍋忓樊" json:"deviation"` //鍋忓樊 + TotalDeviation decimal.Decimal `gorm:"type:decimal(12,2);not null;comment:鎬诲樊" json:"totalDeviation"` //鎬诲樊 + FinenessGrade string `gorm:"type:varchar(255);not null;comment:绾ゅ害绛夌骇" json:"finenessGrade"` //绾ゅ害绛夌骇 + Cleanliness decimal.Decimal `gorm:"type:varchar(255);not null;comment:娓呮磥搴�" json:"cleanliness"` //娓呮磥搴� + Purity decimal.Decimal `gorm:"type:varchar(255);not null;comment:娲佸噣搴�" json:"purity"` //娲佸噣搴� + TwiceChange decimal.Decimal `gorm:"type:varchar(255);not null;comment:浜屽害鍙樺寲" json:"twiceChange"` //浜屽害鍙樺寲 + Remark string `gorm:"type:varchar(255);not null;default:'';comment:澶囨敞" json:"remark"` //澶囨敞 } FinenessRoundingItem struct { @@ -39,7 +41,30 @@ ) func (slf *FinenessCheckItem) TableName() string { - return "fineness_check" + return "fineness_check_item" +} + +func (slf *FinenessCheckItem) AfterFind(tx *gorm.DB) error { + if slf.FinenessRounding != "" { + items := make([]*FinenessRoundingItem, 0) + err := json.Unmarshal([]byte(slf.FinenessRounding), &items) + if err != nil { + return err + } + slf.FinenessRoundingItems = items + } + return nil +} + +func (slf *FinenessCheckItem) BeforeCreate(tx *gorm.DB) error { + if len(slf.FinenessRoundingItems) > 0 { + bts, err := json.Marshal(slf.FinenessRoundingItems) + if err != nil { + return err + } + slf.FinenessRounding = string(bts) + } + return nil } func NewFinenessCheckItemSearch() *FinenessCheckItemSearch { @@ -71,6 +96,11 @@ return slf } +func (slf *FinenessCheckItemSearch) SetFinenessRegisterID(id uint) *FinenessCheckItemSearch { + slf.FinenessRegisterID = id + return slf +} + func (slf *FinenessCheckItemSearch) build() *gorm.DB { var db = slf.Orm.Table(slf.TableName()) @@ -78,6 +108,10 @@ db = db.Where("id = ?", slf.ID) } + if slf.FinenessRegisterID != 0 { + db = db.Where("fineness_register_id = ?", slf.FinenessRegisterID) + } + if slf.Order != "" { db = db.Order(slf.Order) } -- Gitblit v1.8.0