diff --git a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs index 58b7cc9..51c4867 100644 --- a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs +++ b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs @@ -652,6 +652,21 @@ namespace BBWYB.Server.Business task.IsCompletedByCurrentTeam = task.BargainTeamTaskList.FirstOrDefault(sbt => sbt.BelongTeamId == uInfo.bargainTeam?.Id)?.IsOptimizationCompleted == true; task.SkuOptimizationTaskList = skuTaskList.Where(st => st.SpuOptimizationTaskId == task.Id).ToList(); + #region 组装sku优化任务的采购方案信息 + foreach (var skuTask in task.SkuOptimizationTaskList) + { + skuTask.RelationSchemeList = purchaseSchemeList.Where(ps => ps.SkuId == skuTask.SkuId) + .Select(ps => new SkuOptimizationTaskPurchaseSchemeResponse() + { + SchemeId = ps.Id, + SchemeGroupId = ps.SchemeGroupId, + IsFreeFreight = ps.IsFreeFreight, + LastPurchasePriceCost = ps.LastPurchasePriceCost, + PurchaseSchemeCost = ps.BargainingCost ?? ps.DefaultCost + }).ToList(); + } + #endregion + #region 合并分组/采购商/配件 var currentTaskSkuIdList = task.SkuOptimizationTaskList.Select(st => st.SkuId).ToList(); var currentPurchaseSchemeGroups = purchaseSchemeList.Where(p => currentTaskSkuIdList.Contains(p.SkuId) && diff --git a/BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs b/BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs index c87d5d7..0b5c60a 100644 --- a/BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs @@ -12,5 +12,40 @@ namespace BBWYB.Server.Model.Dto public string SkuName { get; set; } public decimal? Price { get; set; } + + /// + /// 关联采购方案信息 + /// + public IList RelationSchemeList { get; set; } + + } + + public class SkuOptimizationTaskPurchaseSchemeResponse + { + /// + /// 采购方案Id + /// + public long SchemeId { get; set; } + + /// + /// 采购方案分组Id + /// + public long SchemeGroupId { get; set; } + + /// + /// 采购方案最近采购成本(配件单价之和) + /// + public decimal? LastPurchasePriceCost { get; set; } = 0.0M; + + /// + /// 采购方案成本 + /// + + public decimal? PurchaseSchemeCost { get; set; } = 0.0M; + + /// + /// 采购方案是否包邮 + /// + public bool? IsFreeFreight { get; set; } = false; } }