From 6b373cf70da0903a44ae3d7c4ebebae7c99dc2e4 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期二, 26 三月 2024 16:37:37 +0800 Subject: [PATCH] 采购单修改3 --- api/v1/purchase/purchase.go | 89 ++++++++++++++++++++++++++++++-------------- 1 files changed, 61 insertions(+), 28 deletions(-) diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go index d279143..3fb647d 100644 --- a/api/v1/purchase/purchase.go +++ b/api/v1/purchase/purchase.go @@ -387,33 +387,49 @@ } operationInfos := make([]purchaseRes.OperationInfo, 0) - for _, operation := range info.Operations { - var oi purchaseRes.OperationInfo - oi.Number = operation.ProductId - oi.Name = operation.ProductName - oi.OperationNumber = operation.Number - oi.Status = operation.Status - oi.Principal = data.Principal - oi.WarehouseName = data.Warehouse - if operation.OverTime != "" { - oi.OverTime = operation.OverTime - oi.OverAmount = operation.Amount - } else { - oi.SendAmount = operation.Amount - } - for _, products := range productList { - if products.Product.Number == operation.ProductId { - oi.Amount = products.Amount - oi.PurchasePrice = products.Price - oi.Total = products.Total - oi.Unit = products.Product.Unit - oi.Specifications = products.Product.Specifications - oi.ModelNumber = products.Product.ModelNumber - break + if len(info.Operations) > 0 { + for _, operation := range info.Operations { + var oi purchaseRes.OperationInfo + oi.Number = operation.ProductId + oi.Name = operation.ProductName + oi.OperationNumber = operation.Number + oi.Status = operation.Status + oi.Principal = data.Principal + oi.WarehouseName = data.Warehouse + if operation.OverTime != "" { + oi.OverTime = operation.OverTime + oi.OverAmount = operation.Amount + } else { + oi.SendAmount = operation.Amount } + for _, products := range productList { + if products.Product.Number == operation.ProductId { + oi.Amount = products.Amount + oi.PurchasePrice = products.Price + oi.Total = products.Total + oi.Unit = products.Product.Unit + oi.Specifications = products.Product.Specifications + oi.ModelNumber = products.Product.ModelNumber + break + } + } + operationInfos = append(operationInfos, oi) } - operationInfos = append(operationInfos, oi) + } else { + for _, products := range productList { + var oi purchaseRes.OperationInfo + oi.Number = products.Product.Number + oi.Name = products.Product.Name + oi.Amount = products.Amount + oi.PurchasePrice = products.Price + oi.Total = products.Total + oi.Unit = products.Product.Unit + oi.Specifications = products.Product.Specifications + oi.ModelNumber = products.Product.ModelNumber + operationInfos = append(operationInfos, oi) + } } + response.OkWithData(operationInfos, c) } @@ -425,20 +441,37 @@ // @Produce application/json // @Param id path int true "閲囪喘鍗旾D" true "閲囪喘鍗旾D" // @Success 200 {object} response.Response{msg=string} "鏂扮増鎻愪氦" -// @Router /purchase/newSubmit/{id} [get] +// @Router /purchase/newSubmit [post] func (e *PurchaseApi) NewSubmit(c *gin.Context) { - id, _ := strconv.Atoi(c.Param("id")) + var params purchaserequest.SubmitPurchase + err := c.ShouldBindJSON(¶ms) + if err != nil { + global.GVA_LOG.Error("Submit failed", zap.Error(err)) + response.FailWithMessage(err.Error(), c) + return + } + id := uint(params.Id) if id == 0 { response.FailWithMessage("鍙傛暟缂哄け", c) return } - data, err := service.NewPurchaseService().GetPurchase(uint(id)) + if params.Status == purchase.OrderStatusCanceled { + err = service.NewPurchaseService().Submit(params.Id, params.Status, "") + if err != nil { + global.GVA_LOG.Error("鎻愪氦澶辫触!", zap.Error(err)) + response.FailWithMessage("鎻愪氦澶辫触", c) + return + } + response.OkWithMessage("鎻愪氦鎴愬姛", c) + return + } + data, err := service.NewPurchaseService().GetPurchase(id) if err != nil { global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) response.FailWithMessage("鑾峰彇澶辫触", c) return } - productList, err := service.NewPurchaseService().GetPurchaseProductList(uint(id)) + productList, err := service.NewPurchaseService().GetPurchaseProductList(id) if err != nil { global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) response.FailWithMessage("鑾峰彇澶辫触", c) -- Gitblit v1.8.0