From 19c81eccddd39e4d4d6769093c7210809e7b752e Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期二, 14 十一月 2023 18:39:38 +0800 Subject: [PATCH] srm添加进货单 --- controllers/product_controller.go | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-) diff --git a/controllers/product_controller.go b/controllers/product_controller.go index fa65e70..a7e5abd 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)) } -- Gitblit v1.8.0