From 530fed8ec225453572d57b15c200ab062c335457 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 01 十一月 2023 19:20:21 +0800
Subject: [PATCH] 公海member_id使用0

---
 model/salesReturn.go |  103 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 98 insertions(+), 5 deletions(-)

diff --git a/model/salesReturn.go b/model/salesReturn.go
index c586a7d..126b29a 100644
--- a/model/salesReturn.go
+++ b/model/salesReturn.go
@@ -16,11 +16,12 @@
 		Client              Client                         `json:"client" gorm:"foreignKey:ClientId"`
 		SourceType          constvar.SalesReturnSourceType `gorm:"source_type" json:"sourceType"` // 婧愬崟绫诲瀷锛�1閿�鍞槑缁嗭級
 		SourceId            int                            `gorm:"source_id" json:"sourceId"`     // 婧愬崟id
+		Source              SalesDetails                   `gorm:"foreignKey:SourceId" json:"source"`
 		Number              string                         `json:"number" gorm:"column:number;type:varchar(255);comment:閫�璐у崟鍙�"`
 		Repository          string                         `json:"repository" gorm:"column:repository;type:varchar(255);comment:浠撳簱"`
 		MemberId            int                            `json:"memberId" gorm:"column:member_id;type:int;comment:璐熻矗浜篿d"`
 		Member              User                           `json:"Member"  gorm:"foreignKey:MemberId"`
-		ReturnDate          string                         `json:"returnDate" gorm:"column:return_date;type:datetime(3);comment:閫�璐ф棩鏈�"`                     //閫�璐ф棩鏈�
+		ReturnDate          string                         `json:"returnDate" gorm:"column:return_date;type:varchar(255);comment:閫�璐ф棩鏈�"`                    //閫�璐ф棩鏈�
 		SalesReturnStatusId int                            `json:"salesReturnStatusId" gorm:"column:sales_return_status;type:int;comment:閫�璐х姸鎬�"`            //閫�璐х姸鎬乮d
 		SalesReturnStatus   SalesReturnStatus              `json:"SalesReturnStatus" gorm:"foreignKey:SalesReturnStatusId"`                                //閫�璐х姸鎬�
 		CreatorId           int                            `json:"-" gorm:"column:creator_id;type:int;comment:鍒涘缓浜篿d"`                                      //鍒涘缓浜篒D
@@ -29,7 +30,8 @@
 		Products            []*Product                     `json:"products" gorm:"many2many:salesReturn_product;"`                                         //閫�璐т骇鍝�
 		AmountShouldRefund  decimal.Decimal                `gorm:"column:amount_should_refund;type:decimal(12,2);comment:搴旈��娆鹃噾棰�" json:"amountShouldRefund"` // 搴旈��娆鹃噾棰�
 		AmountHasRefund     decimal.Decimal                `gorm:"column:amount_has_refund;type:decimal(12,2);comment:宸查��娆鹃噾棰�" json:"amountHasRefund"`       // 宸查��娆鹃噾棰�
-
+		AmountTotal         decimal.Decimal                `gorm:"column:amount_total;type:decimal(12,2);comment:閫�璐т骇鍝佹�婚噾棰�" json:"-"`
+		CodeStandID         string                         `json:"codeStandID" gorm:"column:code_stand_id;type:varchar(255);comment:缂栫爜id"`
 		CrmModel
 	}
 
@@ -43,6 +45,8 @@
 		PageNum     int
 		PageSize    int
 		Preload     bool
+		Ids         []int
+		MemberIds   []int
 	}
 )
 
@@ -55,15 +59,32 @@
 	}
 }
 
