diff --git a/BBWYB.Server.API/Controllers/SkuOptimizationController.cs b/BBWYB.Server.API/Controllers/SkuOptimizationController.cs index 884c651..f698fd3 100644 --- a/BBWYB.Server.API/Controllers/SkuOptimizationController.cs +++ b/BBWYB.Server.API/Controllers/SkuOptimizationController.cs @@ -58,5 +58,16 @@ namespace BBWYB.Server.API.Controllers var userId = GetUserId(); return optimizationBusiness.GetNoCompletionSkuOptimizationTask(request, userId); } + + /// + /// 删除采购方案分组(包括采购方案和竞标关系) + /// + /// + [HttpPost] + public void DeleteSchemeGroup(DeleteSchemeGroupFromSpuOptimizationTaskRequest request) + { + var userId = GetUserId(); + optimizationBusiness.DeleteSchemeGroup(request, userId); + } } } diff --git a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs index a76acbe..2feb4c3 100644 --- a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs +++ b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs @@ -683,8 +683,12 @@ namespace BBWYB.Server.Business { mergePss = pss.Map(); mergePss.PurchaserId = mergePurchaser.Id; + mergePss.BelongSkuIdList.Add(pss.SkuId); + mergePss.PurchaseUrl = psp.PurchaseUrl; mergePurchaser.MergePurchaseSchemeProductSkuList.Add(mergePss); } + else if (!mergePss.BelongSkuIdList.Contains(pss.SkuId)) + mergePss.BelongSkuIdList.Add(pss.SkuId); } } } @@ -807,5 +811,24 @@ namespace BBWYB.Server.Business nLogManager.Default().Error(ex, "限时任务超时回调失败"); } } + + /// + /// 从优化任务模块删除采购方案分组(级联删除采购分组下的其他) + /// + /// + public void DeleteSchemeGroup(DeleteSchemeGroupFromSpuOptimizationTaskRequest request, string userId) + { + _ = userBusiness.GetisBargainTeamByUserId(userId, true); + var competitiveTenderTaskList = fsql.Select() + .Where(ct => ct.SpuOptimizationTaskId == request.SpuOptimizationId && + ct.SchemeGroupId == request.SchemeGroupId) + .ToList(); + + var schemeIdList = competitiveTenderTaskList.Select(ct => ct.SchemeId).ToList(); + purchaseSchemeBusiness.DeletePurchaseScheme(schemeIdList); + + var ctTaskIdList = competitiveTenderTaskList.Select(ct => ct.Id); + fsql.Delete(ctTaskIdList).ExecuteAffrows(); + } } } diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseScheme/DeleteSchemeGroupRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/DeleteSchemeGroupRequest.cs new file mode 100644 index 0000000..7f505ea --- /dev/null +++ b/BBWYB.Server.Model/Dto/Request/PurchaseScheme/DeleteSchemeGroupRequest.cs @@ -0,0 +1,9 @@ +namespace BBWYB.Server.Model.Dto +{ + public class DeleteSchemeGroupFromSpuOptimizationTaskRequest + { + public long SchemeGroupId { get; set; } + + public long SpuOptimizationId { get; set; } + } +} diff --git a/BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs b/BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs index de1015e..f291ef0 100644 --- a/BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/Optimization/MergePurchaseSchemeProductSkuResponse.cs @@ -5,18 +5,22 @@ /// public class MergePurchaseSchemeProductSkuResponse { + public MergePurchaseSchemeProductSkuResponse() + { + BelongSkuIdList = new List(); + } /// /// 采购商Id /// public string PurchaserId { get; set; } - + public string PurchaseSkuTitle { get; set; } - + public string PurchaseSkuLogo { get; set; } - + public decimal? PurchaseSkuPrice { get; set; } /// @@ -54,12 +58,6 @@ /// public DateTime? LastBargainingTime { get; set; } - ///// - ///// 配件的最近采购价(配件单价) - ///// - //public decimal? LastPurchasePriceCost { get; set; } - - /// /// 最近采购单价 /// @@ -79,5 +77,15 @@ /// 采购件数 /// public int? PurchasedItemCount { get; set; } = 0; + + /// + /// 归属SKU列表 + /// + public List BelongSkuIdList { get; set; } + + /// + /// 采购商品链接 + /// + public string PurchaseUrl { get; set; } } }