| | |
| | | DeliveryTime: p.DeliveryTime, |
| | | ShippingDuration: p.ShippingDuration, |
| | | Specifications: p.Specifications, |
| | | CategoryName: p.CategoryName, |
| | | ModelNumber: p.ModelNumber, |
| | | }) |
| | | } |
| | | |
| | |
| | | var ps []test.SupplierMaterial |
| | | //搜索框合一添加查询条件 |
| | | if info.Keyword != "" { |
| | | db = db.Where("srm_supplier_material.name LIKE ?", "%"+info.Keyword+"%").Joins("srm_supplier").Or("srm_supplier.name LIKE ?", "%"+info.Keyword+"%") |
| | | kw := "%" + info.Keyword + "%" |
| | | if info.SupplierId == 0 { |
| | | db = db.Where("`srm_supplier_material`.name LIKE ?", kw).Joins("Supplier").Or("Supplier.name LIKE ?", kw) |
| | | } else { |
| | | db = db.Where("name LIKE ? OR number LIKE ? OR specifications LIKE ?", kw, kw, kw) |
| | | } |
| | | |
| | | } |
| | | if info.Name != "" { |
| | | db = db.Where("name LIKE ?", "%"+info.Name+"%") |
| | |
| | | db = db.Where("number LIKE ?", "%"+info.Number+"%") |
| | | } |
| | | |
| | | supplierIds := []uint{0} |
| | | if info.SupplierId != 0 { |
| | | db = db.Where("supplier_id = ?", info.SupplierId) |
| | | supplierIds = append(supplierIds, info.SupplierId) |
| | | } |
| | | db = db.Where("supplier_id in (?)", supplierIds) |
| | | |
| | | err = db.Count(&total).Error |
| | | if err != nil { |
| | | return |
| | | } |
| | | |
| | | err = db.Limit(limit).Offset(offset).Preload("Supplier").Find(&ps).Error |
| | | err = db.Limit(limit).Offset(offset).Order("id desc").Preload("Supplier").Find(&ps).Error |
| | | return ps, total, err |
| | | } |
| | | |
| | |
| | | } |
| | | return |
| | | } |
| | | |
| | | // GetMaterials 获取物料 |
| | | func (pService *ProductService) GetMaterials(info testReq.ProductSearch) (list []test.Material, total int64, err error) { |
| | | limit := info.PageSize |
| | | offset := info.PageSize * (info.Page - 1) |
| | | // 创建db |
| | | db := global.GVA_DB.Model(&test.Material{}) |
| | | var ps []test.Material |
| | | if info.Keyword != "" { |
| | | db = db.Where("name LIKE ? or id LIKE ?", "%"+info.Keyword+"%", "%"+info.Keyword+"%") |
| | | } |
| | | |
| | | //类型为采购 |
| | | db = db.Where("purchase_types LIKE ?", "%1%") |
| | | |
| | | db = db.Where("is_storage = ?", 1) |
| | | |
| | | err = db.Count(&total).Error |
| | | if err != nil { |
| | | return |
| | | } |
| | | |
| | | err = db.Limit(limit).Offset(offset).Find(&ps).Error |
| | | return ps, total, err |
| | | } |