diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs index bdd5af790..e750da711 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs @@ -260,6 +260,7 @@ namespace IRaCIS.Core.Application.Service List otherTask = await _visitTaskRepository.Where(x => x.ArmEnum != Arm.JudgeArm && x.SouceReadModuleId == taskInfo.SouceReadModuleId && x.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && x.DoctorUserId != taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.ReReadingApplyState != ReReadingApplyState.Agree && x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId + && x.TaskState==TaskState.Effect ) .Where(x => x.IsAnalysisCreate == taskInfo.IsAnalysisCreate) .OrderBy(x => x.VisitTaskNum).Select(x => new TaskInfo() @@ -296,15 +297,20 @@ namespace IRaCIS.Core.Application.Service QuestionName = x.ReadingQuestionTrial.QuestionName }).ToListAsync(); - visitTaskAnswer.AddRange(await _readingGlobalTaskInfoRepository.Where(x => taskIds.Contains(x.GlobalTaskId) && x.GlobalAnswerType == GlobalAnswerType.Question && x.TrialReadingQuestion.IsJudgeQuestion).Select(x => new JudgeQuestionAnswerInfo + var globalTaskAnswer = await (from global in _readingGlobalTaskInfoRepository.Where(x => taskIds.Contains(x.GlobalTaskId) && x.GlobalAnswerType == GlobalAnswerType.Question && x.TrialReadingQuestion.IsJudgeQuestion).Include(x=>x.TrialReadingQuestion) + join taskAnswer in _readingTaskQuestionAnswerRepository.AsQueryable() on new { TaskId= global.TaskId, QuestionId=global.QuestionId??default(Guid) } equals new { TaskId=taskAnswer.VisitTaskId, QuestionId=taskAnswer.ReadingQuestionTrialId } + select new JudgeQuestionAnswerInfo() { - Answer = x.Answer, - VisitTaskId = x.GlobalTaskId, - DictionaryCode = x.TrialReadingQuestion.DictionaryCode, - ShowOrder = x.TrialReadingQuestion.ShowOrder, - QuestionGenre = x.TrialReadingQuestion.QuestionGenre, - QuestionName = x.TrialReadingQuestion.QuestionName - }).ToListAsync()); + Answer = global.Answer==string.Empty? taskAnswer.Answer: global.Answer, + VisitTaskId = global.GlobalTaskId, + DictionaryCode = global.TrialReadingQuestion.DictionaryCode, + ShowOrder = global.TrialReadingQuestion.ShowOrder, + QuestionGenre = global.TrialReadingQuestion.QuestionGenre, + QuestionName = global.TrialReadingQuestion.QuestionName + }).ToListAsync(); + + + visitTaskAnswer.AddRange(globalTaskAnswer); medicalReviewInfo.TaskList.ForEach(x => {