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(); } diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs index 0ce18c663..700d2a0a9 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs @@ -172,7 +172,10 @@ namespace IRaCIS.Core.Application.Service return (questionList, new { - IsConfirmMedicineQuestion = isConfirmMedicineQuestion, + IsHaveQuestion=(await _readingMedicineTrialQuestionRepository.AsQueryable() + .Where(x => x.TrialId == inQuery.TrialId && x.TrialReadingCriterionId == inQuery.TrialReadingCriterionId).CountAsync()) > 0, + + IsConfirmMedicineQuestion = isConfirmMedicineQuestion, LanguageType=(await _readingMedicineTrialQuestionRepository.FirstOrDefaultAsync(x => x.TrialReadingCriterionId == inQuery.TrialReadingCriterionId&& x.SystemQuestionId != null))?.LanguageType, //QuestionCount = questionList.Count(), });