修改
This commit is contained in:
@@ -949,12 +949,34 @@ namespace IRaCIS.Core.Application
|
||||
return ResponseOutput.Ok(await _repository.SaveChangesAsync());
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 配置流程
|
||||
/// 配置流程验证
|
||||
/// </summary>
|
||||
/// <param name="trialConfig"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPut]
|
||||
/// <exception cref="BusinessValidationFailedException"></exception>
|
||||
[HttpPost]
|
||||
public async Task ConfigTrialProcessInfoVerification(TrialProcessConfig trialConfig)
|
||||
{
|
||||
var clinicalDataTrialSetDataList = await _clinicalDataTrialSetRepository.Where(x => trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Include(x => x.TrialClinicalDataSetCriteriaList).ToListAsync();
|
||||
foreach (var item in clinicalDataTrialSetDataList)
|
||||
{
|
||||
var clinicalids = item.TrialClinicalDataSetCriteriaList.Select(x => x.TrialReadingCriterionId).ToList();
|
||||
if (clinicalids.Intersect(trialConfig.TrialCriterionIds).ToList().Count() == 0)
|
||||
{
|
||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_NoCriteriaClinicalData"]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 配置流程
|
||||
/// </summary>
|
||||
/// <param name="trialConfig"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPut]
|
||||
//[Authorize(Policy = IRaCISPolicy.PM_APM)]
|
||||
[TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })]
|
||||
public async Task<IResponseOutput> ConfigTrialProcessInfo(TrialProcessConfig trialConfig)
|
||||
@@ -965,16 +987,7 @@ namespace IRaCIS.Core.Application
|
||||
return ResponseOutput.NotOk(_localizer["TrialConfig_ProjectNotInitialized"]);
|
||||
}
|
||||
|
||||
var clinicalDataTrialSetDataList = await _clinicalDataTrialSetRepository.Where(x => trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Include(x => x.TrialClinicalDataSetCriteriaList).ToListAsync();
|
||||
foreach (var item in clinicalDataTrialSetDataList)
|
||||
{
|
||||
var clinicalids = item.TrialClinicalDataSetCriteriaList.Select(x => x.TrialReadingCriterionId).ToList();
|
||||
if (clinicalids.Intersect(trialConfig.TrialCriterionIds).ToList().Count() == 0)
|
||||
{
|
||||
throw new BusinessValidationFailedException(_localizer["TrialConfig_NoCriteriaClinicalData"]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
var trialInfo = await _trialRepository.Where(t => t.Id == trialConfig.TrialId, true).Include(t => t.TrialDicList.Where(u => u.KeyName == StaticData.Criterion)).FirstOrDefaultAsync();
|
||||
if (trialInfo == null) return Null404NotFound(trialInfo);
|
||||
|
||||
Reference in New Issue
Block a user