IRC_NewDev
			
			
		
		
							parent
							
								
									e0613c1f2d
								
							
						
					
					
						commit
						aef7fded18
					
				| 
						 | 
				
			
			@ -31,7 +31,8 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
		private readonly IReadingClinicalDataService _readingClinicalDataService;
 | 
			
		||||
		private readonly IRepository<Subject> _subjectRepository;
 | 
			
		||||
        private readonly IRepository<ReadingClinicalData> _readingClinicalDataRepository;
 | 
			
		||||
        private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository;
 | 
			
		||||
		private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
 | 
			
		||||
		private readonly IRepository<QCChallengeDialog> _qCChallengeDialogrepository;
 | 
			
		||||
        private readonly IRepository<CheckChallengeDialog> _checkChallengeDialogrepository;
 | 
			
		||||
        private readonly IRepository<Trial> _trialRepository;
 | 
			
		||||
        private readonly IRepository<VisitTask> _visitTaskRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -47,7 +48,8 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
			IReadingClinicalDataService readingClinicalDataService,
 | 
			
		||||
			IRepository<Subject> subjectRepository,
 | 
			
		||||
            IRepository<ReadingClinicalData> readingClinicalDataRepository,
 | 
			
		||||
             IRepository<QCChallengeDialog> qCChallengeDialogrepository,
 | 
			
		||||
				IRepository<ClinicalDataTrialSet> clinicalDataTrialSetRepository,
 | 
			
		||||
			 IRepository<QCChallengeDialog> qCChallengeDialogrepository,
 | 
			
		||||
              IRepository<CheckChallengeDialog> checkChallengeDialogrepository,
 | 
			
		||||
            IVisitTaskHelpeService visitTaskHelpeService,
 | 
			
		||||
            IDistributedLockProvider distributedLockProvider
 | 
			
		||||
| 
						 | 
				
			
			@ -60,7 +62,8 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
			this._readingClinicalDataService = readingClinicalDataService;
 | 
			
		||||
			this._subjectRepository = subjectRepository;
 | 
			
		||||
            this._readingClinicalDataRepository = readingClinicalDataRepository;
 | 
			
		||||
            this._qCChallengeDialogrepository = qCChallengeDialogrepository;
 | 
			
		||||
			this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository;
 | 
			
		||||
			this._qCChallengeDialogrepository = qCChallengeDialogrepository;
 | 
			
		||||
            this._checkChallengeDialogrepository = checkChallengeDialogrepository;
 | 
			
		||||
            _trialRepository = trialRepository;
 | 
			
		||||
            this._visitTaskRepository = visitTaskRepository;
 | 
			
		||||
| 
						 | 
				
			
			@ -1231,27 +1234,31 @@ namespace IRaCIS.Core.Application.Image.QA
 | 
			
		|||
        public async Task<IResponseOutput> CRCRequestToQC(CRCRequestToQCCommand cRCRequestToQCCommand)
 | 
			
		||||
        {
 | 
			
		||||
			List<string> modalitieTypess = new List<string>() { "PT、CT", "CT、PT", "PET-CT" };
 | 
			
		||||
			// 验证临床数据 是否有Pet类型
 | 
			
		||||
			#region 验证临床数据 是否有Pet类型
 | 
			
		||||
			foreach (var item in cRCRequestToQCCommand.SubjectVisitIds)
 | 
			
		||||
			{
 | 
			
		||||
			
 | 
			
		||||
				if (await _dicomStudyRepository.AnyAsync(x => x.SubjectVisitId == item && modalitieTypess.Contains(x.Modalities)))
 | 
			
		||||
            // 验证临床数据 是否有Pet类型
 | 
			
		||||
            #region 验证临床数据 是否有Pet类型
 | 
			
		||||
            if (await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == cRCRequestToQCCommand.TrialId && x.IsConfirm && x.ClinicalDataLevel == ClinicalLevel.Study))
 | 
			
		||||
            {
 | 
			
		||||
				foreach (var item in cRCRequestToQCCommand.SubjectVisitIds)
 | 
			
		||||
				{
 | 
			
		||||
					var visit = await _subjectVisitRepository.Where(x => x.Id == item).FirstNotNullAsync();
 | 
			
		||||
					var clinicalData = await this._readingClinicalDataService.GetStudyClinicalData(new Service.Reading.Dto.GetStudyClinicalDataInDto()
 | 
			
		||||
					{
 | 
			
		||||
						SubjectVisitId = item,
 | 
			
		||||
					});
 | 
			
		||||
 | 
			
		||||
					if (!clinicalData.Any(x => x.ClinicalDataLevel == ClinicalLevel.Study && x.ClinicalUploadType == ClinicalUploadType.PDF && x.PDFFileList.Count() > 0))
 | 
			
		||||
					if (await _dicomStudyRepository.AnyAsync(x => x.SubjectVisitId == item && modalitieTypess.Contains(x.Modalities)))
 | 
			
		||||
					{
 | 
			
		||||
						throw new BusinessValidationFailedException(_localizer["QCOperation_NeedStudyClinical"]);
 | 
			
		||||
						var visit = await _subjectVisitRepository.Where(x => x.Id == item).FirstNotNullAsync();
 | 
			
		||||
						var clinicalData = await this._readingClinicalDataService.GetStudyClinicalData(new Service.Reading.Dto.GetStudyClinicalDataInDto()
 | 
			
		||||
						{
 | 
			
		||||
							SubjectVisitId = item,
 | 
			
		||||
						});
 | 
			
		||||
 | 
			
		||||
						if (!clinicalData.Any(x => x.ClinicalDataLevel == ClinicalLevel.Study && x.ClinicalUploadType == ClinicalUploadType.PDF && x.PDFFileList.Count() > 0))
 | 
			
		||||
						{
 | 
			
		||||
							throw new BusinessValidationFailedException(_localizer["QCOperation_NeedStudyClinical"]);
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
		
 | 
			
		||||
			#endregion
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue