From bcbd47ebfa5cdb0762c2a33601dc68dd8dd564ec Mon Sep 17 00:00:00 2001
From: liujiandao <274878379@qq.com>
Date: 星期六, 23 九月 2023 13:39:18 +0800
Subject: [PATCH] 质检列表搜索修改

---
 service/purchase/purchase.go |   16 ++++++++++++++--
 1 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/service/purchase/purchase.go b/service/purchase/purchase.go
index 2251d8e..d07291e 100644
--- a/service/purchase/purchase.go
+++ b/service/purchase/purchase.go
@@ -127,6 +127,8 @@
 	limit := info.PageSize
 	offset := info.PageSize * (info.Page - 1)
 	db := global.GVA_DB.Model(&purchase.Purchase{})
+	var ids []uint
+	var purchaseList = make([]*purchase.Purchase, 0)
 	if info.Keyword != "" {
 		db.Distinct("purchases.id").Joins("left join purchase_products on purchase_products.purchase_id = purchases.id").
 			Joins("left join Product on Product.Id = purchase_products.product_id").
@@ -134,13 +136,23 @@
 			Where("purchases.name like ?", "%"+info.Keyword+"%").
 			Or("Product.name like ?", "%"+info.Keyword+"%").
 			Or("supplier.name like ?", "%"+info.Keyword+"%")
+		err = db.Limit(limit).Offset(offset).Find(&ids).Error
+		if err != nil {
+			return purchaseList, total, err
+		}
 	}
-	var purchaseList []*purchase.Purchase
+
 	err = db.Count(&total).Error
 	if err != nil {
 		return purchaseList, total, err
 	}
-	err = db.Limit(limit).Offset(offset).Find(&purchaseList).Error
+	if len(ids) != 0 {
+		db = global.GVA_DB.Model(&purchase.Purchase{})
+		err = db.Where("id in (?)", ids).Find(&purchaseList).Error
+	} else {
+		err = db.Limit(limit).Offset(offset).Find(&purchaseList).Error
+	}
+
 	return purchaseList, total, err
 }
 

--
Gitblit v1.8.0