| | |
| | | return "quotation" |
| | | } |
| | | |
| | | func NewQuotationSearch() *QuotationSearch { |
| | | func NewQuotationSearch(db *gorm.DB) *QuotationSearch { |
| | | if db == nil { |
| | | db = mysqlx.GetDB() |
| | | } |
| | | return &QuotationSearch{ |
| | | Orm: mysqlx.GetDB(), |
| | | Orm: db, |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | if key == "contact_name" { |
| | | db = db.Joins("Contact").Where("LIKE", "%"+v+"%") |
| | | db = db.Joins("Contact").Where("Contact.name LIKE ?", "%"+v+"%") |
| | | } |
| | | |
| | | if key == "member_name" { |
| | | db = db.Joins("Member").Where("Member.username LIKE ?", "%"+v+"%") |
| | | } |
| | | |
| | | case int: |
| | |
| | | func (slf *QuotationSearch) Find() (*Quotation, error) { |
| | | var db = slf.build() |
| | | var record Quotation |
| | | err := db.Preload("Client").Preload("Contact").Preload("SaleChance").First(&record).Error |
| | | err := db.Preload("Products").Preload("Client").Preload("Contact").Preload("SaleChance").First(&record).Error |
| | | return &record, err |
| | | } |
| | | |
| | |
| | | db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) |
| | | } |
| | | |
| | | err := db.Preload("Member").Preload("QuotationStatus").Preload("Client").Preload("Contact").Order("id desc").Find(&records).Error |
| | | err := db.Preload("Products").Preload("Member").Preload("QuotationStatus").Preload("Client").Preload("Contact").Order("id desc").Find(&records).Error |
| | | return records, total, err |
| | | } |
| | | |
| | |
| | | slf.SearchMap = searchMap |
| | | return slf |
| | | } |
| | | func (slf *QuotationSearch) SetIds(ids []int) *QuotationSearch { |
| | | slf.Orm = slf.Orm.Where("id in (?)", ids) |
| | | return slf |
| | | } |