Uat_Study
he 2022-08-26 16:23:19 +08:00
parent dcda2d5af6
commit 5ba8b3b559
2 changed files with 122 additions and 12 deletions

View File

@ -1115,9 +1115,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public ShowQuestion ShowQuestion { get; set; }
/// <summary>
/// 最大问题数
/// </summary>
@ -1138,9 +1135,77 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary>
public bool IsShowInDicom { get; set; } = false;
public List<TableQuestionDataInfo> TableQuestions { get; set; }
//public List<TableQuestionDataInfo> TableQuestions { get; set; }
public List<GetTrialReadingQuestionOutDto> RelationQuestions { get; set; }
public List<GetTrialReadingQuestionOutDto> Childrens { get; set; }
public Guid Id { get; set; }
/// <summary>
/// 数据列
/// </summary>
public string DataTableColumn { get; set; } = string.Empty;
/// <summary>
/// 是否启用
/// </summary>
public bool IsEnable { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 是否是裁判问题
/// </summary>
public bool IsJudgeQuestion { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 序号标记
/// </summary>
public string OrderMark { get; set; } = string.Empty;
/// <summary>
/// 关联父问题
/// </summary>
public Guid? DependParentId { get; set; }
/// <summary>
/// 是否关联
/// </summary>
public IsDepend? IsDepend { get; set; }
/// <summary>
/// 表格问题类型
/// </summary>
public TableQuestionType? TableQuestionType { get; set; }
/// <summary>
/// 问题标识
/// </summary>
public QuestionMark? QuestionMark { get; set; }
}
///// <summary>

View File

@ -1359,21 +1359,66 @@ namespace IRaCIS.Application.Services
/// <summary>
/// 找子问题
/// </summary>
/// <param name="trialReadingQuestion"></param>
/// <param name="item"></param>
/// <param name="questionlists"></param>
/// <param name="tableQuestionLists"></param>
/// <param name="tableQuestions"></param>
[NonDynamicMethod]
public void FindChildQuestion(GetTrialReadingQuestionOutDto trialReadingQuestion, List<GetTrialReadingQuestionOutDto> questionlists,List<TableQuestionDataInfo> tableQuestionLists)
public void FindChildQuestion(GetTrialReadingQuestionOutDto item, List<GetTrialReadingQuestionOutDto> questionlists,List<TableQuestionDataInfo> tableQuestions)
{
trialReadingQuestion.Childrens = questionlists.Where(x => x.ParentId == trialReadingQuestion.ReadingQuestionTrialId || (trialReadingQuestion.Type == "group" && x.Type != "group" && x.ParentId == null && x.GroupName == trialReadingQuestion.GroupName)).ToList();
trialReadingQuestion.TableQuestions = tableQuestionLists.Where(x => x.ReadingQuestionId == trialReadingQuestion.ReadingQuestionTrialId).ToList();
item.Childrens = questionlists.Where(x => x.ParentId == item.ReadingQuestionTrialId || (item.Type == "group" && x.Type != "group" && x.ParentId == null && x.GroupName == trialReadingQuestion.GroupName)).ToList();
if (trialReadingQuestion.Childrens != null && trialReadingQuestion.Childrens.Count != 0)
item.Childrens.AddRange(tableQuestions.Where(x => x.ReadingQuestionId == item.Id).Select(x => new GetTrialReadingQuestionOutDto
{
trialReadingQuestion.Childrens.ForEach(x =>
Childrens = new List<GetTrialReadingQuestionOutDto>(),
ShowOrder = x.ShowOrder,
GroupName = string.Empty,
Id = x.Id,
Type = x.Type,
TableQuestionType = x.TableQuestionType,
DependParentId = x.DependParentId,
IsDepend = x.IsDepend,
QuestionMark = x.QuestionMark,
TypeValue = x.TypeValue,
RelevanceId = x.RelevanceId,
IsRequired = x.IsRequired,
RelevanceValue = x.RelevanceValue,
ImageCount = 0,
ParentId = item.Id,
DataTableColumn = x.DataTableColumn,
LesionType = item.LesionType,
QuestionName = x.QuestionName,
RelationQuestions = tableQuestions.Where(z => (z.DependParentId ?? default(Guid)) == x.Id).Select(x => new GetTrialReadingQuestionOutDto
{
this.FindChildQuestion(x, questionlists, tableQuestionLists);
Childrens = new List<GetTrialReadingQuestionOutDto>(),
ShowOrder = x.ShowOrder,
GroupName = string.Empty,
Id = x.Id,
Type = x.Type,
TableQuestionType = x.TableQuestionType,
DependParentId = x.DependParentId,
IsDepend = x.IsDepend,
QuestionMark = x.QuestionMark,
TypeValue = x.TypeValue,
RelevanceId = x.RelevanceId,
RelevanceValue = x.RelevanceValue,
ImageCount = 0,
ParentId = item.Id,
DataTableColumn = x.DataTableColumn,
LesionType = item.LesionType,
QuestionName = x.QuestionName,
RelationQuestions = new List<GetTrialReadingQuestionOutDto>(),
Remark = x.Remark,
}).ToList(),
Remark = x.Remark,
}));
if (item.Childrens != null && item.Childrens.Count != 0)
{
item.Childrens.ForEach(x =>
{
this.FindChildQuestion(x, questionlists, tableQuestions);
});
}
}