|
|
@ -303,14 +303,14 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
{ |
|
|
|
//判断sku是否首次采购
|
|
|
|
var isFirst = !dbSpuTotalInfoList.Any(s => s.ProductId == productId); |
|
|
|
//var isFirst = !dbSpuTotalInfoList.Any(s => s.ProductId == productId);
|
|
|
|
|
|
|
|
insertTimeLimitTaskList.Add(new TimeLimitTask() |
|
|
|
{ |
|
|
|
Id = idGenerator.NewLong(), |
|
|
|
CreateTme = DateTime.Now, |
|
|
|
//ExpirationTime = DateTime.Now.AddDays(isFirst ? 2 : 1),
|
|
|
|
ExpirationTime = timeLimitRules.CalculateExpirationTime(Enums.TimeLimitTaskType.待议价任务, DateTime.Now.AddDays(isFirst ? 1 : 0)), |
|
|
|
ExpirationTime = timeLimitRules.CalculateExpirationTime(Enums.TimeLimitTaskType.待议价任务, DateTime.Now), |
|
|
|
//OrderId = o.OrderId,
|
|
|
|
//OrderSn = o.OrderSn,
|
|
|
|
ShopId = shopId, |
|
|
@ -786,14 +786,19 @@ namespace BBWYB.Server.Business |
|
|
|
IList<PurchaseSchemeResponse> purchaseSchemeList) |
|
|
|
{ |
|
|
|
var victoryList = new List<SpuOptimizationCompetitiveTenderTask>(); |
|
|
|
var psGroups = purchaseSchemeList.GroupBy(ps => ps.SkuId); |
|
|
|
foreach (var psGroup in psGroups) |
|
|
|
{ |
|
|
|
var psListOrderByCostDescList = psGroup.OrderByDescending(ps => ps.BargainingCost ?? ps.DefaultCost).ToList(); |
|
|
|
var minCostScheme = psListOrderByCostDescList.FirstOrDefault(); |
|
|
|
var competitiveTenderTask = competitiveTenderTaskList.FirstOrDefault(ct => ct.SchemeId == minCostScheme.Id); |
|
|
|
victoryList.Add(competitiveTenderTask); |
|
|
|
} |
|
|
|
var psGroups = purchaseSchemeList.GroupBy(ps => ps.SchemeGroupId); |
|
|
|
var winGroupKey = psGroups.Select(g => new { SchemeGroupId = g.Key, Cost = g.Sum(ps => ps.BargainingCost ?? ps.DefaultCost) }) |
|
|
|
.OrderByDescending(x => x.Cost) |
|
|
|
.FirstOrDefault(); |
|
|
|
victoryList.AddRange(competitiveTenderTaskList.Where(ct=>ct.SchemeGroupId == winGroupKey.SchemeGroupId)); |
|
|
|
|
|
|
|
//foreach (var psGroup in psGroups)
|
|
|
|
//{
|
|
|
|
// var psListOrderByCostDescList = psGroup.OrderByDescending(ps => ps.BargainingCost ?? ps.DefaultCost).ToList();
|
|
|
|
// var minCostScheme = psListOrderByCostDescList.FirstOrDefault();
|
|
|
|
// var competitiveTenderTask = competitiveTenderTaskList.FirstOrDefault(ct => ct.SchemeId == minCostScheme.Id);
|
|
|
|
// victoryList.Add(competitiveTenderTask);
|
|
|
|
//}
|
|
|
|
return victoryList; |
|
|
|
} |
|
|
|
|
|
|
|