From 9dfda3355efbbee2a148fe6d7031535a31a57769 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期六, 23 三月 2024 17:34:00 +0800 Subject: [PATCH] 采购单修改2 --- api/v1/purchase/purchase.go | 81 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 78 insertions(+), 3 deletions(-) diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go index 188cdb2..d279143 100644 --- a/api/v1/purchase/purchase.go +++ b/api/v1/purchase/purchase.go @@ -461,7 +461,7 @@ ppc.SurplusReceiveAmount = products.Amount list = append(list, &ppc) } - err = service.NewPurchaseService().SavePurchaseProductConfirm(list) + err = service.NewPurchaseService().SavePurchaseProductConfirm(list, true) if err != nil { global.GVA_LOG.Error("鎻愪氦澶辫触!", zap.Error(err)) @@ -519,14 +519,14 @@ } server := service.NewPurchaseService() - err = server.SavePurchaseProductConfirm(list) + err = server.SavePurchaseProductConfirm(list, false) if err != nil { global.GVA_LOG.Error("淇濆瓨澶辫触!", zap.Error(err)) response.FailWithMessage("淇濆瓨澶辫触", c) return } - err = server.SavePurchaseQualityInspection(list) + _, err = server.SavePurchaseQualityInspection(list) if err != nil { global.GVA_LOG.Error("淇濆瓨澶辫触!", zap.Error(err)) response.FailWithMessage("淇濆瓨澶辫触", c) @@ -641,3 +641,78 @@ } response.OkWithMessage("璐ㄦ鎴愬姛", c) } + +// AllProductInWarehouse +// @Tags Purchase +// @Summary 鍏ㄩ儴鍚堟牸鍏ュ簱 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body purchaserequest.PurchaseProductConfirmInfo true "鍙傛暟" +// @Success 200 {object} response.Response{} "鑾峰彇纭淇℃伅" +// @Router /purchase/allProductInWarehouse [post] +func (e *PurchaseApi) AllProductInWarehouse(c *gin.Context) { + var params []*purchaserequest.PurchaseProductConfirmInfo + err := c.ShouldBindJSON(¶ms) + if err != nil { + response.FailWithMessage(err.Error(), c) + return + } + + list := make([]*purchase.PurchaseProductConfirm, 0, len(params)) + if err := utils.AssignTo(params, &list); err != nil { + response.FailWithMessage(err.Error(), c) + return + } + + server := service.NewPurchaseService() + err = server.SavePurchaseProductConfirm(list, false) + + if err != nil { + global.GVA_LOG.Error("淇濆瓨澶辫触!", zap.Error(err)) + response.FailWithMessage("淇濆瓨澶辫触", c) + return + } + inspectionList, err := server.SavePurchaseQualityInspection(list) + if err != nil { + global.GVA_LOG.Error("淇濆瓨澶辫触!", zap.Error(err)) + response.FailWithMessage("淇濆瓨澶辫触", c) + return + } + purchaseData, err := server.GetPurchaseByNumber(list[0].PurchaseNumber) + if err != nil { + global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) + response.FailWithMessage("鑾峰彇澶辫触", c) + return + } + product := make([]*purchase_wms.PurchaseProduct, 0) + ids := make([]int, 0) + for _, inspection := range inspectionList { + var p purchase_wms.PurchaseProduct + p.Id = inspection.ProductId + p.Amount = inspection.Amount.IntPart() + product = append(product, &p) + ids = append(ids, int(inspection.ID)) + } + client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn) + _, err = client.PurchaseToWms(context.Background(), &purchase_wms.PurchaseToWmsRequest{ + Number: purchaseData.Number, + SupplierName: purchaseData.Supplier.Name, + SupplierId: int64(purchaseData.SupplierId), + Product: product, + Source: "SRM_PURCHASE", + WarehouseName: purchaseData.Warehouse, + }) + if err != nil { + global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err)) + response.FailWithMessage("grpc璋冪敤澶辫触", c) + return + } + err = server.UpdatePurchaseQualityInspection(ids, purchase.InWarehouse) + if err != nil { + global.GVA_LOG.Error("璐ㄦ澶辫触!", zap.Error(err)) + response.FailWithMessage("璐ㄦ澶辫触", c) + return + } + response.OkWithMessage("璐ㄦ鎴愬姛", c) +} -- Gitblit v1.8.0