| | |
| | | Keyword string |
| | | Orm *gorm.DB |
| | | Preload bool |
| | | Disuse bool |
| | | } |
| | | ) |
| | | |
| | |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OperationSearch) SetNumber(number string) *OperationSearch { |
| | | slf.Number = number |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OperationSearch) SetSourceNumber(sourceNumber string) *OperationSearch { |
| | | slf.SourceNumber = sourceNumber |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OperationSearch) SetDisuse(disuse bool) *OperationSearch { |
| | | slf.Disuse = disuse |
| | | return slf |
| | | } |
| | | |
| | | func (slf *OperationSearch) build() *gorm.DB { |
| | | var db = slf.Orm.Model(&Operation{}) |
| | | |
| | |
| | | db = db.Order(slf.Order) |
| | | } |
| | | |
| | | //if slf.Keyword != "" { |
| | | // db = db.Where("product_name like ?", fmt.Sprintf("%%%v%%", slf.Keyword)) |
| | | //} |
| | | if slf.Keyword != "" { |
| | | db = db.Where("product_name like ?", fmt.Sprintf("%%%v%%", slf.Keyword)) |
| | | } |
| | | |
| | | if slf.SourceNumber != "" { |
| | | db = db.Where("source_number like ?", fmt.Sprintf("%%%v%%", slf.SourceNumber)) |
| | | } |
| | | |
| | | if slf.Number != "" { |
| | | db = db.Where("number like ?", fmt.Sprintf("%%%v%%", slf.Number)) |
| | | } |
| | | |
| | | if slf.OperationTypeId != 0 { |
| | | db.Where("operation_type_id = ?", slf.OperationTypeId) |
| | |
| | | db = db.Model(&Operation{}).Preload("Details").Preload("FromLocation").Preload("ToLocation") |
| | | } |
| | | |
| | | if slf.Disuse { |
| | | db = db.Where("operation_type_id = ?", 0) |
| | | } |
| | | |
| | | return db |
| | | } |
| | | |