From 3ae25318873c7175aedc529f05bacde8005d8b50 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期二, 23 四月 2024 17:52:30 +0800
Subject: [PATCH] 获取模版信息与考勤修改

---
 models/yield_register.go |   97 +++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 91 insertions(+), 6 deletions(-)

diff --git a/models/yield_register.go b/models/yield_register.go
index 421d2a8..b22e269 100644
--- a/models/yield_register.go
+++ b/models/yield_register.go
@@ -14,7 +14,7 @@
 		Number                  string                 `json:"number" gorm:"type:varchar(255);not null;comment:缂栧彿"`
 		CreateTime              string                 `json:"createTime" gorm:"type:varchar(255);comment:鍒涘缓鏃堕棿"`
 		MarketId                uint                   `json:"marketId" gorm:"type:int(11);comment:搴勫彛id"`
-		WorkshopId              uint                   `json:"workshopId" gorm:"type:int(11);comment:杞﹂棿id"`
+		WorkshopNumber          string                 `json:"workshopNumber" gorm:"type:varchar(255);comment:杞﹂棿缂栫爜"`
 		GroupNumber             int                    `json:"groupNumber" gorm:"type:int(11);comment:缁勫埆"`
 		Spec                    string                 `json:"spec" gorm:"type:varchar(255);comment:瑙勬牸"`
 		JieZhuang               string                 `json:"jieZhuang" gorm:"type:varchar(255);comment:鏄惁缁撳簞"`
@@ -30,14 +30,21 @@
 		FallingSilkBucketOne    decimal.Decimal        `json:"fallingSilkBucketOne" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟1"`
 		FallingSilkBucketTwo    decimal.Decimal        `json:"fallingSilkBucketTwo" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟2"`
 		FallingSilkBucketThree  decimal.Decimal        `json:"fallingSilkBucketThree" gorm:"type:decimal(12,2);comment:钀戒笣妗舵暟3"`
+		SelectOne               bool                   `json:"selectOne" gorm:"type:int(1);comment:钀戒笣妗舵暟1閫変腑"`
+		SelectTwo               bool                   `json:"selectTwo" gorm:"type:int(1);comment:钀戒笣妗舵暟2閫変腑"`
+		SelectThree             bool                   `json:"selectThree" gorm:"type:int(1);comment:钀戒笣妗舵暟3閫変腑"`
 		TheorySilkAmount        decimal.Decimal        `json:"theorySilkAmount" gorm:"type:decimal(12,2);comment:鐞嗚涓濋噺"`
 		HourYield               decimal.Decimal        `json:"hourYield" gorm:"type:decimal(12,2);comment:鍙版椂浜ч噺"`
 		OneBack                 string                 `json:"oneBack" gorm:"type:varchar(255);comment:绗竴鍥�"`
 		TwoBack                 string                 `json:"twoBack" gorm:"type:varchar(255);comment:绗簩鍥�"`
 		ThreeBack               string                 `json:"threeBack" gorm:"type:varchar(255);comment:绗笁鍥�"`
 		Total                   decimal.Decimal        `json:"total" gorm:"type:decimal(12,2);comment:鎬讳骇閲�"`
-		Items                   []*YieldRegisterItem   `json:"items" gorm:"foreignKey:YieldRegisterId;references:Id"`
-		Circles                 []*YieldRegisterCircle `json:"circles" gorm:"foreignKey:YieldRegisterId;references:Id"`
+		Items                   []*YieldRegisterItem   `json:"items" gorm:"foreignKey:YieldRegisterId"`
+		Circles                 []*YieldRegisterCircle `json:"circles" gorm:"foreignKey:YieldRegisterId"`
+
+		MarketName   string `json:"marketName" gorm:"-"`   //搴勫彛鍚�
+		WorkshopName string `json:"workshopName" gorm:"-"` //杞﹂棿鍚�
+
 	}
 	YieldRegisterSearch struct {
 		YieldRegister
@@ -49,7 +56,7 @@
 )
 
 func (slf YieldRegister) TableName() string {
-	return "yield_register"
+	return "silk_yield_register"
 }
 
 func NewYieldRegisterSearch() *YieldRegisterSearch {
@@ -71,6 +78,36 @@
 	return slf
 }
 
+func (slf *YieldRegisterSearch) SetNumber(number string) *YieldRegisterSearch {
+	slf.Number = number
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetCreateTime(createTime string) *YieldRegisterSearch {
+	slf.CreateTime = createTime
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetMarketId(marketId uint) *YieldRegisterSearch {
+	slf.MarketId = marketId
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetWorkshopNumber(workshopNumber string) *YieldRegisterSearch {
+	slf.WorkshopNumber = workshopNumber
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetGroupNumber(groupNumber int) *YieldRegisterSearch {
+	slf.GroupNumber = groupNumber
+	return slf
+}
+
+func (slf *YieldRegisterSearch) SetSpec(spec string) *YieldRegisterSearch {
+	slf.Spec = spec
+	return slf
+}
+
 func (slf *YieldRegisterSearch) build() *gorm.DB {
 	db := slf.Orm.Table(slf.TableName())
 
@@ -78,6 +115,29 @@
 		db = db.Model(YieldRegister{}).Preload("Items").Preload("Circles")
 	}
 
+	if slf.Number != "" {
+		db = db.Where("number = ?", slf.Number)
+	}
+
+	if slf.CreateTime != "" {
+		db = db.Where("create_time = ?", slf.CreateTime)
+	}
+
+	if slf.WorkshopNumber != "" {
+		db = db.Where("workshop_number = ?", slf.WorkshopNumber)
+	}
+
+	if slf.MarketId > 0 {
+		db = db.Where("market_id = ?", slf.MarketId)
+	}
+
+	if slf.GroupNumber > 0 {
+		db = db.Where("group_number = ?", slf.GroupNumber)
+	}
+
+	if slf.Spec != "" {
+		db = db.Where("spec = ?", slf.Spec)
+	}
 	return db
 }
 
@@ -89,6 +149,19 @@
 		return fmt.Errorf("create err: %v, record: %+v", err, record)
 	}
 	return nil
+}
+
+func (slf *YieldRegisterSearch) First() (*YieldRegister, error) {
+	var (
+		record = new(YieldRegister)
+		db     = slf.build()
+	)
+
+	if err := db.First(record).Error; err != nil {
+		return record, err
+	}
+
+	return record, nil
 }
 
 func (slf *YieldRegisterSearch) Find() ([]*YieldRegister, int64, error) {
@@ -104,7 +177,7 @@
 	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 {
+	if err := db.Order("updated_at desc").Find(&records).Error; err != nil {
 		return records, total, fmt.Errorf("find records err: %v", err)
 	}
 
@@ -127,7 +200,7 @@
 func (slf *YieldRegisterSearch) Save(record *YieldRegister) error {
 	var db = slf.build()
 
-	if err := db.Save(record).Error; err != nil {
+	if err := db.Omit("CreatedAt").Save(record).Error; err != nil {
 		return fmt.Errorf("save err: %v, record: %+v", err, record)
 	}
 
@@ -143,3 +216,15 @@
 
 	return nil
 }
+
+func (slf *YieldRegisterSearch) Count() (int64, error) {
+	var (
+		total int64
+		db    = slf.build()
+	)
+
+	if err := db.Count(&total).Error; err != nil {
+		return total, fmt.Errorf("find count err: %v", err)
+	}
+	return total, nil
+}

--
Gitblit v1.8.0