代码修改
							parent
							
								
									9171a62979
								
							
						
					
					
						commit
						ce21c72f37
					
				| 
						 | 
				
			
			@ -42,6 +42,75 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
            _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 项目问题
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,6 +8,61 @@ using System.Threading.Tasks;
 | 
			
		|||
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 外层问题
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 临床问题基本信息
 | 
			
		||||
| 
						 | 
				
			
			@ -155,7 +210,6 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
 | 
			
		|||
        public string CalculateQuestions { get; set; } = "[]";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 获取系统临床数据
 | 
			
		||||
    /// </summary>
 | 
			
		||||
| 
						 | 
				
			
			@ -308,6 +362,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
 | 
			
		|||
 | 
			
		||||
   
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// 查询临床数据基类
 | 
			
		||||
    /// </summary>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,6 +36,12 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
            CreateMap<SystemClinicalTableQuestion, TrialClinicalTableQuestion>()
 | 
			
		||||
             .ForMember(d => d.SystemTableQuestionId, u => u.MapFrom(s => s.Id));
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            // 预览
 | 
			
		||||
            CreateMap<TrialClinicalQuestion, ClinicalQuestionPreviewDto>();
 | 
			
		||||
            CreateMap<SystemClinicalQuestion, ClinicalQuestionPreviewDto>();
 | 
			
		||||
            CreateMap<SystemClinicalTableQuestion, ClinicalTablePreviewDto>();
 | 
			
		||||
            CreateMap<TrialClinicalTableQuestion, ClinicalTablePreviewDto>();
 | 
			
		||||
            #endregion
 | 
			
		||||
 | 
			
		||||
            CreateMap<VisitTask, VisitTaskDto>();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue