diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 1e0df2ad..adaa686b 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -315,11 +315,15 @@ namespace IRaCIS.Core.Application.Services var instanceList = await _repository.Where(t => studyIds.Contains(t.StudyId)) .Select(t => new { t.SeriesId, t.Id, t.InstanceNumber,t.Path }).ToListAsync(); + + + List seriesLists = await _repository.Where(s => studyIds.Contains(s.StudyId) && s.IsReading).OrderBy(s => s.SeriesNumber). + ThenBy(s => s.SeriesTime) + .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); foreach (var t in studyList) { - t.SeriesList = await _repository.Where(s => s.StudyId == t.StudyId && s.IsReading).OrderBy(s => s.SeriesNumber). - ThenBy(s => s.SeriesTime) - .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + t.SeriesList = seriesLists.Where(s => s.StudyId == t.StudyId).OrderBy(s => s.SeriesNumber). + ThenBy(s => s.SeriesTime).ToList(); t.SeriesList.ForEach(series => { series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList();