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