From 57bce076224e997c7fbbb5d9edf629c73b5e0f4a Mon Sep 17 00:00:00 2001
From: he <10978375@qq.com>
Date: Thu, 14 Jul 2022 09:13:53 +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/Dto/ReadingImageTaskViewModel.cs | 11 +++++
.../Reading/Dto/ReadingQuestionViewModel.cs | 1 +
.../Reading/ReadingImageTaskService.cs | 42 ++++++++++++++-----
.../TrialSiteUser/DTO/TrialConfigDTO.cs | 3 ++
.../TrialSiteUser/TrialConfigService.cs | 6 +--
.../Reading/ReadingCriterionPage.cs | 5 +++
6 files changed, 53 insertions(+), 15 deletions(-)
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
index 2e4b3df09..4d50641b3 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs
@@ -353,6 +353,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
///
public string Answer { get; set; }
+ ///
+ /// 分页名称
+ ///
+ public string PageName { get; set; }
+
+
+ ///
+ /// 标准分页Id
+ ///
+ public Guid? ReadingCriterionPageId { get; set; }
+
public List Childrens { get; set; }
}
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
index 3e8de2292..d22d47fc8 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingQuestionViewModel.cs
@@ -35,6 +35,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string PageName { get; set; }
public bool IsEnable { get; set; }
+ public int ShowOrder { get; set; } = 0;
public Guid ReadingQuestionCriterionTrialId{ get; set; }
///
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
index cc8be3dd3..9cb55732a 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTaskService.cs
@@ -297,6 +297,7 @@ namespace IRaCIS.Application.Services
var readingTaskState = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.ReadingTaskState).FirstOrDefaultAsync();
var query= from data in _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId==inDto.ReadingQuestionCriterionTrialId)
+
join questionAnswer in _readingTaskQuestionAnswerRepository.Where(x=>x.VisitTaskId==inDto.VisitTaskId) on data.Id equals questionAnswer.ReadingQuestionTrialId into questionAnswerTemp
from leftquestionAnswer in questionAnswerTemp.DefaultIfEmpty()
select new GetTrialReadingQuestionOutDto()
@@ -312,25 +313,44 @@ namespace IRaCIS.Application.Services
ShowOrder=data.ShowOrder,
ParentId=data.ParentId,
TypeValue=data.TypeValue,
- Answer= leftquestionAnswer.Answer
+ Answer= leftquestionAnswer.Answer,
+ ReadingCriterionPageId=data.ReadingCriterionPageId,
+ PageName= data.ReadingCriterionPage.PageName,
};
+
var qusetionList =await query.OrderBy(x=>x.ShowOrder).ToListAsync();
- var groupList = qusetionList.Where(x => x.Type == "group").ToList();
+ var formType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.ReadingQuestionCriterionTrialId).Select(x => x.FormType).FirstOrDefaultAsync();
+ var groupList = new List();
- groupList.ForEach(x =>
+ if (formType == FormType.MultiplePage)
{
- x.Childrens = qusetionList.Where(y => y.GroupName == x.GroupName && y.ParentId == null&& y.Type != "group").ToList();
+ qusetionList = qusetionList.Where(x => x.ReadingCriterionPageId != null).ToList();
- x.Childrens.ForEach(z =>
+ //var readingCriterionPageIds= qusetionList.Select(x=>x.)
+
+
+ }
+ else
+ {
+ qusetionList = qusetionList.Where(x => x.ReadingCriterionPageId == null).ToList();
+ groupList = qusetionList.Where(x => x.Type == "group").ToList();
+
+ groupList.ForEach(x =>
{
- this.FindChildQuestion(z, qusetionList);
- });
+ x.Childrens = qusetionList.Where(y => y.GroupName == x.GroupName && y.ParentId == null && y.Type != "group").ToList();
- });
+ x.Childrens.ForEach(z =>
+ {
+ this.FindChildQuestion(z, qusetionList);
+ });
+
+ });
+ }
+
@@ -344,8 +364,10 @@ namespace IRaCIS.Application.Services
//});
return (groupList, new
{
- readingTaskState = readingTaskState
- });
+ readingTaskState = readingTaskState,
+ FormType= formType
+
+ }); ;
}
///
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
index 36af9c449..e61838a4b 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
@@ -406,6 +406,9 @@ namespace IRaCIS.Core.Application.Contracts
///
public bool IsPublicPage { get; set; }
+
+ public int ShowOrder { get; set; }
+
///
/// 创建时间
///
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index 02a968824..ad2d93e24 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -117,7 +117,7 @@ namespace IRaCIS.Core.Application
public async Task GetTrialReadingCriterionInfo(GetTrialReadingInfoInDto inDto)
{
GetTrialReadingCriterionInfoOutDto result = new GetTrialReadingCriterionInfoOutDto();
- result.ReadingCriterionPageList = await _readingCriterionPageRepository.Where(x => x.TrialId == inDto.TrialId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+ result.ReadingCriterionPageList = await _readingCriterionPageRepository.Where(x => x.TrialId == inDto.TrialId).ProjectTo(_mapper.ConfigurationProvider).OrderBy(x=>x.ShowOrder).ToListAsync();
var trialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstOrDefaultAsync();
result.ReadingInfoSignTime = await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x=>x.ReadingInfoSignTime).FirstOrDefaultAsync();
if (trialCriterion != null)
@@ -127,14 +127,10 @@ namespace IRaCIS.Core.Application
result.FormType = trialCriterion.FormType;
};
-
result.TrialQuestionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrial.IsConfirm && x.TrialId == inDto.TrialId&&x.ReadingQuestionCriterionTrialId == result.TrialCriterionId
&&x.ReadingCriterionPageId==null)
.ProjectTo(_mapper.ConfigurationProvider).OrderBy(x => x.ShowOrder).ToListAsync();
-
-
-
return result;
}
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterionPage.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterionPage.cs
index 578aeffae..c0a5d6932 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterionPage.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterionPage.cs
@@ -48,6 +48,11 @@ namespace IRaCIS.Core.Domain.Models
///
public bool IsPublicPage { get; set; } = false;
+ ///
+ /// 排序
+ ///
+ public int ShowOrder { get; set; } = 0;
+
public Guid ReadingQuestionCriterionTrialId { get; set; }