From 96844c22ef3fba86a55e0af1b51bc1009d6fa950 Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期五, 20 十月 2023 11:57:48 +0800
Subject: [PATCH] 1.库存盘点bug修改

---
 models/location_product.go |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/models/location_product.go b/models/location_product.go
index bc98181..c3f26c6 100644
--- a/models/location_product.go
+++ b/models/location_product.go
@@ -90,7 +90,13 @@
 	}
 
 	if slf.Keyword != "" {
-		db = db.Where("product_name like ?", fmt.Sprintf("%%%v%%", slf.Keyword))
+		//db = db.Where("Product.name like ?", fmt.Sprintf("%%%v%%", slf.Keyword))
+		db.Joins("left join wms_location on wms_location_product.location_id = wms_location.id").
+			Joins("left join material on wms_location_product.product_id = material.id").
+			Joins("left join wms_product_category on wms_location_product.product_category_id = wms_product_category.id").
+			Where("wms_location.name like ?", fmt.Sprintf("%%%v%%", slf.Keyword)).
+			Or("material.name like ?", fmt.Sprintf("%%%v%%", slf.Keyword)).
+			Or("wms_product_category.name like ?", fmt.Sprintf("%%%v%%", slf.Keyword))
 	}
 
 	if slf.Preload {
@@ -171,7 +177,7 @@
 	if slf.PageNum*slf.PageSize > 0 {
 		db = db.Offset((slf.PageNum - 1) * slf.PageSize).Limit(slf.PageSize)
 	}
-	if err := db.Find(&records).Error; err != nil {
+	if err := db.Preload("Location").Preload("ProductCategory").Preload("Product").Find(&records).Error; err != nil {
 		return records, total, fmt.Errorf("find records err: %v", err)
 	}
 
@@ -184,7 +190,7 @@
 		db      = slf.build()
 	)
 
-	if err := db.Find(&records).Error; err != nil {
+	if err := db.Preload("Location").Preload("ProductCategory").Preload("Product").Find(&records).Error; err != nil {
 		return records, fmt.Errorf("find records err: %v", err)
 	}
 

--
Gitblit v1.8.0