From 21c3a18da3d6cc53c7695d795a41dd6bee59f243 Mon Sep 17 00:00:00 2001 From: liujiandao <274878379@qq.com> Date: 星期六, 23 三月 2024 16:31:34 +0800 Subject: [PATCH] 采购单全部合格入库 --- api/v1/purchase/purchase.go | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 1 deletions(-) diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go index 188cdb2..ebcaad4 100644 --- a/api/v1/purchase/purchase.go +++ b/api/v1/purchase/purchase.go @@ -526,7 +526,7 @@ 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.SaveQualityInspectionInfo true "鍙傛暟" +// @Success 200 {object} response.Response{data=[]purchase.PurchaseProductConfirm} "鑾峰彇纭淇℃伅" +// @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) + + 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