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

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

@ -611,14 +611,14 @@ namespace BBWYB.Server.Business.Sync
{ {
//判断sku是否首次采购 //判断sku是否首次采购
var isFirst = !dbSpuTotalSaleInfoList.Any(s => s.ProductId == spuGroup.Key); //var isFirst = !dbSpuTotalSaleInfoList.Any(s => s.ProductId == spuGroup.Key);
insertTimeLimitTaskList.Add(new TimeLimitTask() insertTimeLimitTaskList.Add(new TimeLimitTask()
{ {
Id = idGenerator.NewLong(), Id = idGenerator.NewLong(),
CreateTme = DateTime.Now, CreateTme = DateTime.Now,
//ExpirationTime = DateTime.Now.AddDays(isFirst ? 2 : 1), //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, //OrderId = o.OrderId,
//OrderSn = o.OrderSn, //OrderSn = o.OrderSn,
ShopId = shopId, ShopId = shopId,

Loading…
Cancel
Save