Browse Source

采购竞标结果按分组评选

议价限时任务按8h计算
liangku_skuoptimazation
shanji 1 year ago
parent
commit
208129aae3
  1. 25
      BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs
  2. 4
      BBWYB.Server.Business/Sync/OrderSyncBusiness.cs

25
BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs

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

4
BBWYB.Server.Business/Sync/OrderSyncBusiness.cs

@ -611,14 +611,14 @@ namespace BBWYB.Server.Business.Sync
{
//判断sku是否首次采购
var isFirst = !dbSpuTotalSaleInfoList.Any(s => s.ProductId == spuGroup.Key);
//var isFirst = !dbSpuTotalSaleInfoList.Any(s => s.ProductId == spuGroup.Key);
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,

Loading…
Cancel
Save