| | |
| | | if slf.Name != "" { |
| | | db = db.Where("name = ?", slf.Name) |
| | | } |
| | | if slf.Number != "" { |
| | | db = db.Where("number = ?", slf.Number) |
| | | } |
| | | |
| | | if len(slf.SearchMap) > 0 { |
| | | for key, value := range slf.SearchMap { |
| | |
| | | |
| | | case int: |
| | | case float64: |
| | | if key == "member_id" || key == "budget" || key == "projected_amount" { |
| | | if key == "member_id" || key == "budget" || key == "projected_amount" || key == "client_id" { |
| | | db = db.Where(key+" = ?", v) |
| | | } |
| | | } |
| | |
| | | db = db.Limit(slf.PageSize).Offset((slf.PageNum - 1) * slf.PageSize) |
| | | } |
| | | |
| | | err := db.Preload("SaleType").Preload("RegularCustomers").Preload("SalesSources").Preload("Member").Preload("SaleStage").Preload("Possibility").Preload("CollectionProjections").Preload("Client").Preload("Contact.Province").Preload("Contact.City").Order("id desc").Find(&records).Error |
| | | err := db.Preload("SaleType").Preload("RegularCustomers").Preload("SalesSources").Preload("Member").Preload("SaleStage").Preload("Possibility").Preload("CollectionProjections").Preload("Client").Preload("Province").Preload("City").Order("id desc").Find(&records).Error |
| | | return records, total, err |
| | | } |
| | | |
| | | func (slf *SaleChanceSearch) Count() (int64, error) { |
| | | var db = slf.build() |
| | | var total int64 |
| | | err := db.Count(&total).Error |
| | | return total, err |
| | | } |
| | | |
| | | func (slf *SaleChanceSearch) SetId(id int) *SaleChanceSearch { |
| | |
| | | return slf |
| | | } |
| | | |
| | | func (slf *SaleChanceSearch) SetNumber(number string) *SaleChanceSearch { |
| | | slf.Number = number |
| | | return slf |
| | | } |
| | | |
| | | func (slf *SaleChanceSearch) SetSearchMap(searchMap map[string]interface{}) *SaleChanceSearch { |
| | | slf.SearchMap = searchMap |
| | | return slf |