Merge branch 'master' of http://192.168.1.2:8033/IRaCIS_Core_Api
commit
d9618472cb
|
@ -42,6 +42,75 @@ namespace IRaCIS.Core.Application.Service
|
||||||
_systemClinicalQuestionRepository = systemClinicalQuestionRepository;
|
_systemClinicalQuestionRepository = systemClinicalQuestionRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取系统临床数据预览
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<(List<ClinicalQuestionPreviewDto>, bool)> GetSystemClinicalQuestionPreview(GetSystemClinicalQuestionPreviewDto inDto)
|
||||||
|
{
|
||||||
|
var questions = await _systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId)
|
||||||
|
.ProjectTo<ClinicalQuestionPreviewDto>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
var tableQuestions= await _systemClinicalQuestionRepository.Where(x => x.SystemClinicalId == inDto.SystemClinicalId)
|
||||||
|
.ProjectTo<ClinicalTablePreviewDto>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
var result = questions.Where(x => x.ClinicalQuestionType == ReadingQestionType.Group).ToList();
|
||||||
|
|
||||||
|
result.ForEach(x =>
|
||||||
|
{
|
||||||
|
this.FindChildQuestion(x, questions, tableQuestions);
|
||||||
|
});
|
||||||
|
|
||||||
|
return (result, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取项目临床数据预览
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<(List<ClinicalQuestionPreviewDto>, bool)> GetTrialClinicalQuestionPreview(GetTrialClinicalQuestionPreviewDto inDto)
|
||||||
|
{
|
||||||
|
var questions = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId)
|
||||||
|
.ProjectTo<ClinicalQuestionPreviewDto>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
var tableQuestions = await _trialClinicalQuestionRepository.Where(x => x.TrialClinicalId == inDto.TrialClinicalId)
|
||||||
|
.ProjectTo<ClinicalTablePreviewDto>(_mapper.ConfigurationProvider).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
var result = questions.Where(x => x.ClinicalQuestionType == ReadingQestionType.Group).ToList();
|
||||||
|
|
||||||
|
result.ForEach(x =>
|
||||||
|
{
|
||||||
|
this.FindChildQuestion(x, questions, tableQuestions);
|
||||||
|
});
|
||||||
|
|
||||||
|
return (result, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取子元素
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="item"></param>
|
||||||
|
/// <param name="questions"></param>
|
||||||
|
/// <param name="tableQuestions"></param>
|
||||||
|
public void FindChildQuestion(ClinicalQuestionPreviewDto item, List<ClinicalQuestionPreviewDto> questions, List<ClinicalTablePreviewDto> tableQuestions)
|
||||||
|
{
|
||||||
|
item.Childrens = questions.Where(x => (x.ParentId == item.Id)||(x.GroupId== item.Id&&x.ParentId==null)).ToList();
|
||||||
|
|
||||||
|
item.TableQuestions = tableQuestions.Where(x => x.QuestionId == item.Id).ToList();
|
||||||
|
|
||||||
|
item.Childrens.ForEach(x => {
|
||||||
|
this.FindChildQuestion(x, questions, tableQuestions);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
#region 项目问题
|
#region 项目问题
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,61 @@ using System.Threading.Tasks;
|
||||||
namespace IRaCIS.Core.Application.Service.Reading.Dto
|
namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
{
|
{
|
||||||
|
|
||||||
|
#region 预览
|
||||||
|
|
||||||
|
|
||||||
|
public class GetSystemClinicalQuestionPreviewDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 系统临床数据Id
|
||||||
|
/// </summary>
|
||||||
|
public Guid SystemClinicalId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GetTrialClinicalQuestionPreviewDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 项目临床数据Id
|
||||||
|
/// </summary>
|
||||||
|
public Guid TrialClinicalId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 项目预览问题Dto
|
||||||
|
/// </summary>
|
||||||
|
public class ClinicalQuestionPreviewDto : TrialClinicalQuestionDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 系统临床数据Id
|
||||||
|
/// </summary>
|
||||||
|
public Guid SystemClinicalId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子问题
|
||||||
|
/// </summary>
|
||||||
|
public List<ClinicalQuestionPreviewDto> Childrens { get; set; } = new List<ClinicalQuestionPreviewDto>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 表格问题
|
||||||
|
/// </summary>
|
||||||
|
public List<ClinicalTablePreviewDto> TableQuestions { get; set; } = new List<ClinicalTablePreviewDto>();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 系统临床数据问题
|
||||||
|
/// </summary>
|
||||||
|
public class ClinicalTablePreviewDto : TrialClinicalTableQuestionDto
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 系统临床数据Id
|
||||||
|
/// </summary>
|
||||||
|
public Guid SystemClinicalId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region 外层问题
|
#region 外层问题
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 临床问题基本信息
|
/// 临床问题基本信息
|
||||||
|
@ -155,7 +210,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
public string CalculateQuestions { get; set; } = "[]";
|
public string CalculateQuestions { get; set; } = "[]";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取系统临床数据
|
/// 获取系统临床数据
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -308,6 +362,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询临床数据基类
|
/// 查询临床数据基类
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -36,6 +36,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
CreateMap<SystemClinicalTableQuestion, TrialClinicalTableQuestion>()
|
CreateMap<SystemClinicalTableQuestion, TrialClinicalTableQuestion>()
|
||||||
.ForMember(d => d.SystemTableQuestionId, u => u.MapFrom(s => s.Id));
|
.ForMember(d => d.SystemTableQuestionId, u => u.MapFrom(s => s.Id));
|
||||||
|
|
||||||
|
|
||||||
|
// 预览
|
||||||
|
CreateMap<TrialClinicalQuestion, ClinicalQuestionPreviewDto>();
|
||||||
|
CreateMap<SystemClinicalQuestion, ClinicalQuestionPreviewDto>();
|
||||||
|
CreateMap<SystemClinicalTableQuestion, ClinicalTablePreviewDto>();
|
||||||
|
CreateMap<TrialClinicalTableQuestion, ClinicalTablePreviewDto>();
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
CreateMap<VisitTask, VisitTaskDto>();
|
CreateMap<VisitTask, VisitTaskDto>();
|
||||||
|
|
Loading…
Reference in New Issue