Browse Source

合并分组/采购商/配件

liangku_skuoptimazation
shanji 1 year ago
parent
commit
685a4c7678
  1. 3
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  2. 34
      BBWYB.Server.Business/SkuOptimization/SkuOptimizationBusiness.cs
  3. 2
      BBWYB.Server.Model/Db/SpuOptimization/Skuoptimizationtask.cs
  4. 4
      BBWYB.Server.Model/Dto/Request/PurchaseScheme/QuerySchemeRequest.cs
  5. 5
      BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs
  6. 12
      BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs
  7. 8
      BBWYB.Server.Model/Dto/Response/Optimization/SpuOptimizationTaskResponse.cs

3
BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -751,7 +751,8 @@ namespace BBWYB.Server.Business
.WhereIf(request.SchemeIdList != null && request.SchemeIdList.Count() > 0, ps => request.SchemeIdList.Contains(ps.Id))
.WhereIf(request.SchemeGroupIdList != null && request.SchemeGroupIdList.Count() > 0, ps => request.SchemeGroupIdList.Contains(ps.SchemeGroupId))
.WhereIf(request.SkuIdList != null && request.SkuIdList.Count() > 0, ps => request.SkuIdList.Contains(ps.SkuId))
.WhereIf(request.ProductIdList != null && request.ProductIdList.Count() > 0, ps => request.ProductIdList.Contains(ps.ProductId));
.WhereIf(request.ProductIdList != null && request.ProductIdList.Count() > 0, ps => request.ProductIdList.Contains(ps.ProductId))
.WhereIf(request.BargainTeamIdList != null && request.BargainTeamIdList.Count() > 0, ps => request.BargainTeamIdList.Contains(ps.BelongBargainTeamId));
if (request.PurchasePlatform != null || !string.IsNullOrEmpty(request.PurchaserId))
{

34
BBWYB.Server.Business/SkuOptimization/SkuOptimizationBusiness.cs

@ -532,6 +532,25 @@ namespace BBWYB.Server.Business
var bargainTeamTaskList = fsql.Select<SpuOptimizationBargainTeamTask>()
.Where(sbt => spuTaskIdList.Contains(sbt.SpuOptimizationTaskId))
.ToList<SpuOptimizationBargainTeamTaskResponse>();
var bargainTeamIdList = bargainTeamTaskList.Select(x => x.BelongTeamId).Distinct().ToList();
#endregion
#region 获取SKU优化任务
var skuTaskList = fsql.Select<SkuOptimizationTask, Model.Db.ProductSku>()
.LeftJoin((st, ps) => st.SkuId == ps.Id)
.Where((st, ps) => spuTaskIdList.Contains(st.SpuOptimizationTaskId))
.ToList((st, ps) => new SkuOptimizationTaskResponse
{
CreateTime = st.CreateTime,
Id = st.Id,
JDSkuId = st.JDSkuId,
Logo = ps.Logo,
PreItemCount = st.PreItemCount,
PrePurchaseAmount = st.PrePurchaseAmount,
SkuId = st.SkuId,
SpuOptimizationTaskId = st.SpuOptimizationTaskId
});
var skuIdList = skuTaskList.Select(st => st.SkuId).ToList();
#endregion
#region 限时任务
@ -540,17 +559,11 @@ namespace BBWYB.Server.Business
.ToList<TimeLimitTaskResponse>();
#endregion
#region 获取竞标任务
var competitiveTenderTaskList = fsql.Select<SpuOptimizationCompetitiveTenderTask>()
.Where(ct => spuTaskIdList.Contains(ct.SpuOptimizationTaskId))
.ToList();
#endregion
#region 获取采购方案
var competitiveTenderTaskSchemeIdList = competitiveTenderTaskList.Select(ct => ct.SchemeId.Value).ToList();
var purchaseSchemeList = purchaseSchemeBusiness.GetPurchaseSchemeList(new QuerySchemeRequest()
{
SchemeIdList = competitiveTenderTaskSchemeIdList,
SkuIdList = skuIdList,
BargainTeamIdList = bargainTeamIdList,
IncludePurchaseSkuBasicInfo = 1
});
#endregion
@ -562,7 +575,12 @@ namespace BBWYB.Server.Business
if (task.TimeLimitTask != null)
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();
#region 合并分组/采购商/配件
var currentTaskSkuIdList = task.SkuOptimizationTaskList.Select(st => st.SkuId).ToList();
var currentPurchaseSchemeList = purchaseSchemeList.Where(p => currentTaskSkuIdList.Contains(p.SkuId)).ToList();
#endregion
}
return new ListResponse<SpuOptimizationTaskResponse>()

2
BBWYB.Server.Model/Db/SpuOptimization/Skuoptimizationtask.cs

@ -38,7 +38,7 @@ namespace BBWYB.Server.Model.Db
/// Spu优化任务Id
/// </summary>
[Column(DbType = "bigint")]
public long? SpuOptimizationTaskId { get; set; }
public long SpuOptimizationTaskId { get; set; }
}

4
BBWYB.Server.Model/Dto/Request/PurchaseScheme/QuerySchemeRequest.cs

@ -31,6 +31,10 @@ namespace BBWYB.Server.Model.Dto
public long? ShopId { get; set; }
/// <summary>
/// 议价组Id集合
/// </summary>
public List<string> BargainTeamIdList { get; set; }
/// <summary>
/// 采购商Id, 只要其中一个采购商品满足采购商条件则命中查询

5
BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs

@ -39,11 +39,6 @@
/// </summary>
public string PurchaseSkuSpecId { get; set; }
/// <summary>
/// Sku采购方案Id
/// </summary>
public long SkuPurchaseSchemeId { get; set; }
/// <summary>
/// 采购比例
/// </summary>

12
BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs

@ -0,0 +1,12 @@
using BBWYB.Server.Model.Db;
namespace BBWYB.Server.Model.Dto
{
public class SkuOptimizationTaskResponse : SkuOptimizationTask
{
public string SkuId { get; set; }
public string Logo { get; set; }
}
}

8
BBWYB.Server.Model/Dto/Response/Optimization/SpuOptimizationTaskResponse.cs

@ -19,6 +19,14 @@ namespace BBWYB.Server.Model.Dto
/// </summary>
public List<SpuOptimizationBargainTeamTaskResponse> BargainTeamTaskList { get; set; }
/// <summary>
/// SKU优化任务列表
/// </summary>
public List<SkuOptimizationTaskResponse> SkuOptimizationTaskList { get; set; }
/// <summary>
/// 合并后的采购分组列表
/// </summary>
public List<MergePurchaseSchemeGroupResponse> MergePurchaseScemeGroupList { get; set; }
}
}

Loading…
Cancel
Save