From de4bcd1dead50b05f716bc5718be5540bdb96783 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期日, 28 四月 2024 17:23:29 +0800
Subject: [PATCH] fix

---
 service/test/supplier.go |   35 +++++++++++++++++++++++++++++++++--
 1 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/service/test/supplier.go b/service/test/supplier.go
index 082d181..0405acc 100644
--- a/service/test/supplier.go
+++ b/service/test/supplier.go
@@ -36,13 +36,13 @@
 
 // GetSupplier 鏍规嵁id鑾峰彇Supplier璁板綍
 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.Where("number = ?", number).First(&s).Error
+	err = global.GVA_DB.Model(&test.Supplier{}).Where("number = ?", number).Preload("Contract").First(&s).Error
 	return
 }
 
@@ -54,6 +54,10 @@
 	db := global.GVA_DB.Model(&test.Supplier{})
 	var ss []test.Supplier
 	// 濡傛灉鏈夋潯浠舵悳绱� 涓嬫柟浼氳嚜鍔ㄥ垱寤烘悳绱㈣鍙�
+	if info.Keyword != "" {
+		keyword := "%" + info.Keyword + "%"
+		db = db.Where("name LIKE ? or number LIKE ?", keyword, keyword)
+	}
 	if info.StartCreatedAt != nil && info.EndCreatedAt != nil {
 		db = db.Where("created_at BETWEEN ? AND ?", info.StartCreatedAt, info.EndCreatedAt)
 	}
@@ -95,3 +99,30 @@
 	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)
+	}
+	if info.Number != "" {
+		db = db.Where("number = ?", info.Number)
+	}
+	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