From 45778cdd4a7829039fef3d262dc7999bb0628f93 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期三, 10 四月 2024 14:22:43 +0800
Subject: [PATCH] 补充

---
 models/yield_register.go |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/models/yield_register.go b/models/yield_register.go
index 421d2a8..1163c19 100644
--- a/models/yield_register.go
+++ b/models/yield_register.go
@@ -36,8 +36,12 @@
 		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
@@ -71,11 +75,20 @@
 	return slf
 }
 
+func (slf *YieldRegisterSearch) SetNumber(number string) *YieldRegisterSearch {
+	slf.Number = number
+	return slf
+}
+
 func (slf *YieldRegisterSearch) build() *gorm.DB {
 	db := slf.Orm.Table(slf.TableName())
 
 	if slf.Preload {
 		db = db.Model(YieldRegister{}).Preload("Items").Preload("Circles")
+	}
+
+	if slf.Number != "" {
+		db = db.Where("number = ?", slf.Number)
 	}
 
 	return db
@@ -91,6 +104,19 @@
 	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) {
 	var (
 		records = make([]*YieldRegister, 0)
@@ -104,7 +130,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 +153,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)
 	}
 

--
Gitblit v1.8.0