From 1884f07f084e0e7eabb540c4d04dd0b5154ae588 Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期日, 28 四月 2024 17:18:39 +0800
Subject: [PATCH] 供应商修改

---
 service/test/supplier.go       |    7 +++++++
 service/purchase/purchase.go   |   14 ++++++++++----
 model/test/request/supplier.go |    3 ++-
 3 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/model/test/request/supplier.go b/model/test/request/supplier.go
index 87d97cb..1a8c8ad 100644
--- a/model/test/request/supplier.go
+++ b/model/test/request/supplier.go
@@ -20,5 +20,6 @@
 
 type SupplierProduct struct {
 	request.PageInfo
-	SupplierId uint `json:"supplierId" form:"supplierId"`
+	SupplierId uint   `json:"supplierId" form:"supplierId"`
+	Number     string `json:"number" form:"number"`
 }
diff --git a/service/purchase/purchase.go b/service/purchase/purchase.go
index aeba8f3..69d9828 100644
--- a/service/purchase/purchase.go
+++ b/service/purchase/purchase.go
@@ -138,12 +138,16 @@
 	var purchaseList = make([]*purchase.Purchase, 0)
 	if info.Keyword != "" {
 		kw := "%" + info.Keyword + "%"
-		db.Distinct("srm_purchase.id").Joins("left join srm_purchase_products on srm_purchase_products.purchase_id = srm_purchase.id").
+		db = db.Select("srm_purchase.id").Joins("left join srm_purchase_products on srm_purchase_products.purchase_id = srm_purchase.id").
 			Joins("left join srm_supplier_material on srm_supplier_material.supplier_id = srm_purchase.id").
 			Joins("left join srm_supplier on srm_supplier.Id = srm_purchase.supplier_id").
 			Where("srm_purchase.name like ? or srm_purchase.source_order like ? or srm_purchase.number like ?", kw, kw, kw).
 			Or("srm_supplier_material.name like ?", kw).
 			Or("srm_supplier.name like ?", kw)
+		err = db.Count(&total).Error
+		if err != nil {
+			return purchaseList, total, err
+		}
 		err = db.Limit(limit).Offset(offset).Find(&ids).Error
 		if err != nil {
 			return purchaseList, total, err
@@ -151,9 +155,11 @@
 	} else if info.SupplierId != 0 {
 		db = db.Where("supplier_id = ?", info.SupplierId)
 	}
-	err = db.Count(&total).Error
-	if err != nil || total == 0 {
-		return purchaseList, total, err
+	if total == 0 {
+		err = db.Count(&total).Error
+		if err != nil || total == 0 {
+			return purchaseList, total, err
+		}
 	}
 	if len(ids) != 0 {
 		db = global.GVA_DB.Model(&purchase.Purchase{})
diff --git a/service/test/supplier.go b/service/test/supplier.go
index b4a792a..467c151 100644
--- a/service/test/supplier.go
+++ b/service/test/supplier.go
@@ -54,6 +54,10 @@
 	db := global.GVA_DB.Model(&test.Supplier{})
 	var ss []test.Supplier
 	// 濡傛灉鏈夋潯浠舵悳绱� 涓嬫柟浼氳嚜鍔ㄥ垱寤烘悳绱㈣鍙�
+	if info.Keyword != "" {
+		keyword := "%" + info.Name + "%"
+		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)
 	}
@@ -112,6 +116,9 @@
 	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

--
Gitblit v1.8.0