From c0f8f8d3a74dbdab4f6ab4926fc664d818fb50f2 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期四, 25 四月 2024 16:59:22 +0800 Subject: [PATCH] 获取供应商产品 --- service/test/supplier.go | 45 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 36 insertions(+), 9 deletions(-) diff --git a/service/test/supplier.go b/service/test/supplier.go index 4ce559f..b4a792a 100644 --- a/service/test/supplier.go +++ b/service/test/supplier.go @@ -11,42 +11,42 @@ } // CreateSupplier 鍒涘缓Supplier璁板綍 -// Author [piexlmax](https://github.com/piexlmax) func (sService *SupplierService) CreateSupplier(s *test.Supplier) (err error) { err = global.GVA_DB.Create(s).Error return err } // DeleteSupplier 鍒犻櫎Supplier璁板綍 -// Author [piexlmax](https://github.com/piexlmax) func (sService *SupplierService) DeleteSupplier(s test.Supplier) (err error) { err = global.GVA_DB.Delete(&s).Error return err } // DeleteSupplierByIds 鎵归噺鍒犻櫎Supplier璁板綍 -// Author [piexlmax](https://github.com/piexlmax) func (sService *SupplierService) DeleteSupplierByIds(ids request.IdsReq) (err error) { err = global.GVA_DB.Delete(&[]test.Supplier{}, "id in ?", ids.Ids).Error return err } // UpdateSupplier 鏇存柊Supplier璁板綍 -// Author [piexlmax](https://github.com/piexlmax) func (sService *SupplierService) UpdateSupplier(s test.Supplier) (err error) { err = global.GVA_DB.Updates(&s).Error return err } // GetSupplier 鏍规嵁id鑾峰彇Supplier璁板綍 -// Author [piexlmax](https://github.com/piexlmax) func (sService *SupplierService) GetSupplier(id uint) (s test.Supplier, err error) { - err = global.GVA_DB.Where("id = ?", id).First(&s).Error + err = global.GVA_DB.Model(&test.Supplier{}).Where("id = ?", id).First(&s).Error + return +} + +// GetSupplierByNumber 鏍规嵁缂栫爜鑾峰彇Supplier璁板綍 +func (sService *SupplierService) GetSupplierByNumber(number string) (s test.Supplier, err error) { + err = global.GVA_DB.Model(&test.Supplier{}).Where("number = ?", number).Preload("Contract").First(&s).Error return } // GetSupplierInfoList 鍒嗛〉鑾峰彇Supplier璁板綍 -// Author [piexlmax](https://github.com/piexlmax) func (sService *SupplierService) GetSupplierInfoList(info testReq.SupplierSearch) (list []test.Supplier, total int64, err error) { limit := info.PageSize offset := info.PageSize * (info.Page - 1) @@ -64,7 +64,7 @@ db = db.Where("number LIKE ?", "%"+info.Number+"%") } if info.SupplierType != "" { - db = db.Where("supplier_type LIKE ?", "%"+info.SupplierType+"%") + db = db.Where("srm_supplier_type LIKE ?", "%"+info.SupplierType+"%") } if info.Industry != "" { db = db.Where("industry LIKE ?", "%"+info.Industry+"%") @@ -78,12 +78,15 @@ if info.CreatedAt != nil { db = db.Where("created_at = ?", info.CreatedAt) } + if info.Status != 0 { + db = db.Where("status = ?", info.Status) + } err = db.Count(&total).Error if err != nil { return } - err = db.Debug().Limit(limit).Offset(offset).Preload("Contract").Find(&ss).Error + err = db.Debug().Limit(limit).Offset(offset).Order("created_at desc").Preload("Contract").Find(&ss).Error return ss, total, err } @@ -92,3 +95,27 @@ err = global.GVA_DB.Model(&test.Supplier{}).Where("id = ?", id).Update("status", status).Error return err } + +func (sService *SupplierService) MaxAutoIncr() (int, error) { + var total int64 + err := global.GVA_DB.Model(&test.Supplier{}).Count(&total).Error + return int(total), err +} + +func (sService *SupplierService) GetSupplierProduct(info testReq.SupplierProduct) ([]test.SupplierMaterial, int64, error) { + limit := info.PageSize + offset := info.PageSize * (info.Page - 1) + // 鍒涘缓db + db := global.GVA_DB.Model(&test.SupplierMaterial{}) + var ps []test.SupplierMaterial + var total int64 + if info.SupplierId > 0 { + db = db.Where("supplier_id = ?", info.SupplierId) + } + err := db.Count(&total).Error + if err != nil { + return ps, total, err + } + err = db.Limit(limit).Offset(offset).Order("id desc").Preload("Supplier").Find(&ps).Error + return ps, total, err +} -- Gitblit v1.8.0