修改一版

Uat_Study
he 2022-08-25 11:43:14 +08:00
parent 2b08e8c517
commit 5f50479309
6 changed files with 102 additions and 34 deletions

View File

@ -6757,6 +6757,14 @@
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetReadingAnswerView(System.Guid,System.Nullable{System.Guid})">
<summary>
或者阅片答案预览
</summary>
<param name="readingQuestionCriterionTrialId"></param>
<param name="visitTaskId"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Application.Services.ReadingImageTaskService.GetSystemReadingQuestion(IRaCIS.Core.Application.Service.Reading.Dto.GetSystemReadingQuestionInDto)">
<summary>
获取系统的阅片问题

View File

@ -671,6 +671,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public List<GetTrialReadingQuestionOutDto> PublicPage{ get; set; }
}
public class GetTrialReadingQuestionOutDto
{
public Guid ReadingQuestionTrialId { get; set; }

View File

@ -475,6 +475,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 问题类型
/// </summary>
public QuestionType? QuestionType { get; set; }
/// <summary>
/// 是否显示在Dicom阅片中
/// </summary>
public bool IsShowInDicom { get; set; }
}
public class ReadingQuestionSystemView
@ -586,6 +591,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 问题类型
/// </summary>
public QuestionType? QuestionType { get; set; }
/// <summary>
/// 是否显示在Dicom阅片中
/// </summary>
public bool IsShowInDicom { get; set; }
}
@ -874,6 +884,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 问题类型
/// </summary>
public QuestionType? QuestionType { get; set; }
/// <summary>
/// 是否显示在Dicom阅片中
/// </summary>
public bool IsShowInDicom { get; set; } = false;
}
@ -993,6 +1008,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// 问题类型
/// </summary>
public QuestionType? QuestionType { get; set; }
/// <summary>
/// 是否显示在Dicom阅片中
/// </summary>
public bool IsShowInDicom { get; set; } = false;
}

View File

@ -98,7 +98,20 @@ namespace IRaCIS.Application.Services
//public async Task<> GetVisitReadingQuestion(GetVisitReadingQuestionInDto inDto)
//{
// var readingTrialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstNotNullAsync();
// List<GetTrialReadingQuestionOutDto> qusetionList = await GetReadingAnswerView(readingTrialCriterion.Id, inDto.VisitTaskId);
// var groupList = qusetionList.Where(x => x.Type == "group" || (x.ParentId == null && x.GroupName.IsNullOrEmpty())).ToList();
// groupList.ForEach(x =>
// {
// this.FindChildQuestion(x, qusetionList);
// });
// groupList = groupList.Where(x => !(x.Type == "group" && x.Childrens.Count() == 0)).ToList();
// result.SinglePage = groupList;
//}
@ -722,38 +735,9 @@ namespace IRaCIS.Application.Services
{
var result = new GetTrialReadingQuestionPageDto();
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 page in _readingCriterionPageRepository.AsQueryable() on data.ReadingCriterionPageId ?? default(Guid) equals page.Id into pageTemp
from leftpage in pageTemp.DefaultIfEmpty()
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()
{
ReadingQuestionTrialId = data.Id,
ReadingQuestionCriterionTrialId = data.ReadingQuestionCriterionTrialId,
TrialId = data.TrialId,
Type = data.Type,
ParentTriggerValue = data.ParentTriggerValue,
GroupName = data.GroupName,
QuestionName = data.QuestionName,
IsRequired = data.IsRequired,
ShowQuestion=data.ShowQuestion,
ShowOrder = data.ShowOrder,
RelevanceId=data.RelevanceId,
RelevanceValue=data.RelevanceValue,
ImageCount=data.ImageCount,
ParentId = data.ParentId,
TypeValue = data.TypeValue,
Answer = leftquestionAnswer.Answer,
ReadingCriterionPageId = data.ReadingCriterionPageId,
PageName = leftpage.PageName,
PageShowOrder = leftpage.ShowOrder,
IsPublicPage = leftpage.IsPublicPage,
};
var qusetionList = await query.Where(x=>x.ShowQuestion!=ShowQuestion.Hide).OrderBy(x => x.ShowOrder).ToListAsync();
var qusetionList = await GetReadingAnswerView(inDto.ReadingQuestionCriterionTrialId,inDto.VisitTaskId);
var formType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.ReadingQuestionCriterionTrialId).Select(x => x.FormType).FirstOrDefaultAsync();
var groupList = new List<GetTrialReadingQuestionOutDto>();
@ -826,9 +810,50 @@ namespace IRaCIS.Application.Services
}); ;
}
/// <summary>
/// 或者阅片答案预览
/// </summary>
/// <param name="readingQuestionCriterionTrialId"></param>
/// <param name="visitTaskId"></param>
/// <returns></returns>
private async Task<List<GetTrialReadingQuestionOutDto>> GetReadingAnswerView(Guid readingQuestionCriterionTrialId,Guid? visitTaskId)
{
var query = from data in _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == readingQuestionCriterionTrialId)
join page in _readingCriterionPageRepository.AsQueryable() on data.ReadingCriterionPageId ?? default(Guid) equals page.Id into pageTemp
from leftpage in pageTemp.DefaultIfEmpty()
join questionAnswer in _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == visitTaskId) on data.Id equals questionAnswer.ReadingQuestionTrialId into questionAnswerTemp
from leftquestionAnswer in questionAnswerTemp.DefaultIfEmpty()
select new GetTrialReadingQuestionOutDto()
{
ReadingQuestionTrialId = data.Id,
ReadingQuestionCriterionTrialId = data.ReadingQuestionCriterionTrialId,
TrialId = data.TrialId,
Type = data.Type,
ParentTriggerValue = data.ParentTriggerValue,
GroupName = data.GroupName,
QuestionName = data.QuestionName,
IsRequired = data.IsRequired,
ShowQuestion = data.ShowQuestion,
ShowOrder = data.ShowOrder,
RelevanceId = data.RelevanceId,
RelevanceValue = data.RelevanceValue,
ImageCount = data.ImageCount,
ParentId = data.ParentId,
TypeValue = data.TypeValue,
Answer = leftquestionAnswer.Answer,
ReadingCriterionPageId = data.ReadingCriterionPageId,
PageName = leftpage.PageName,
PageShowOrder = leftpage.ShowOrder,
IsPublicPage = leftpage.IsPublicPage,
};
var qusetionList = await query.Where(x => x.ShowQuestion != ShowQuestion.Hide).OrderBy(x => x.ShowOrder).ToListAsync();
return qusetionList;
}
#endregion
#region 获取系统的阅片问题
@ -1188,6 +1213,8 @@ namespace IRaCIS.Application.Services
});
}
}
#endregion
#region 保存任务问题

View File

@ -114,6 +114,11 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public QuestionType? QuestionType { get; set; }
/// <summary>
/// 是否显示在Dicom阅片中
/// </summary>
public bool IsShowInDicom { get; set; } = false;
/// <summary>
/// 创建人
/// </summary>

View File

@ -152,6 +152,11 @@ namespace IRaCIS.Core.Domain.Models
/// </summary>
public int? MaxQuestionCount { get; set; }
/// <summary>
/// 是否显示在Dicom阅片中
/// </summary>
public bool IsShowInDicom { get; set; } = false;
/// <summary>
/// 分页标准
/// </summary>