+func (slf *SalesReturnSearch) SetOrm(tx *gorm.DB) *SalesReturnSearch {
+	slf.Orm = tx
+	return slf
+}
+
 func (slf *SalesReturnSearch) build() *gorm.DB {
 	var db = slf.Orm.Model(&SalesReturn{})
 	if slf.Id != 0 {
 		db = db.Where("id = ?", slf.Id)
 	}
-
+	if len(slf.Ids) != 0 {
+		db = db.Where("id in ?", slf.Ids)
+	}
+	if slf.SourceType != 0 {
+		db = db.Where("source_type = ?", slf.SourceType)
+	}
+	if slf.SourceId != 0 {
+		db = db.Where("source_id = ?", slf.SourceId)
+	}
+	if slf.ClientId != 0 {
+		db = db.Where("client_id = ?", slf.ClientId)
+	}
 	if slf.Preload {
 		db = db.Preload("Client").
 			Preload("Member").
+			Preload("Source").
 			Preload("SalesReturnStatus").
 			Preload("Products")
 	}
@@ -90,6 +111,13 @@
 		}
 	}
 
+	if len(slf.MemberIds) > 0 {
+		db = db.Where("sales_return.member_id in ?", slf.MemberIds)
+	}
+	if slf.Number != "" {
+		db = db.Where("number = ?", slf.Number)
+	}
+
 	return db
 }
 
@@ -114,7 +142,7 @@
 	return db.Updates(record).Error
 }
 
-func (slf *SalesReturnSearch) Find() (*SalesReturn, error) {
+func (slf *SalesReturnSearch) First() (*SalesReturn, error) {
 	var db = slf.build()
 	var record = new(SalesReturn)
 	err := db.First(record).Error
@@ -131,13 +159,49 @@
 	if slf.PageNum > 0 && slf.PageSize > 0 {
 		db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize)
 	}
-
 	err := db.Preload("Member").Preload("Client").Preload("Products").Order("id desc").Find(&records).Error
 	return records, total, err
 }
 
+func (slf *SalesReturnSearch) Find() ([]*SalesReturn, error) {
+	var db = slf.build()
+	var records = make([]*SalesReturn, 0)
+
+	err := db.Find(&records).Error
+	return records, err
+}
+
+func (slf *SalesReturnSearch) Count() (int64, error) {
+	var db = slf.build()
+	var total int64
+	err := db.Count(&total).Error
+	return total, err
+}
+
+func (slf *SalesReturnSearch) MaxAutoIncr() (int, error) {
+	type Result struct {
+		Max int
+	}
+
+	var (
+		result Result
+		db     = slf.build()
+	)
+
+	err := db.Select("MAX(id) as max").Scan(&result).Error
+	if err != nil {
+		return result.Max, fmt.Errorf("max err: %v", err)
+	}
+	return result.Max, nil
+}
+
 func (slf *SalesReturnSearch) SetId(id int) *SalesReturnSearch {
 	slf.Id = id
+	return slf
+}
+
+func (slf *SalesReturnSearch) SetIds(id []int) *SalesReturnSearch {
+	slf.Ids = id
 	return slf
 }
 
@@ -165,3 +229,32 @@
 	slf.Preload = preload
 	return slf
 }
+func (slf *SalesReturnSearch) SetSourceType(sourceType constvar.SalesReturnSourceType) *SalesReturnSearch {
+	slf.SourceType = sourceType
+	return slf
+}
+
+func (slf *SalesReturnSearch) SetSourceId(sourceId int) *SalesReturnSearch {
+	slf.SourceId = sourceId
+	return slf
+}
+
+func (slf *SalesReturnSearch) SetClientId(clientId int) *SalesReturnSearch {
+	slf.ClientId = clientId
+	return slf
+}
+
+func (slf *SalesReturnSearch) SetNumber(number string) *SalesReturnSearch {
+	slf.Number = number
+	return slf
+}
+
+func (slf *SalesReturnSearch) UpdateByMap(data map[string]interface{}) error {
+	var db = slf.build()
+	return db.Updates(data).Error
+}
+
+func (slf *SalesReturnSearch) SetMemberIds(memberIds []int) *SalesReturnSearch {
+	slf.MemberIds = memberIds
+	return slf
+}

--
Gitblit v1.8.0