From d7d9bca92e9d413cb2d352673e48ccbbd8e45352 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期五, 08 三月 2024 13:52:04 +0800 Subject: [PATCH] 生丝定级标准 --- constvar/const.go | 10 +++++ models/raw_silk_rank_standard.go | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ models/db.go | 3 + 3 files changed, 119 insertions(+), 0 deletions(-) diff --git a/constvar/const.go b/constvar/const.go index 5a024d3..c255f71 100644 --- a/constvar/const.go +++ b/constvar/const.go @@ -24,3 +24,13 @@ RightHalfCar //鍙冲崐杞� AllCar //鍏ㄨ溅 ) + +type CheckItem int + +const ( + CheckItemDeviation CheckItem = iota + 1 //绾ゅ害鍋忓樊 + CheckItemTwiceChange //浜屾鍙樺寲 + CheckItemCleanliness //娓呮磥鍒� + CheckItemPurity //娲佸噣鍒� + CheckItemMaxDeviation //鏈�澶у亸宸� +) diff --git a/models/db.go b/models/db.go index c57b80a..28a4108 100644 --- a/models/db.go +++ b/models/db.go @@ -77,6 +77,9 @@ FinenessRegister{}, FinenessItem{}, FinenessCheck{}, + RawSilkPriceStandard{}, + RawSilkRankStandard{}, + WorkshopManage{}, ) return err } diff --git a/models/raw_silk_rank_standard.go b/models/raw_silk_rank_standard.go new file mode 100644 index 0000000..b1ee31d --- /dev/null +++ b/models/raw_silk_rank_standard.go @@ -0,0 +1,106 @@ +package models + +import ( + "fmt" + "github.com/shopspring/decimal" + "gorm.io/gorm" + "silkserver/constvar" + "silkserver/pkg/mysqlx" +) + +type ( + //RawSilkRankStandard 鐢熶笣瀹氱骇鏍囧噯 + RawSilkRankStandard struct { + gorm.Model + LineId string `json:"lineId" gorm:"type:varchar(255);comment:琛宨d"` + CheckItem constvar.CheckItem `json:"checkItem" gorm:"type:int;comment:妫�鏌ラ」鐩悕绉�"` + StartFineness decimal.Decimal `json:"startFineness" gorm:"type:decimal(20,4);comment:寮�濮嬬氦搴�"` + EndFineness decimal.Decimal `json:"endFineness" gorm:"type:decimal(20,4);comment:缁撴潫绾ゅ害"` + RankName string `json:"rankName" gorm:"type:varchar(255);comment:绛夌骇鍚嶇О"` + RankValue string `json:"rankValue" gorm:"type:varchar(255);comment:绛夌骇鍊�"` + } + RawSilkRankStandardSearch struct { + RawSilkRankStandard + PageNum int + PageSize int + Orm *gorm.DB + } +) + +func (slf RawSilkRankStandard) TableName() string { + return "raw_silk_price_standard" +} + +func NewRawSilkRankStandardSearch() *RawSilkRankStandardSearch { + return &RawSilkRankStandardSearch{Orm: mysqlx.GetDB()} +} + +func (slf *RawSilkRankStandardSearch) SetOrm(tx *gorm.DB) *RawSilkRankStandardSearch { + slf.Orm = tx + return slf +} + +func (slf *RawSilkRankStandardSearch) SetPage(page, size int) *RawSilkRankStandardSearch { + slf.PageNum, slf.PageSize = page, size + return slf +} + +func (slf *RawSilkRankStandardSearch) build() *gorm.DB { + db := slf.Orm.Table(slf.TableName()) + + if slf.ID > 0 { + db = db.Where("id = ?", slf.ID) + } + + return db +} + +// Create 鍗曟潯鎻掑叆 +func (slf *RawSilkRankStandardSearch) Create(record *RawSilkRankStandard) error { + db := slf.build() + err := db.Create(record).Error + if err != nil { + return fmt.Errorf("create err: %v, record: %+v", err, record) + } + return nil +} + +func (slf *RawSilkRankStandardSearch) Find() ([]*RawSilkRankStandard, int64, error) { + var ( + records = make([]*RawSilkRankStandard, 0) + total int64 + db = slf.build() + ) + + if err := db.Count(&total).Error; err != nil { + return records, total, fmt.Errorf("find count err: %v", err) + } + if slf.PageNum*slf.PageSize > 0 { + db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize) + } + if err := db.Find(&records).Error; err != nil { + return records, total, fmt.Errorf("find records err: %v", err) + } + + return records, total, nil +} + +func (slf *RawSilkRankStandardSearch) Save(record *RawSilkRankStandard) error { + var db = slf.build() + + if err := db.Save(record).Error; err != nil { + return fmt.Errorf("save err: %v, record: %+v", err, record) + } + + return nil +} + +func (slf *RawSilkRankStandardSearch) Delete() error { + var db = slf.build() + + if err := db.Unscoped().Delete(&RawSilkRankStandard{}).Error; err != nil { + return err + } + + return nil +} -- Gitblit v1.8.0