diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs index f3b32bf03..97d91f7d9 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs @@ -957,8 +957,14 @@ namespace IRaCIS.Core.Application /// /// [HttpPost] - public async Task ConfigTrialProcessInfoVerification(TrialProcessConfig trialConfig) + [TypeFilter(typeof(TrialResourceFilter), Arguments = new object[] { "BeforeOngoingCantOpt", "AfterStopCannNotOpt" })] + public async Task ConfigTrialProcessInfoVerification(TrialProcessConfig trialConfig) { + if (!await _trialRepository.Where(t => t.Id == trialConfig.TrialId).IgnoreQueryFilters().AnyAsync(t => t.TrialStatusStr == StaticData.TrialState.TrialInitializing)) + { + //---该项目当前状态不是初始化,不允许进行该操作。 + throw new BusinessValidationFailedException(_localizer["TrialConfig_ProjectNotInitialized"]); + } var clinicalDataTrialSetDataList = await _clinicalDataTrialSetRepository.Where(x => trialConfig.ClinicalDataTrialSetIds.Contains(x.Id)).Include(x => x.TrialClinicalDataSetCriteriaList).ToListAsync(); foreach (var item in clinicalDataTrialSetDataList) {