From a0125ef3d6ce35be7b6dc4919c4192dba4a7329a Mon Sep 17 00:00:00 2001 From: jiangshuai <291802688@qq.com> Date: 星期四, 16 十一月 2023 14:33:51 +0800 Subject: [PATCH] 报废数量bug --- controllers/product_controller.go | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/controllers/product_controller.go b/controllers/product_controller.go index fa65e70..054b4ca 100644 --- a/controllers/product_controller.go +++ b/controllers/product_controller.go @@ -15,7 +15,6 @@ "wms/models" "wms/pkg/logx" "wms/request" - "wms/utils" ) type ProductController struct { @@ -34,6 +33,10 @@ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟瑙f瀽澶辫触锛屾暟鎹被鍨嬮敊璇�") return } + if params.ID == "" { + util.ResponseFormat(c, code.RequestParamError, "浜у搧缂栫爜涓嶈兘涓虹┖") + return + } if params.Name == "" { util.ResponseFormat(c, code.RequestParamError, "浜у搧鍚嶇О涓嶈兘涓虹┖") return @@ -46,7 +49,7 @@ util.ResponseFormat(c, code.RequestParamError, "鍗曚綅涓嶈兘涓虹┖") return } - params.ID = utils.GetUUID() + //params.ID = utils.GetUUID() err := models.NewMaterialSearch().Create(¶ms) if err != nil { util.ResponseFormat(c, code.RequestParamError, "浜у搧淇℃伅淇濆瓨澶辫触") @@ -125,8 +128,7 @@ product.PredictionAmount = product.Amount.Add(reorderAmount.TotalAmount) var statisticsList []*request.ProductStatistics - if err := models.NewOperationSearch().Orm. - Table("wms_operation"). + if err := models.NewOperationSearch().Orm.Table("wms_operation"). InnerJoins("INNER JOIN wms_operation_details on wms_operation_details.operation_id=wms_operation.id"). Select("SUM(wms_operation_details.amount) as total_amount,wms_operation.base_operation_type"). Where("wms_operation_details.product_id=? and wms_operation.`status`=? and wms_operation.base_operation_type in (?)", product.ID, constvar.OperationStatus_Finish, []constvar.BaseOperationType{constvar.BaseOperationTypeIncoming, constvar.BaseOperationTypeOutgoing, constvar.BaseOperationTypeDisuse}). @@ -146,6 +148,16 @@ product.OutputAmount = product.OutputAmount.Add(v.TotalAmount) } } + reorderRules, rulesTotal, err := models.NewReorderRuleSearch().SetProductId(product.ID).Find() + if err != nil { + util.ResponseFormat(c, code.RequestParamError, "閲嶈璐ц鍒欑粺璁″け璐�") + return + } + if rulesTotal == 1 { + product.MinInventoryRule = reorderRules[0].MinInventory + product.MaxInventoryRule = reorderRules[0].MaxInventory + } + product.ReorderRuleNum = rulesTotal } util.ResponseFormatList(c, code.Success, products, int(total)) } @@ -563,7 +575,7 @@ locAmount, res := models.NewLocationProductAmountSearch(). SetProductId(v.ID). - SetLocationId(operation.ToLocationID). + SetLocationId(operation.FromLocationID). FirstRes() if res.Error != nil { return err @@ -680,7 +692,7 @@ search := models.NewOperationSearch().SetPage(params.Page, params.PageSize).SetPreload(true).SetOrder("created_at desc") search.SetOrm(search.Orm.InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").Where("wms_operation_details.product_id=? and (wms_operation.from_location_id=? or wms_operation.to_location_id=?)", params.ProductId, params.LocationId, params.LocationId)) - list, total, err := search.Find() + list, total, err := search.SetBaseOperationType(constvar.BaseOperationTypeAdjust).Find() if err != nil { util.ResponseFormat(c, code.RequestError, "鏌ユ壘澶辫触:"+err.Error()) return -- Gitblit v1.8.0