From 2234e8fa97e85e1e69a6f970416602f283e09df6 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期日, 07 四月 2024 21:57:28 +0800 Subject: [PATCH] 解决联调问题,增加纤度检验相关接口 --- 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..778f74a 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