From 73c9e1597693b46e402726e5602bbd44116c5191 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Thu, 1 Feb 2024 13:30:20 +0800 Subject: [PATCH] =?UTF-8?q?=E9=98=85=E7=89=87=E5=9B=BE=E5=83=8F=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Visit/SubjectVisitService.cs | 58 +++++++++++-------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 0a55d9f12..bc8a0b1b3 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -449,14 +449,14 @@ namespace IRaCIS.Core.Application.Services var studyList = await _repository.Where(t => t.TrialId == indto.TrialId && t.SubjectVisitId == indto.SujectVisitId) .WhereIf(isManualGenerate,t=>t.SubjectCriteriaEvaluationVisitStudyFilterList.Any(t=>t.TrialReadingCriterionId==taskInfo.TrialReadingCriterionId && t.IsConfirmed &&t.IsReading )) .Select(k => new VisitStudyDTO() - { - InstanceCount = k.InstanceCount, - Modalities = k.Modalities, - SeriesCount = k.SeriesCount, - StudyCode = k.StudyCode, - StudyId = k.Id, + { + InstanceCount = k.InstanceCount, + Modalities = k.Modalities, + SeriesCount = k.SeriesCount, + StudyCode = k.StudyCode, + StudyId = k.Id, - }).ToListAsync(); + }).ToListAsync(); var studyIds = studyList.Select(t => t.StudyId).ToList(); var instanceList = await _repository.Where(t => studyIds.Contains(t.StudyId)) @@ -534,23 +534,35 @@ namespace IRaCIS.Core.Application.Services foreach (var item in noDicomStudyList) { var nodicom = noDicomList.Where(x => x.Id == item.StudyId).First(); - item.SeriesList = new List() - { - new DicomSeriesDTO (){ - IsDicom=false, - Id=item.StudyId, - InstanceCount=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).CountAsync(), - Modality=item.Modalities, - StudyId=item.StudyId, - TrialId=nodicom.TrialId, - SiteId=nodicom.SiteId, - SubjectVisitId=nodicom.SubjectVisitId, - SubjectId=nodicom.SubjectId, - SeriesNumber=1, - NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).Select(x=>x.Path).FirstOrDefaultAsync(), - } - }; + var instanceCount = await _noneDicomStudyFileRepository.Where(x => x.NoneDicomStudyId == item.StudyId).CountAsync(); + + if (instanceCount == 0) + { + item.SeriesList = new List(); + + } + else + { + item.SeriesList = new List() + { + new DicomSeriesDTO (){ + IsDicom=false, + Id=item.StudyId, + InstanceCount=instanceCount, + Modality=item.Modalities, + StudyId=item.StudyId, + TrialId=nodicom.TrialId, + SiteId=nodicom.SiteId, + SubjectVisitId=nodicom.SubjectVisitId, + SubjectId=nodicom.SubjectId, + SeriesNumber=1, + NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).Select(x=>x.Path).FirstOrDefaultAsync(), + } + + }; + } + }