From e57887eba57bed9743bf6a514456061e5fb3c724 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 16 Apr 2024 14:00:46 +0800 Subject: [PATCH] =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/QC/QCOperationService.cs | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs index 83f1c4c64..8fb121a92 100644 --- a/IRaCIS.Core.Application/Service/QC/QCOperationService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCOperationService.cs @@ -1963,8 +1963,31 @@ namespace IRaCIS.Core.Application.Image.QA throw new BusinessValidationFailedException(_localizer["QCOperation_InvalidCompleteResend"]); } + List modalitieTypess = new List() { "PT、CT", "CT、PT", "PET-CT" }; + // 验证临床数据 是否有Pet类型 + #region 验证临床数据 是否有Pet类型 + if (await _clinicalDataTrialSetRepository.AnyAsync(x => x.TrialId == cRCReuploadFinishedCommand.TrialId && x.IsConfirm && x.ClinicalDataLevel == ClinicalLevel.Study)) + { + var item = qcChallenge.SubjectVisitId; + if (await _dicomStudyRepository.AnyAsync(x => x.SubjectVisitId == item && modalitieTypess.Contains(x.Modalities))) + { + var visit = await _subjectVisitRepository.Where(x => x.Id == item).FirstNotNullAsync(); + var clinicalData = await this._readingClinicalDataService.GetStudyClinicalData(new Service.Reading.Dto.GetStudyClinicalDataInDto() + { + SubjectVisitId = item, + }); - var subjectVisitId = qcChallenge.SubjectVisitId; + if (!clinicalData.Any(x => x.ClinicalDataLevel == ClinicalLevel.Study && x.ClinicalUploadType == ClinicalUploadType.PDF && x.PDFFileList.Count() > 0)) + { + throw new BusinessValidationFailedException(_localizer["QCOperation_NeedStudyClinical"]); + } + } + } + + #endregion + + + var subjectVisitId = qcChallenge.SubjectVisitId; if (await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).SelectMany(t => t.StudyList).CountAsync() == 0 && await _subjectVisitRepository.Where(t => t.Id == subjectVisitId).SelectMany(t => t.NoneDicomStudyList).SelectMany(u => u.NoneDicomFileList).CountAsync() == 0)