|
|
@ -1182,24 +1182,41 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 匹配采购单所使用到的采购方案
|
|
|
|
var assocationOrderCostDetailList = new List<AssocationOrderCostDetailResponse>(); |
|
|
|
var purchaseSchemeGroups = purchaseSchemeSkuList.GroupBy(s => s.SkuPurchaseSchemeId); |
|
|
|
var cargoParamList = new List<CargoParamRequest>(); |
|
|
|
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<AssocationOrderCostDetailResponse>(); |
|
|
|
|
|
|
|
//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); |
|
|
|