From 0493786b36cc3abd35c982447f5172f4f8d7a58c Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 21 Jun 2022 09:44:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Reading/ReadingImageTaskService.cs | 35 +++++++++++++++---- .../Service/Reading/ReadingQuestionService.cs | 4 ++- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index ac1cb1a38..b7ac545de 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -300,6 +300,7 @@ namespace IRaCIS.Application.Services { ReadingTaskState = ReadingTaskState.HaveSigned }); + await this.TriggerJudgeQuestion(inDto.VisitTaskId); var result = await _visitTaskRepository.SaveChangesAsync(); return ResponseOutput.Ok(result); } @@ -334,7 +335,7 @@ namespace IRaCIS.Application.Services var verificationResults = true; foreach (var item in groupTasks) { - if (item.TaskAnswerList.Count() != 2) + if (item.TaskAnswerList.Count() != 2|| item.AnswerGroup==string.Empty) { verificationResults = false; break; @@ -350,10 +351,8 @@ namespace IRaCIS.Application.Services GroupId = NewId.NextGuid(), GroupValue = x }); - var itemAnswerGroupsitem1 = answerGroup.Where(x => x.GroupValue.Contains($"|{item1.Answer}|")); var itemAnswerGroupsitem2 = answerGroup.Where(x => x.GroupValue.Contains($"|{item2.Answer}|")); - var unionList = itemAnswerGroupsitem1.Union(itemAnswerGroupsitem2).ToList(); if (unionList.Count < 1) { @@ -366,7 +365,9 @@ namespace IRaCIS.Application.Services if (!verificationResults) { - + await this.SaveJudgeTask(new SaveJudgeTaskDto() { + VisitTaskIds= visitTaskids, + }); } } } @@ -375,9 +376,31 @@ namespace IRaCIS.Application.Services /// 添加裁判任务 /// /// - private async Task SaveJudgeTask() + private async Task SaveJudgeTask(SaveJudgeTaskDto inDto) { - + var firstTask = await _visitTaskRepository.Where(x => inDto.VisitTaskIds.Contains(x.Id)).FirstOrDefaultAsync(); + + VisitTask visitTask = new VisitTask() + { + Id = NewId.NextGuid(), + ArmEnum = Arm.JudgeArm, + SouceReadModuleId = firstTask.SouceReadModuleId, + SourceSubjectVisitId = firstTask.SourceSubjectVisitId, + SubjectId = firstTask.SubjectId, + ReadingTaskState = ReadingTaskState.WaitReading, + TaskName = firstTask.TaskName + "AD", + ReadingCategory = ReadingCategory.Judge, + TrialId = firstTask.TrialId, + }; + + await _visitTaskRepository.BatchUpdateNoTrackingAsync(x => inDto.VisitTaskIds.Contains(x.Id), x => new VisitTask() + { + JudgeVisitTaskId = visitTask.Id + }); + + await _visitTaskRepository.AddAsync(visitTask); + + await _visitTaskRepository.SaveChangesAsync(); } } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs index 42695f1b1..927f47df4 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingQuestionService.cs @@ -359,6 +359,7 @@ namespace IRaCIS.Application.Services QuestionName = quesiton.QuestionName, ReadingQuestionCriterionTrialId = ReadingQuestionCriterionTrialId, TrialId = trialId, + AnswerGroup = string.Empty, Type = quesiton.Type, GroupName=quesiton.GroupName, ReadingQuestionSystemId=x.Id, @@ -396,6 +397,7 @@ namespace IRaCIS.Application.Services IsRequired = quesiton.IsRequired, ParentId = newParentId, ReadingQuestionSystemId = x.Id, + AnswerGroup = string.Empty, ParentTriggerValue = quesiton.ParentTriggerValue, QuestionName = quesiton.QuestionName, ReadingQuestionCriterionTrialId = ReadingQuestionCriterionTrialId, @@ -405,7 +407,7 @@ namespace IRaCIS.Application.Services IsJudgeQuestion = quesiton.IsJudgeQuestion, Remark = quesiton.Remark, TypeValue = quesiton.TypeValue, - }); + }) ; CreateQuestionRelation(ReadingQuestionCriterionTrialId, trialId, oldId, newId, systemQuesitonList, needQuestionList); });