From 67b13bb40517145cfadc05d7b22411b16f1528d7 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期三, 17 四月 2024 10:33:07 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/aps/WMS --- models/operation.go | 34 ++++++++++++++++++++++++++++++++++ 1 files changed, 34 insertions(+), 0 deletions(-) diff --git a/models/operation.go b/models/operation.go index ccf54fd..b8aab80 100644 --- a/models/operation.go +++ b/models/operation.go @@ -4,6 +4,7 @@ "fmt" "github.com/shopspring/decimal" "gorm.io/gorm" + "time" "wms/constvar" "wms/pkg/mysqlx" ) @@ -70,6 +71,9 @@ Ids []int SourceNumbers []string SalesDetailsNumbers []string + Fields string + BeginTime time.Time + EndTime time.Time } ) @@ -103,6 +107,11 @@ func (slf *OperationSearch) SetKeyword(keyword string) *OperationSearch { slf.Keyword = keyword + return slf +} + +func (slf *OperationSearch) SetFields(fields string) *OperationSearch { + slf.Fields = fields return slf } @@ -163,6 +172,12 @@ func (slf *OperationSearch) SetOperationSource(operationSource constvar.OperationSource) *OperationSearch { slf.OperationSource = operationSource + return slf +} + +func (slf *OperationSearch) SetTimeBetween(beginTime, endTime time.Time) *OperationSearch { + slf.BeginTime = beginTime + slf.EndTime = endTime return slf } @@ -228,6 +243,13 @@ db = db.Where("operation_source = ?", slf.OperationSource) } + if slf.Fields != "" { + db = db.Select(slf.Fields) + } + + if !slf.BeginTime.IsZero() && !slf.EndTime.IsZero() { + db = db.Where("created_at between ? and ?", slf.BeginTime, slf.EndTime) + } return db } @@ -351,6 +373,18 @@ return records, nil } +func (slf *OperationSearch) FindIds() ([]int, error) { + var ( + records = make([]int, 0) + db = slf.build() + ) + if err := db.Find(&records).Error; err != nil { + return records, fmt.Errorf("find records err: %v", err) + } + + return records, nil +} + // FindByQuery 鎸囧畾鏉′欢鏌ヨ. func (slf *OperationSearch) FindByQuery(query string, args []interface{}) ([]*Operation, int64, error) { var ( -- Gitblit v1.8.0