From be19d957b591ad27a47057929c4a8694f0776a1a Mon Sep 17 00:00:00 2001
From: jiangshuai <291802688@qq.com>
Date: 星期四, 26 十月 2023 10:15:26 +0800
Subject: [PATCH] bug修改

---
 controllers/report_forms_controller.go |   39 ++++++++++++---------------------------
 1 files changed, 12 insertions(+), 27 deletions(-)

diff --git a/controllers/report_forms_controller.go b/controllers/report_forms_controller.go
index 79ee050..88dc93a 100644
--- a/controllers/report_forms_controller.go
+++ b/controllers/report_forms_controller.go
@@ -183,10 +183,7 @@
 		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�")
 		return
 	}
-	search := models.NewLocationProductSearch()
-	if params.PageInfo.Check() {
-		search.SetPage(params.Page, params.PageSize)
-	}
+
 	//鏌ヨ浣嶇疆
 	locations, err := models.NewLocationSearch().SetJointName(params.WareHouseCode).FindAll()
 	if err != nil {
@@ -198,36 +195,24 @@
 		ids = append(ids, location.Id)
 	}
 
-	find, total, err := search.SetKeyword(params.KeyWord).SetProductId(params.ProductId).SetLocationIds(ids).FindByPage()
-	if err != nil {
-		util.ResponseFormat(c, code.RequestParamError, "鏌ヨ涓婃灦瑙勫垯澶辫触")
-		return
-	}
-	ruleIds := make([]int, 0)
-	for _, product := range find {
-		ruleIds = append(ruleIds, product.Id)
-	}
-	amounts, err := models.NewLocationProductAmountSearch().SetLocationProductIds(ruleIds).Find()
+	amounts, total, err := models.NewLocationProductAmountSearch().SetPage(params.Page, params.PageSize).SetPreload(true).SetKeyword(params.KeyWord).SetProductId(params.ProductId).SetLocationIds(ids).FindByPage()
 	if err != nil {
 		util.ResponseFormat(c, code.RequestParamError, "鏌ヨ鏁伴噺澶辫触")
 		return
 	}
+
 	var result []response.LocationForms
-	for _, product := range find {
+	for _, amount := range amounts {
 		var resp response.LocationForms
-		for _, amount := range amounts {
-			if product.Id == amount.LocationProductId {
-				resp.Amount = amount.Amount
-				break
-			}
-		}
-		resp.LocationName = product.Location.Name
-		resp.ProduceId = product.Product.ID
-		resp.ProductName = product.Product.Name
-		resp.ProductTypeName = product.ProductCategory.Name
-		resp.Unit = product.Product.Unit
-		resp.Value = resp.Amount.Mul(product.Product.Cost)
+		resp.Amount = amount.Amount
+		resp.LocationName = amount.Location.Name
+		resp.ProduceId = amount.Product.ID
+		resp.ProductName = amount.Product.Name
+		resp.ProductTypeName = amount.ProductCategory.Name
+		resp.Unit = amount.Product.Unit
+		resp.Value = resp.Amount.Mul(amount.Product.Cost)
 		result = append(result, resp)
 	}
+
 	util.ResponseFormatList(c, code.Success, result, int(total))
 }

--
Gitblit v1.8.0