shanji 2 years ago
parent
commit
b249036627
  1. 45
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  2. 5
      BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs

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

@ -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

5
BBWYB.Server.Model/Db/PurchaseScheme/PurchaseScheme.cs

@ -103,6 +103,11 @@ namespace BBWYB.Server.Model
/// 最近议价日期
/// </summary>
public DateTime? LastBargainingTime { get; set; }
/// <summary>
/// 采购件数
/// </summary>
public int? PurchasedItemCount { get; set; } = 0;
}
}

Loading…
Cancel
Save