From c113e72efaceba986a733a44f999c567e4296fdb Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期五, 20 十月 2023 10:08:56 +0800 Subject: [PATCH] 位置报表修改 --- controllers/report_forms_controller.go | 31 ++++++++++++++++++++++++++++--- 1 files changed, 28 insertions(+), 3 deletions(-) diff --git a/controllers/report_forms_controller.go b/controllers/report_forms_controller.go index 85a48da..b3a8e53 100644 --- a/controllers/report_forms_controller.go +++ b/controllers/report_forms_controller.go @@ -186,21 +186,46 @@ if params.PageInfo.Check() { search.SetPage(params.Page, params.PageSize) } - find, total, err := search.SetKeyword(params.KeyWord).FindByPage() + //鏌ヨ浣嶇疆 + locations, err := models.NewLocationSearch().SetJointName(params.WareHouseCode).FindAll() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏌ヨ浣嶇疆澶辫触") + return + } + ids := make([]int, 0) + for _, location := range locations { + 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() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "鏌ヨ鏁伴噺澶辫触") return } var result []response.LocationForms for _, product := range find { 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.Amount = product.Product.Amount resp.Unit = product.Product.Unit - resp.Value = product.Product.Amount.Mul(product.Product.Cost) + resp.Value = resp.Amount.Mul(product.Product.Cost) result = append(result, resp) } util.ResponseFormatList(c, code.Success, result, int(total)) -- Gitblit v1.8.0