From 5b36d36c8c98760d7a072d1df26715f90b110e1c Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Thu, 19 May 2022 03:32:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E9=87=8D=E5=A4=8D=E7=9A=84?= =?UTF-8?q?=E9=87=87=E8=B4=ADsku?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrder/PurchaseOrderBusiness.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index cc93656f..a309612b 100644 --- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -232,6 +232,27 @@ namespace BBWY.Server.Business if (dbOrder.OrderState != Model.Enums.OrderState.等待采购) throw new BusinessException("只能为等待采购的订单进行采购"); + #region 合并重复的采购sku + var repeatPurchaseSkuGroups = createOnlinePurchaseOrderRequest.CargoParamList.GroupBy(p => p.SkuId).ToList(); + foreach (var group in repeatPurchaseSkuGroups) + { + if (group.Count() > 1) + { + var repeatSkus = group.ToList(); + foreach (var repeatSku in repeatSkus) + createOnlinePurchaseOrderRequest.CargoParamList.Remove(repeatSku); + createOnlinePurchaseOrderRequest.CargoParamList.Add(new CargoParamRequest() + { + BelongSkuId = repeatSkus[0].BelongSkuId, + ProductId = repeatSkus[0].ProductId, + SkuId = repeatSkus[0].SkuId, + SpecId = repeatSkus[0].SpecId, + Quantity = repeatSkus.Sum(s => s.Quantity) + }); + } + } + #endregion + var orderSkus = fsql.Select().Where(osku => osku.OrderId == createOnlinePurchaseOrderRequest.OrderId).ToList(); var createOrderResponse = platformSDKBusinessList.FirstOrDefault(p => p.Platform == createOnlinePurchaseOrderRequest.Platform)