diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 9d396fa42..4d17fde4a 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -15348,6 +15348,13 @@ + + + 统一生成裁判任务 + + + + 获取项目标准的裁判问题 diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs index f36d7de66..9949431d2 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs @@ -196,9 +196,27 @@ namespace IRaCIS.Core.Application.Service [HttpPost] public async Task GetJudgeForm(GetJudgeFormInDto inDto) { + + var judgeDataInfo = await _readingJudgeInfoRepository + .Where(x => x.JudgeTaskId == inDto.VisitTaskId) + .FirstNotNullAsync(); + + var taskIds = new List { judgeDataInfo.TaskIdOne, judgeDataInfo.TaskIdTwo }; + + var readingTask = await _visitTaskRepository + .Where(x => taskIds.Contains(x.Id)) + .Select(x => new + { + x.Id, + x.ArmEnum, + x.TrialReadingCriterionId, + x.VisitTaskNum, + }) + .FirstNotNullAsync(); + 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, true); + var questionList = await GetJudgeDisplayQuestions(taskInfo.TrialReadingCriterionId, readingTask.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(); @@ -250,9 +268,27 @@ namespace IRaCIS.Core.Application.Service private async Task SaveJudgeForm(SetJudgeFormInDto inDto) { + + + var judgeDataInfo = await _readingJudgeInfoRepository + .Where(x => x.JudgeTaskId == inDto.VisitTaskId) + .FirstNotNullAsync(); + + var taskIds = new List { judgeDataInfo.TaskIdOne, judgeDataInfo.TaskIdTwo }; + + var readingTask = await _visitTaskRepository + .Where(x => taskIds.Contains(x.Id)) + .Select(x => new + { + x.Id, + x.ArmEnum, + x.TrialReadingCriterionId, + x.VisitTaskNum, + }) + .FirstNotNullAsync(); 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, true)).Select(x => x.Id).ToList(); + var displayQuestionIds = (await GetJudgeDisplayQuestions(taskInfo.TrialReadingCriterionId, readingTask.VisitTaskNum, judgeRule, true)).Select(x => x.Id).ToList(); var submittedQuestionIds = inDto.QuestionList.Select(x => x.ReadingQuestionId).ToList();