diff --git a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs index 16bfb0a..fcdab2f 100644 --- a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs +++ b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs @@ -892,16 +892,35 @@ namespace BBWYB.Server.Business 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 schemeIdList = fsql.Select().Where(ps => ps.SchemeGroupId == request.SchemeGroupId).ToList(ps => ps.Id); + + fsql.Transaction(() => + { + fsql.Delete(request.SchemeGroupId).ExecuteAffrows(); + if (schemeIdList.Count() > 0) + { + fsql.Delete(schemeIdList).ExecuteAffrows(); + fsql.Delete().Where(psp => schemeIdList.Contains(psp.SkuPurchaseSchemeId)).ExecuteAffrows(); + fsql.Delete().Where(pss => schemeIdList.Contains(pss.SkuPurchaseSchemeId)).ExecuteAffrows(); + } + fsql.Delete() + .Where(ct => ct.SchemeGroupId == request.SchemeGroupId && + ct.SpuOptimizationTaskId == request.SpuOptimizationId) + .ExecuteAffrows(); + }); + + + //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(); + //var ctTaskIdList = competitiveTenderTaskList.Select(ct => ct.Id); + //fsql.Delete(ctTaskIdList).ExecuteAffrows(); } public long GetNoCompletedSpuOptimizationTaskCount()