| | |
| | | "fmt" |
| | | "github.com/shopspring/decimal" |
| | | "gorm.io/gorm" |
| | | "time" |
| | | "wms/constvar" |
| | | "wms/pkg/mysqlx" |
| | | ) |
| | |
| | | Ids []int |
| | | SourceNumbers []string |
| | | SalesDetailsNumbers []string |
| | | Fields string |
| | | BeginTime time.Time |
| | | EndTime time.Time |
| | | } |
| | | ) |
| | | |
| | |
| | | |
| | | func (slf *OperationSearch) SetKeyword(keyword string) *OperationSearch { |
| | | slf.Keyword = keyword |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OperationSearch) SetFields(fields string) *OperationSearch { |
| | | slf.Fields = fields |
| | | return slf |
| | | } |
| | | |
| | |
| | | |
| | | 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 |
| | | } |
| | | |
| | |
| | | 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 |
| | | } |
| | | |
| | |
| | | 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 ( |