From ba1c2d978ccf7086308c33a65b0c691240368f3a Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sat, 12 Aug 2023 02:15:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=B9=E9=85=8D=E9=87=87=E8=B4=AD=E6=96=B9?= =?UTF-8?q?=E6=A1=88=E6=9C=AA=E5=AE=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrder/PurchaseOrderBusiness.cs | 45 +++++++++++++------ 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index 3bee9f6..a4eed99 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -1182,25 +1182,42 @@ namespace BBWYB.Server.Business #endregion #region 匹配采购单所使用到的采购方案 - var assocationOrderCostDetailList = new List(); - var purchaseSchemeGroups = purchaseSchemeSkuList.GroupBy(s => s.SkuPurchaseSchemeId); var cargoParamList = new List(); - foreach (var schemeGroup in purchaseSchemeGroups) + foreach (var scheme in purchaseSchemeList) { - var schemePurchaseSkuList = schemeGroup.ToList(); - if (schemePurchaseSkuList.Any(psku => purchaseOrderSimpleInfo.ItemList.Count(x => x.SkuId == psku.PurchaseSkuId) == 0)) + var samePurchaserProductList = scheme.PurchaseSchemeProductList.Where(psp => psp.PurchaserId == purchaserId).ToList(); + if (samePurchaserProductList.Count() == 0) continue; - cargoParamList.AddRange(schemePurchaseSkuList.Select(x => new CargoParamRequest() - { - BelongSkuId = x.SkuId, - ProductId = x.PurchaseProductId, - SkuId = x.PurchaseSkuId, - Quantity = dbOrderSkuList.FirstOrDefault(s => s.SkuId == x.SkuId)?.ItemTotal ?? 1, - SchemeId = x.SkuPurchaseSchemeId, - SpecId = x.PurchaseSkuSpecId - })); + foreach (var schemeProduct in samePurchaserProductList) + { + + } } + if (cargoParamList.Count() == 0) + throw new BusinessException("未匹配到采购方案"); + + + var assocationOrderCostDetailList = new List(); + + //var purchaseSchemeGroups = purchaseSchemeSkuList.GroupBy(s => s.SkuPurchaseSchemeId); + + //foreach (var schemeGroup in purchaseSchemeGroups) + //{ + // var schemePurchaseSkuList = schemeGroup.ToList(); + // if (schemePurchaseSkuList.Any(psku => purchaseOrderSimpleInfo.ItemList.Count(x => x.SkuId == psku.PurchaseSkuId) == 0)) + // continue; + // cargoParamList.AddRange(schemePurchaseSkuList.Select(x => new CargoParamRequest() + // { + // BelongSkuId = x.SkuId, + // ProductId = x.PurchaseProductId, + // SkuId = x.PurchaseSkuId, + // Quantity = dbOrderSkuList.FirstOrDefault(s => s.SkuId == x.SkuId)?.ItemTotal ?? 1, + // SchemeId = x.SkuPurchaseSchemeId, + // SpecId = x.PurchaseSkuSpecId + // })); + //} + var belongSkuGroups = cargoParamList.GroupBy(p => p.BelongSkuId); var purchaseSkuTotalQuantity = cargoParamList.Sum(x => x.Quantity); foreach (var belongSkuGroup in belongSkuGroups)