diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 4b458de..c5f2213 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -1024,7 +1024,7 @@ namespace BBWYB.Server.Business return purchaseSchemeList; } - public IList GetMergePurchaseSchemeProductSkuByProductId(string productId, string userId) + public IList GetMergePurchaseSchemeProductSkuByProductId(string productId, string userId) { var user = userBusiness.GetisBargainTeamByUserId(userId); var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest() @@ -1032,15 +1032,20 @@ namespace BBWYB.Server.Business ProductIdList = new List() { productId }, BargainTeamIdList = user.isBargainTeam ? new List() { user.user.DepartmentId } : null }); - var mergePssList = new List(); + var mergePssList = new List(); foreach (var scheme in purchaseSchemeList) { foreach (var psp in scheme.PurchaseSchemeProductList) { foreach (var pss in psp.PurchaseSchemeProductSkuList) { - if (!mergePssList.Any(x => x.PurchaseSkuId == pss.PurchaseSkuId)) - mergePssList.Add(pss); + var mergePss = mergePssList.FirstOrDefault(x => x.PurchaseSkuId == pss.PurchaseSkuId); + if (mergePss == null) + { + mergePss = pss.Map(); + mergePssList.Add(mergePss); + } + mergePss.BelongSkuIdList.Add(pss.SkuId); } } } diff --git a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs index 29ee702..03718f8 100644 --- a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs +++ b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs @@ -642,7 +642,7 @@ namespace BBWYB.Server.Business task.BargainTeamTaskList = bargainTeamTaskList.Where(sbt => sbt.SpuOptimizationTaskId == task.Id).ToList(); task.TimeLimitTask = timelimitTaskList.FirstOrDefault(t => t.TaskId == task.Id); if (task.TimeLimitTask != null) - timeLimitRules.CalculateLessTimeForWorkHour(task.TimeLimitTask.ExpirationTime.Value); + task.TimeLimitTask.RemainingTime = timeLimitRules.CalculateLessTimeForWorkHour(task.TimeLimitTask.ExpirationTime.Value); task.IsCompletedByCurrentTeam = task.BargainTeamTaskList.FirstOrDefault(sbt => sbt.BelongTeamId == uInfo.department.Id)?.IsOptimizationCompleted == true; task.SkuOptimizationTaskList = skuTaskList.Where(st => st.SpuOptimizationTaskId == task.Id).ToList();