Uat_Study
he 2022-08-30 18:00:05 +08:00
parent d5507e0570
commit 3cba1e5b78
4 changed files with 173 additions and 13 deletions

View File

@ -1555,6 +1555,11 @@
文件路径 文件路径
</summary> </summary>
</member> </member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.VistTaskTableQuestionRowInfo.OrderMark">
<summary>
序号标记
</summary>
</member>
<member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TrialReadQuestionData.PageName"> <member name="P:IRaCIS.Core.Application.Service.Reading.Dto.TrialReadQuestionData.PageName">
<summary> <summary>
分页名称 分页名称
@ -3525,6 +3530,20 @@
阅片计算 阅片计算
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.CalculateTask(IRaCIS.Core.Application.ViewModel.CalculateTaskInDto)">
<summary>
计算任务
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.ReadingCalculate(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)">
<summary>
自动计算
</summary>
<param name="inDto"></param>
<returns></returns>
</member>
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSODData(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)"> <member name="M:IRaCIS.Core.Application.Service.ReadingCalculateService.GetSODData(IRaCIS.Core.Application.ViewModel.ReadingCalculateDto)">
<summary> <summary>
获取SOD 获取SOD

View File

@ -10,6 +10,94 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
{ {
#region 阅片问题 #region 阅片问题
public class GetReadingReportEvaluationOutDto
{
public List<VisitTaskInfo> VisitTaskList { get; set; }
public List<VisitTaskGroupInfo> Questions { get; set; }
}
public class VisitTaskGroupInfo
{
public Guid QuestionId { get; set; }
public string QuestionName { get; set; }
public string GroupName { get; set; }
public int ShowOrder { get; set; }
public List<VisitTaskQuestionInfo> QuestionList = new List<VisitTaskQuestionInfo>();
}
public class VisitTaskQuestionInfo
{
public Guid QuestionId { get; set; }
public string QuestionName { get; set; }
public string GroupName { get; set; }
public int ShowOrder { get; set; }
public string Answer { get; set; } = string.Empty;
public List<VistTaskTableQuestionRowInfo> TableRowQuestionList = new List<VistTaskTableQuestionRowInfo>();
}
public class VistTaskTableQuestionRowInfo
{
public int RowIndex { get; set; }
/// <summary>
/// 序号标记
/// </summary>
public string OrderMark { get; set; } = string.Empty;
public List<VistTaskTableQuestionInfo> TableQuestionList = new List<VistTaskTableQuestionInfo>();
}
public class VistTaskTableQuestionInfo
{
public Guid QuestionId { get; set; }
public Guid TableQuestionId { get; set; }
public string QuestionName { get; set; }
public int ShowOrder { get; set; }
public string Answer { get; set; } = string.Empty;
}
public class VisitTaskInfo
{
public Guid VisitTaskId { get; set; }
public string TaskName { get; set; }
public decimal VisitTaskNum { get; set; }
}
public class GetReadingReportEvaluationInDto
{
public Guid SubjectId { get; set; }
public Guid TrialId { get; set; }
}
public class GetReadingQuestionAndAnswerOutDto public class GetReadingQuestionAndAnswerOutDto
{ {

View File

@ -105,7 +105,7 @@ namespace IRaCIS.Core.Application.Service
CriterionId= criterionId, CriterionId= criterionId,
TrialId=visitTask.TrialId, TrialId=visitTask.TrialId,
}; };
await ReadingCalculate(readingData); //await ReadingCalculate(readingData);
} }
@ -118,7 +118,7 @@ namespace IRaCIS.Core.Application.Service
{ {
var needAddList = new List<ReadingTaskQuestionAnswer>(); var needAddList = new List<ReadingTaskQuestionAnswer>();
foreach (var item in inDto.QuestionInfo) foreach (var item in inDto.QuestionInfo.Where(x => x.QuestionType != null))
{ {
switch (item.QuestionType) switch (item.QuestionType)
{ {

View File

@ -109,22 +109,75 @@ namespace IRaCIS.Application.Services
#region 表格问题相关 #region 表格问题相关
//public async Task<> GetVisitReadingQuestion(GetVisitReadingQuestionInDto inDto) //public async Task<> GetReadingReportEvaluation(GetReadingReportEvaluationInDto indto)
//{ //{
// var readingTrialCriterion = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId && x.IsConfirm).FirstNotNullAsync(); // GetReadingReportEvaluationOutDto result = new GetReadingReportEvaluationOutDto();
// List<GetTrialReadingQuestionOutDto> qusetionList = await GetReadingAnswerView(readingTrialCriterion.Id, inDto.VisitTaskId);
// var taskInfoList = await _visitTaskRepository.Where(x => x.SubjectId == indto.SubjectId && x.TaskState == TaskState.Effect
// && x.ReadingCategory == ReadingCategory.Visit && !x.IsAnalysisCreate && x.ReadingTaskState == ReadingTaskState.HaveSigned
// var groupList = qusetionList.Where(x => x.Type == "group" || (x.ParentId == null && x.GroupName.IsNullOrEmpty())).ToList(); // ).OrderBy(x => x.VisitTaskNum).Select(x => new VisitTaskInfo()
// groupList.ForEach(x =>
// { // {
// this.FindChildQuestion(x, qusetionList); // VisitTaskId = x.Id,
// }); // TaskName = x.TaskName,
// VisitTaskNum = x.VisitTaskNum,
// }).ToListAsync();
// var visitTaskIds = taskInfoList.Select(x => x.VisitTaskId).ToList();
// var criterionId = await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == indto.TrialId && x.IsConfirm).Select(x => x.Id).FirstOrDefaultAsync();
// var questionList = await _readingQuestionTrialRepository.Where(x => x.ReadingQuestionCriterionTrialId == criterionId).ToListAsync();
// var tableQuestionList = await _readingTableQuestionTrialRepository.Where(x => x.TrialCriterionId == criterionId).ToListAsync();
// var answers = await _readingTaskQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
// var tableAnswers = await _readingTableQuestionAnswerRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)).ToListAsync();
// // 第一级
// List<VisitTaskGroupInfo> questions = questionList.Where(x => x.Type == "group").OrderBy(x => x.ShowOrder).Select(x => new VisitTaskGroupInfo()
// {
// QuestionId = x.Id,
// GroupName=x.GroupName,
// QuestionName = x.QuestionName,
// ShowOrder = x.ShowOrder,
// }).ToList();
// foreach (var item in questions)
// {
// item.QuestionList = questionList.Where(x => x.GroupName == item.GroupName).OrderBy(x => x.ShowOrder).Select(x => new VisitTaskQuestionInfo()
// {
// GroupName = x.GroupName,
// QuestionId = x.Id,
// QuestionName = x.QuestionName,
// ShowOrder = x.ShowOrder,
// }).ToList();
// foreach (var question in item.QuestionList)
// {
// question.TableRowQuestionList = new List<VistTaskTableQuestionRowInfo>()
// {
// };
// VistTaskTableQuestionRowInfo questionInfo = new VistTaskTableQuestionRowInfo()
// {
// RowIndex = 0,
// OrderMark = String.Empty,
// TableQuestionList=tableQuestionList.Where(x=>x.ReadingQuestionId== question.QuestionId).Select(x=> new VistTaskTableQuestionInfo() {
// Answer=String.Empty,
// GroupName=question
// })
// }
// }
// }
// groupList = groupList.Where(x => !(x.Type == "group" && x.Childrens.Count() == 0)).ToList();
// result.SinglePage = groupList;
//} //}
/// <summary> /// <summary>