diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs index eb1d3c85c..5556a09ca 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs @@ -125,7 +125,7 @@ namespace IRaCIS.Core.Application.Service .Select(x => x.JudgeRuleEnum) .FirstNotNullAsync(); - var displayQuestions = await GetJudgeDisplayQuestions(r1Task.TrialReadingCriterionId, r1Task.VisitTaskNum, judgeRule); + var displayQuestions = await GetJudgeDisplayQuestions(r1Task.TrialReadingCriterionId, r1Task.VisitTaskNum, judgeRule, false); var judgeAnswers = displayQuestions .Select(x => new SingleVisitJudgeAnswerItemDto { @@ -175,7 +175,7 @@ namespace IRaCIS.Core.Application.Service { var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); var judgeRule = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => x.JudgeRuleEnum).FirstNotNullAsync(); - var questionList = await GetJudgeDisplayQuestions(taskInfo.TrialReadingCriterionId, taskInfo.VisitTaskNum, judgeRule); + var questionList = await GetJudgeDisplayQuestions(taskInfo.TrialReadingCriterionId, taskInfo.VisitTaskNum, judgeRule, true); var questionIds = questionList.Select(x => x.Id).ToList(); var answers = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == inDto.VisitTaskId && questionIds.Contains(x.ReadingQuestionTrialId)).ToListAsync(); @@ -229,7 +229,7 @@ namespace IRaCIS.Core.Application.Service { var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); var judgeRule = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => x.JudgeRuleEnum).FirstNotNullAsync(); - var displayQuestionIds = (await GetJudgeDisplayQuestions(taskInfo.TrialReadingCriterionId, taskInfo.VisitTaskNum, judgeRule)).Select(x => x.Id).ToList(); + var displayQuestionIds = (await GetJudgeDisplayQuestions(taskInfo.TrialReadingCriterionId, taskInfo.VisitTaskNum, judgeRule, true)).Select(x => x.Id).ToList(); var submittedQuestionIds = inDto.QuestionList.Select(x => x.ReadingQuestionId).ToList(); @@ -274,9 +274,10 @@ namespace IRaCIS.Core.Application.Service } - private async Task> GetJudgeDisplayQuestions(Guid trialReadingCriterionId, decimal visitNum, JudgeRule judgeRule) + private async Task> GetJudgeDisplayQuestions(Guid trialReadingCriterionId, decimal visitNum, JudgeRule judgeRule,bool isGetShowQuestion) { var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == trialReadingCriterionId && x.IsJudgeQuestion) + .WhereIf(!isGetShowQuestion,x=>x.ShowQuestion!= ShowQuestion.Hide) .WhereIf(visitNum == 0, x => x.LimitShow != LimitShow.FollowShow) .WhereIf(visitNum != 0, x => x.LimitShow != LimitShow.BaseLineShow) .Where(x=>x.LimitShow!=LimitShow.ExcludeSomeVisits||x.ExcludeShowVisitList.Contains(visitNum))