zhangqian
2024-04-16 71288e85afbfc7ac12d5060feb1d29aa139513d6
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 (