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