From 1572f45e72cc0fa15c029f9ee2a08474104435e6 Mon Sep 17 00:00:00 2001 From: selfcheer <selfcheer@gmail.com> Date: 星期五, 19 七月 2024 00:48:43 +0800 Subject: [PATCH] 采购单产品列表去掉过滤重复产品的逻辑 --- api/v1/purchase/purchase.go | 76 ++++++++++++++++++++----------------- 1 files changed, 41 insertions(+), 35 deletions(-) diff --git a/api/v1/purchase/purchase.go b/api/v1/purchase/purchase.go index b81fe5a..398c153 100644 --- a/api/v1/purchase/purchase.go +++ b/api/v1/purchase/purchase.go @@ -10,6 +10,7 @@ "srm/model/common/response" "srm/model/purchase" purchaserequest "srm/model/purchase/request" + "srm/proto/common" "srm/proto/purchase_wms" "strconv" "strings" @@ -238,13 +239,13 @@ return } warehouse := "" + data, err := service.NewPurchaseService().GetPurchase(uint(params.Id)) + if err != nil { + global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) + response.FailWithMessage("鑾峰彇澶辫触", c) + return + } if params.Status == purchase.OrderStatusReceived { - data, err := service.NewPurchaseService().GetPurchase(uint(params.Id)) - if err != nil { - global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) - response.FailWithMessage("鑾峰彇澶辫触", c) - return - } productList, err := service.NewPurchaseService().GetPurchaseProductList(uint(params.Id)) if err != nil { global.GVA_LOG.Error("鑾峰彇澶辫触!", zap.Error(err)) @@ -260,11 +261,12 @@ } client := purchase_wms.NewPurchaseServiceClient(purchase_wms.PurchaseConn) resp, err := client.PurchaseToWms(context.Background(), &purchase_wms.PurchaseToWmsRequest{ - Number: data.Number, - SupplierName: data.Supplier.Name, - Product: product, - Source: "SRM_PURCHASE", - OperationSource: purchase_wms.OperationSource_OperationSourcePurchase, + Number: data.Number, + SupplierName: data.Supplier.Name, + Product: product, + Source: "SRM_PURCHASE", + OperationSource: common.OperationSource_OperationSourcePurchase, + SalesDetailsNumber: data.SourceOrder, }) if err != nil { global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err)) @@ -397,14 +399,14 @@ var operationInfos purchaseRes.OperationInfo productInfos := make([]purchaseRes.ProductInfo, 0) inWarehouseInfos := make([]purchaseRes.InWarehouseInfo, 0) - productMap := make(map[string]*purchaseRes.ProductInfo) + //productMap := make(map[string]*purchaseRes.ProductInfo) if len(info.Operations) > 0 { for _, operation := range info.Operations { var pi purchaseRes.ProductInfo var iwi purchaseRes.InWarehouseInfo - if p, ok := productMap[operation.ProductId]; ok { - pi = *p - } + //if p, ok := productMap[operation.ProductId]; ok { + // pi = *p + //} pi.Number = operation.ProductId pi.Name = operation.ProductName iwi.Number = operation.ProductId @@ -413,7 +415,7 @@ iwi.Status = operation.Status iwi.Principal = data.Principal iwi.WarehouseName = data.Warehouse - if operation.OverTime != "" { + if operation.OverTime != "" && operation.Status == 4 { iwi.OverTime = operation.OverTime iwi.OverAmount = operation.Amount pi.OverAmount = pi.OverAmount + operation.Amount @@ -436,7 +438,8 @@ } } inWarehouseInfos = append(inWarehouseInfos, iwi) - productMap[operation.ProductId] = &pi + //productMap[operation.ProductId] = &pi + productInfos = append(productInfos, pi) } } else { for _, products := range productList { @@ -455,12 +458,13 @@ break } } - productMap[pi.Number] = &pi + //productMap[pi.Number] = &pi + productInfos = append(productInfos, pi) } } - for _, productInfo := range productMap { - productInfos = append(productInfos, *productInfo) - } + //for _, productInfo := range productMap { + // productInfos = append(productInfos, *productInfo) + //} operationInfos.InWarehouseInfos = inWarehouseInfos operationInfos.ProductInfos = productInfos @@ -681,13 +685,14 @@ } 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, - OperationSource: purchase_wms.OperationSource_OperationSourcePurchase, + Number: purchaseData.Number, + SupplierName: purchaseData.Supplier.Name, + SupplierId: int64(purchaseData.SupplierId), + Product: product, + Source: "SRM_PURCHASE", + WarehouseName: purchaseData.Warehouse, + OperationSource: common.OperationSource_OperationSourcePurchase, + SalesDetailsNumber: purchaseData.SourceOrder, }) if err != nil { global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err)) @@ -768,13 +773,14 @@ } 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, - OperationSource: purchase_wms.OperationSource_OperationSourcePurchase, + Number: purchaseData.Number, + SupplierName: purchaseData.Supplier.Name, + SupplierId: int64(purchaseData.SupplierId), + Product: product, + Source: "SRM_PURCHASE", + WarehouseName: purchaseData.Warehouse, + OperationSource: common.OperationSource_OperationSourcePurchase, + SalesDetailsNumber: purchaseData.SourceOrder, }) if err != nil { global.GVA_LOG.Error("grpc璋冪敤澶辫触!", zap.Error(err)) -- Gitblit v1.8.0