| | |
| | | Orm *gorm.DB |
| | | Preload bool |
| | | StartTimeMax int64 |
| | | StartTimeMin int64 |
| | | StatusList []OrderStatus |
| | | } |
| | | ) |
| | | |
| | | type OrderStatus int |
| | | |
| | | const ( |
| | | OrderStatusUnFinished OrderStatus = 1 |
| | | OrderStatusFinished OrderStatus = 2 |
| | | OrderStatusWaitProcess OrderStatus = 1 |
| | | OrderStatusProcessing OrderStatus = 2 |
| | | OrderStatusFinished OrderStatus = 3 |
| | | ) |
| | | |
| | | func (slf *Order) TableName() string { |
| | |
| | | slf.StartTimeMax = ts |
| | | return slf |
| | | } |
| | | func (slf *OrderSearch) SetStartTimeMin(ts int64) *OrderSearch { |
| | | slf.StartTimeMin = ts |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OrderSearch) SetStatus(status OrderStatus) *OrderSearch { |
| | | slf.Status = status |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OrderSearch) SetStatusList(statusList []OrderStatus) *OrderSearch { |
| | | slf.StatusList = statusList |
| | | return slf |
| | | } |
| | | |
| | |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OrderSearch) SetId(id uint) *OrderSearch { |
| | | slf.ID = id |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OrderSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Model(&Order{}) |
| | | |
| | | if slf.OrderBy != "" { |
| | | db = db.Order(slf.OrderBy) |
| | | } |
| | | |
| | | if slf.ID != 0 { |
| | | db = db.Where("id = ?", slf.ID) |
| | | } |
| | | |
| | | if slf.WorkOrderID != "" { |
| | |
| | | db = db.Where("status = ?", slf.Status) |
| | | } |
| | | |
| | | if len(slf.StatusList) != 0 { |
| | | db = db.Where("status in ?", slf.StatusList) |
| | | } |
| | | |
| | | if slf.StartTimeMax != 0 { |
| | | db = db.Where("start_time <= ?", slf.StartTimeMax) |
| | | } |
| | | |
| | | if slf.StartTimeMin != 0 { |
| | | db = db.Where("start_time >= ?", slf.StartTimeMin) |
| | | } |
| | | |
| | | if slf.Preload { |
| | | db = db.Preload("InputMaterials").Preload("OutputMaterials") |
| | | } |