diff --git a/IRaCIS.Core.Application/Service/QC/QCListService.cs b/IRaCIS.Core.Application/Service/QC/QCListService.cs index c6f841f1e..3d838ea42 100644 --- a/IRaCIS.Core.Application/Service/QC/QCListService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCListService.cs @@ -9,11 +9,13 @@ using IRaCIS.Application.Contracts; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Application.Service.Reading.Dto; using IRaCIS.Core.Infrastructure; +using MassTransit.Initializers; namespace IRaCIS.Core.Application.Image.QA { [ApiExplorerSettings(GroupName = "Image")] public class QCListService( + IRepository _visitTaskRepository, IRepository _subjectVisitRepository, IRepository _trialRepository, IRepository _clinicalDataTrialSetRepository, @@ -635,7 +637,11 @@ namespace IRaCIS.Core.Application.Image.QA [HttpGet("{subjectId:guid}")] public async Task> GetSubjectVisitSelectList(Guid subjectId) { - return await _subjectVisitRepository.Where(t => t.SubjectId == subjectId).OrderBy(T => T.VisitNum).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + + var maxNum = await _visitTaskRepository.Where(t => t.SubjectId == subjectId && t.TaskState == TaskState.Effect && t.SignTime != null && t.TrialReadingCriterion.IsReadingTaskViewInOrder == ReadingOrder.InOrder).MaxAsync(x => x.VisitTaskNum); + + + return await _subjectVisitRepository.Where(t => t.SubjectId == subjectId&&t.VisitNum>= maxNum).OrderBy(T => T.VisitNum).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); }