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 #endregion
#region 匹配采购单所使用到的采购方案 #region 匹配采购单所使用到的采购方案
var assocationOrderCostDetailList = new List<AssocationOrderCostDetailResponse>();
var purchaseSchemeGroups = purchaseSchemeSkuList.GroupBy(s => s.SkuPurchaseSchemeId);
var cargoParamList = new List<CargoParamRequest>(); var cargoParamList = new List<CargoParamRequest>();
foreach (var schemeGroup in purchaseSchemeGroups) foreach (var scheme in purchaseSchemeList)
{ {
var schemePurchaseSkuList = schemeGroup.ToList(); var samePurchaserProductList = scheme.PurchaseSchemeProductList.Where(psp => psp.PurchaserId == purchaserId).ToList();
if (schemePurchaseSkuList.Any(psku => purchaseOrderSimpleInfo.ItemList.Count(x => x.SkuId == psku.PurchaseSkuId) == 0)) if (samePurchaserProductList.Count() == 0)
continue; continue;
cargoParamList.AddRange(schemePurchaseSkuList.Select(x => new CargoParamRequest() foreach (var schemeProduct in samePurchaserProductList)
{ {
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
}));
} }
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 belongSkuGroups = cargoParamList.GroupBy(p => p.BelongSkuId);
var purchaseSkuTotalQuantity = cargoParamList.Sum(x => x.Quantity); var purchaseSkuTotalQuantity = cargoParamList.Sum(x => x.Quantity);
foreach (var belongSkuGroup in belongSkuGroups) foreach (var belongSkuGroup in belongSkuGroups)

Loading…
Cancel
Save