diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 8ce04d9cd..9f7bfeb83 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1516,6 +1516,16 @@ 答案 + + + 分页名称 + + + + + 标准分页Id + + 阅片人是否认同 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index 4d50641b3..979ec4cb0 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -337,6 +337,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public int ShowOrder { get; set; } + + public int PageShowOrder { get; set; } + /// /// 父问题ID /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs index 9cb55732a..0c028a264 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs @@ -302,7 +302,7 @@ namespace IRaCIS.Application.Services from leftquestionAnswer in questionAnswerTemp.DefaultIfEmpty() select new GetTrialReadingQuestionOutDto() { - ReadingQuestionTrialId=data.Id, + ReadingQuestionTrialId=data.Id, ReadingQuestionCriterionTrialId=data.ReadingQuestionCriterionTrialId, TrialId=data.TrialId, Type=data.Type, @@ -316,6 +316,7 @@ namespace IRaCIS.Application.Services Answer= leftquestionAnswer.Answer, ReadingCriterionPageId=data.ReadingCriterionPageId, PageName= data.ReadingCriterionPage.PageName, + PageShowOrder = data.ReadingCriterionPage.ShowOrder, }; @@ -329,8 +330,22 @@ namespace IRaCIS.Application.Services if (formType == FormType.MultiplePage) { qusetionList = qusetionList.Where(x => x.ReadingCriterionPageId != null).ToList(); + var readingCriterionPageIds = qusetionList.OrderBy(x => x.PageShowOrder).Select(x => x.ReadingCriterionPageId).Distinct().ToList(); + foreach (var item in readingCriterionPageIds) + { + var newPageQusetionList = qusetionList.Where(x => x.ReadingCriterionPageId == item).ToList(); + var pageGroupList = newPageQusetionList.Where(x => x.Type == "group").ToList(); + pageGroupList.ForEach(x => + { + x.Childrens = newPageQusetionList.Where(y => y.GroupName == x.GroupName && y.ParentId == null && y.Type != "group").ToList(); + x.Childrens.ForEach(z => + { + this.FindChildQuestion(z, newPageQusetionList); + }); + }); + groupList.AddRange(pageGroupList); + } - //var readingCriterionPageIds= qusetionList.Select(x=>x.) }