Browse Source

匹配采购方案未完

yijia
shanji 2 years ago
parent
commit
ba1c2d978c
  1. 45
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

45
BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -1182,25 +1182,42 @@ 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);
foreach (var belongSkuGroup in belongSkuGroups)

Loading…
Cancel
Save