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

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

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

Loading…
Cancel
Save