diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 1794eba4d..7b06d4cd7 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -2168,6 +2168,13 @@
+
+
+ 获取预览问题信息
+
+
+
+
新增或修改项目医学审核问题
@@ -2600,6 +2607,56 @@
是否启用
+
+
+ 类型
+
+
+
+
+ 父问题触发值
+
+
+
+
+ 问题名称
+
+
+
+
+ 类型值
+
+
+
+
+ 项目ID
+
+
+
+
+ 是否启用
+
+
+
+
+ 是否必须
+
+
+
+
+ 排序
+
+
+
+
+ 父问题
+
+
+
+
+ 是否确认
+
+
ReadingMedicineTrialQuestionQuery 列表查询参数模型
diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs
index 7b44bd73f..59dab05c3 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicineQuestionViewModel.cs
@@ -184,8 +184,78 @@ namespace IRaCIS.Core.Application.ViewModel
public int? ParentShowOrder { get; set; }
}
- ///ReadingMedicineTrialQuestionQuery 列表查询参数模型
- public class ReadingMedicineTrialQuestionQuery
+
+ public class GetMedicineQuestionPreviewInDto
+ {
+ public Guid TrialId { get; set; }
+ }
+
+
+ public class GetMedicineQuestionPreviewOutDto
+ {
+ public Guid Id { get; set; }
+
+ ///
+ /// 类型
+ ///
+ public string Type { get; set; }
+
+ ///
+ /// 父问题触发值
+ ///
+ public string ParentTriggerValue { get; set; } = string.Empty;
+
+ ///
+ /// 问题名称
+ ///
+ public string QuestionName { get; set; }
+
+
+
+ ///
+ /// 类型值
+ ///
+ public string TypeValue { get; set; }
+
+
+
+ ///
+ /// 项目ID
+ ///
+ public Guid TrialId { get; set; }
+
+
+
+ ///
+ /// 是否启用
+ ///
+ public bool IsEnable { get; set; }
+
+ ///
+ /// 是否必须
+ ///
+ public bool IsRequired { get; set; }
+
+ ///
+ /// 排序
+ ///
+ public int ShowOrder { get; set; }
+
+ ///
+ /// 父问题
+ ///
+ public Guid? ParentId { get; set; }
+
+ ///
+ /// 是否确认
+ ///
+ public bool? IsConfirm { get; set; }
+
+ public List Childrens { get; set; }
+ }
+
+ ///ReadingMedicineTrialQuestionQuery 列表查询参数模型
+ public class ReadingMedicineTrialQuestionQuery
{
///
/// 项目Id
diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs
index b4bf21ccb..0eb3e688f 100644
--- a/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/ReadingMedicineQuestionService.cs
@@ -107,6 +107,38 @@ namespace IRaCIS.Core.Application.Service
});
}
+ ///
+ /// 获取预览问题信息
+ ///
+ ///
+ ///
+ [HttpPost]
+ public async Task> GetMedicineQuestionPreview(GetMedicineQuestionPreviewInDto inDto)
+ {
+ var trialQuestionList = await _readingMedicineTrialQuestionRepository.Where(x=>x.TrialId==inDto.TrialId)
+ .ProjectTo(_mapper.ConfigurationProvider).ToListAsync();
+
+ List readingQuestionList = trialQuestionList.Where(x => x.ParentId == null).ToList();
+ readingQuestionList.ForEach(x =>
+ {
+ FindChildQuestion(x, trialQuestionList);
+ });
+
+ return readingQuestionList;
+ }
+
+ private void FindChildQuestion(GetMedicineQuestionPreviewOutDto trialReadingQuestion, List questionlists)
+ {
+ trialReadingQuestion.Childrens = questionlists.Where(x => x.ParentId == trialReadingQuestion.Id).ToList();
+ if (trialReadingQuestion.Childrens != null && trialReadingQuestion.Childrens.Count != 0)
+ {
+ trialReadingQuestion.Childrens.ForEach(x =>
+ {
+ this.FindChildQuestion(x, questionlists);
+ });
+ }
+ }
+
///
/// 新增或修改项目医学审核问题
///
diff --git a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
index e3fb7bc38..68b4908a6 100644
--- a/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Reading/_MapConfig.cs
@@ -89,6 +89,8 @@ namespace IRaCIS.Core.Application.Service
CreateMap();
CreateMap()
.ForMember(x=>x.ParentShowOrder,y=>y.MapFrom(n=>n.ParentQuestion.ShowOrder));
+
+ CreateMap();
#endregion