From 25cf2555d43f6a6cc9502f5416f26ad95c7ec6c8 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Tue, 16 Dec 2025 15:24:16 +0800 Subject: [PATCH] =?UTF-8?q?uat-ivus-oct-=E5=86=8D=E6=AC=A1=E4=BF=AE?= =?UTF-8?q?=E6=94=B911?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ImageAndDoc/NoneDicomStudyService.cs | 16 +++++++++------- .../Service/Visit/SubjectVisitService.cs | 4 +++- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs index 41faa94a0..a3b583b83 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs @@ -47,6 +47,8 @@ namespace IRaCIS.Core.Application.Contracts //质控过程中并且不是IQC时,可以看到删除的(不需要忽略过滤器) 质控中iqc 也需要看到删除的 var isViewDelete = !isQCFinished; + var isFilterIVUSNoneDicom = false; + IQueryable noneDicomStudyQueryable = default; if (visitTaskId == null || visitTaskId == Guid.Empty) { @@ -71,6 +73,12 @@ namespace IRaCIS.Core.Application.Contracts } + if (_subjectVisitRepository.Where(t => t.Id == subjectVisitId).SelectMany(t => t.Trial.TrialReadingCriterionList) + .Where(t => t.CriterionType == CriterionType.IVUS || t.CriterionType == CriterionType.OCT).Distinct().Count() == 2 + ) + { + isFilterIVUSNoneDicom = true; + } } else { @@ -97,13 +105,7 @@ namespace IRaCIS.Core.Application.Contracts } - var isFilterIVUSNoneDicom = false; - if (_subjectVisitRepository.Where(t => t.Id == subjectVisitId).SelectMany(t => t.Trial.TrialReadingCriterionList) - .Where(t => t.CriterionType == CriterionType.IVUS || t.CriterionType == CriterionType.OCT).Distinct().Count() == 2 - ) - { - isFilterIVUSNoneDicom = true; - } + var list = await noneDicomStudyQueryable.Where(t => isFilterIVUSNoneDicom ? t.Modality != "IVUS" : true) .OrderBy(x => x.ImageDate).ThenBy(x => x.CreateTime).ToListAsync(); diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index fc4e11bfd..22b23a46e 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -770,7 +770,9 @@ namespace IRaCIS.Core.Application.Services #region 非Dicom 检查查询 - var noDicomList = await _noneDicomStudyRepository.Where(x => x.TrialId == indto.TrialId && x.SubjectVisitId == indto.SujectVisitId && x.NoneDicomFileList.Any(t => !t.FileType.Contains(StaticData.FileType.Zip))) + var noDicomList = await _noneDicomStudyRepository.Where(x => x.TrialId == indto.TrialId && x.SubjectVisitId == indto.SujectVisitId) + //iVUS 存在空检查 + .WhereIf(taskInfo.CriterionType != CriterionType.IVUS, x => x.NoneDicomFileList.Any(t => !t.FileType.Contains(StaticData.FileType.Zip))) .Where(t => t.IsReading) .WhereIf(taskInfo.IsImageFilter, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.Modality + "|")) .ToListAsync();