|
|
@ -506,29 +506,38 @@ namespace BBWYB.Server.Business |
|
|
|
#endregion
|
|
|
|
} |
|
|
|
|
|
|
|
#region 更新采购方案
|
|
|
|
#region 更新采购方案/配件
|
|
|
|
{ |
|
|
|
var allCargoParamList = new List<CargoParamRequest>(); |
|
|
|
|
|
|
|
request.CargoParamGroupList.ForEach(x => allCargoParamList.AddRange(x.CargoParamList)); |
|
|
|
|
|
|
|
var cargoParamGroupsBySchemeList = allCargoParamList.GroupBy(c => c.SchemeId); |
|
|
|
foreach (var cargoParamGroupsByScheme in cargoParamGroupsBySchemeList) |
|
|
|
{ |
|
|
|
var schemeId = cargoParamGroupsByScheme.Key; |
|
|
|
var skuId = cargoParamGroupsByScheme.FirstOrDefault().BelongSkuId; |
|
|
|
|
|
|
|
var lastPurchasePriceCost = cargoParamGroupsByScheme.Sum(cargoParam => createdPurchaseOrderItemList.Where(x => x.SkuId == cargoParam.SkuId) |
|
|
|
.Select(x => x.Price * (cargoParam.PurchaseRatio ?? 1)) |
|
|
|
.DefaultIfEmpty(0M) |
|
|
|
.First()); |
|
|
|
var purchasedAmount = insertOrderCostDetails.Where(ocd => ocd.SkuId == skuId).Sum(ocd => ocd.SkuAmount); |
|
|
|
var update = fsql.Update<PurchaseScheme>(schemeId).Set(ps => ps.LastPurchaseTime, DateTime.Now) |
|
|
|
.Set(ps => ps.LastPurchasePriceCost, lastPurchasePriceCost) |
|
|
|
.Set(ps => ps.PurchasedCount + 1) |
|
|
|
.Set(ps => ps.PurchasedAmount + purchasedAmount); |
|
|
|
updatePurchaseSchemeList.Add(update); |
|
|
|
#region 更新采购方案
|
|
|
|
{ |
|
|
|
var cargoParamGroupsBySchemeList = allCargoParamList.GroupBy(c => c.SchemeId); |
|
|
|
foreach (var cargoParamGroupsByScheme in cargoParamGroupsBySchemeList) |
|
|
|
{ |
|
|
|
var schemeId = cargoParamGroupsByScheme.Key; |
|
|
|
var skuId = cargoParamGroupsByScheme.FirstOrDefault().BelongSkuId; |
|
|
|
var skuItemCount = orderSkus.FirstOrDefault(osku => osku.SkuId == skuId)?.ItemTotal ?? 0; |
|
|
|
|
|
|
|
var lastPurchasePriceCost = cargoParamGroupsByScheme.Sum(cargoParam => createdPurchaseOrderItemList.Where(x => x.SkuId == cargoParam.SkuId) |
|
|
|
.Select(x => x.Price * (cargoParam.PurchaseRatio ?? 1)) |
|
|
|
.DefaultIfEmpty(0M) |
|
|
|
.First()); |
|
|
|
var purchasedAmount = insertOrderCostDetails.Where(ocd => ocd.SkuId == skuId).Sum(ocd => ocd.SkuAmount); |
|
|
|
var update = fsql.Update<PurchaseScheme>(schemeId).Set(ps => ps.LastPurchaseTime, DateTime.Now) |
|
|
|
.Set(ps => ps.LastPurchasePriceCost, lastPurchasePriceCost) |
|
|
|
.Set(ps => ps.PurchasedCount + 1) |
|
|
|
.Set(ps => ps.PurchasedItemCount + skuItemCount) |
|
|
|
.Set(ps => ps.PurchasedAmount + purchasedAmount); |
|
|
|
updatePurchaseSchemeList.Add(update); |
|
|
|
} |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 更新采购配件
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|