修改一版

Uat_Study
he 2022-07-21 17:17:30 +08:00
parent 182f47bbca
commit 9ac7ed7bf4
2 changed files with 123 additions and 28 deletions

View File

@ -79,6 +79,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public decimal VisitNum { get; set; } public decimal VisitNum { get; set; }
public Arm ArmEnum { get; set; }
public List<GlobalQuestionInfo> BeforeQuestionList { get; set; } public List<GlobalQuestionInfo> BeforeQuestionList { get; set; }
public List<GlobalQuestionInfo> AfterQuestionList { get; set; } public List<GlobalQuestionInfo> AfterQuestionList { get; set; }
@ -93,6 +95,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string Answer { get; set; } public string Answer { get; set; }
/// <summary> /// <summary>
/// 答案分组 /// 答案分组
/// </summary> /// </summary>
@ -253,12 +258,21 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid ReadingQuestionCriterionTrialId { get; set; } public Guid ReadingQuestionCriterionTrialId { get; set; }
} }
public class VisitTaskArm
{
public Arm ArmEnum { get; set; }
public Guid VisitTaskId { get; set; }
}
public class GetJudgeReadingInfoOutDto public class GetJudgeReadingInfoOutDto
{ {
public Guid? JudgeResultTaskId { get; set; } public Guid? JudgeResultTaskId { get; set; }
public List<JudgeReadingInfoDto> VisitTaskInfoList { get; set; } public List<JudgeReadingInfoDto> VisitInfoList { get; set; }
public List<VisitTaskArm> VisitTaskArmList { get; set; }
public ReadingTaskState ReadingTaskState { get; set; } public ReadingTaskState ReadingTaskState { get; set; }
@ -314,14 +328,24 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public Guid VisitId { get; set; } public Guid VisitId { get; set; }
public Guid VisitTaskId { get; set; }
public List<JudgeReadingQuestion> VisitTaskInfoList { get; set; }
}
public class JudgeReadingQuestion
{
public Arm ArmEnum { get; set; } public Arm ArmEnum { get; set; }
public Guid VisitTaskId { get; set; }
public List<JudgeQuestion> JudgeQuestionList { get; set; } public List<JudgeQuestion> JudgeQuestionList { get; set; }
} }
public class JudgeQuestion public class JudgeQuestion
{ {
public Guid QuestionId { get; set; } public Guid QuestionId { get; set; }

View File

@ -151,7 +151,8 @@ namespace IRaCIS.Application.Services
GetGlobalReadingInfoOutDto result = new GetGlobalReadingInfoOutDto() GetGlobalReadingInfoOutDto result = new GetGlobalReadingInfoOutDto()
{ {
GlobalTaskId = inDto.VisitTaskId, GlobalTaskId = inDto.VisitTaskId,
ReadingTaskState=taskInfo.ReadingTaskState ReadingTaskState=taskInfo.ReadingTaskState,
}; };
result.TaskList = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit && result.TaskList = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Visit &&
@ -160,7 +161,8 @@ namespace IRaCIS.Application.Services
{ {
VisitName = x.SourceSubjectVisit.VisitName, VisitName = x.SourceSubjectVisit.VisitName,
VisitTaskId = x.Id, VisitTaskId = x.Id,
VisitNum=x.SourceSubjectVisit.VisitNum, ArmEnum= taskInfo.ArmEnum,
VisitNum =x.SourceSubjectVisit.VisitNum,
VisitId = x.SourceSubjectVisitId.Value, VisitId = x.SourceSubjectVisitId.Value,
BeforeQuestionList = x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).OrderBy(y => y.ReadingQuestionTrial.ShowOrder) BeforeQuestionList = x.ReadingTaskQuestionAnswerList.Where(y => y.ReadingQuestionTrial.IsJudgeQuestion).OrderBy(y => y.ReadingQuestionTrial.ShowOrder)
.Select(y => new GlobalQuestionInfo() .Select(y => new GlobalQuestionInfo()
@ -168,6 +170,7 @@ namespace IRaCIS.Application.Services
QuestionId = y.ReadingQuestionTrialId, QuestionId = y.ReadingQuestionTrialId,
QuestionName = y.ReadingQuestionTrial.QuestionName, QuestionName = y.ReadingQuestionTrial.QuestionName,
AnswerGroup=y.ReadingQuestionTrial.AnswerGroup, AnswerGroup=y.ReadingQuestionTrial.AnswerGroup,
AnswerCombination=y.ReadingQuestionTrial.AnswerCombination, AnswerCombination=y.ReadingQuestionTrial.AnswerCombination,
JudgeType=y.ReadingQuestionTrial.JudgeType, JudgeType=y.ReadingQuestionTrial.JudgeType,
Type = y.ReadingQuestionTrial.Type, Type = y.ReadingQuestionTrial.Type,
@ -192,6 +195,7 @@ namespace IRaCIS.Application.Services
QuestionId = lr.question.QuestionId, QuestionId = lr.question.QuestionId,
QuestionName = lr.question.QuestionName, QuestionName = lr.question.QuestionName,
Type = lr.question.Type, Type = lr.question.Type,
AnswerGroup = lr.question.AnswerGroup, AnswerGroup = lr.question.AnswerGroup,
AnswerCombination = lr.question.AnswerCombination, AnswerCombination = lr.question.AnswerCombination,
JudgeType = lr.question.JudgeType, JudgeType = lr.question.JudgeType,
@ -630,44 +634,111 @@ namespace IRaCIS.Application.Services
JudgeResultTaskId = visitTask.JudgeResultTaskId, JudgeResultTaskId = visitTask.JudgeResultTaskId,
JudgeResultRemark = visitTask.JudgeResultRemark, JudgeResultRemark = visitTask.JudgeResultRemark,
JudgeResultImagePath = visitTask.JudgeResultImagePath, JudgeResultImagePath = visitTask.JudgeResultImagePath,
VisitTaskInfoList = new List<JudgeReadingInfoDto>() VisitInfoList = new List<JudgeReadingInfoDto>()
}; };
var firstTask = await _visitTaskRepository.Where(x => x.JudgeVisitTaskId == inDto.VisitTaskId).FirstNotNullAsync(); var taskList = await _visitTaskRepository.Where(x => x.JudgeVisitTaskId == inDto.VisitTaskId).OrderBy(x=>x.ArmEnum).ToListAsync();
judgeInfo.VisitTaskArmList = taskList.Select(x => new VisitTaskArm()
{
ArmEnum = x.ArmEnum,
VisitTaskId = x.Id
}).ToList();
var visitIds = await _visitTaskRepository.Where(x => x.JudgeVisitTaskId == inDto.VisitTaskId).Select(x => new var visitIds = await _visitTaskRepository.Where(x => x.JudgeVisitTaskId == inDto.VisitTaskId).Select(x => new
{ {
x.Id, x.Id,
x.ArmEnum, x.ArmEnum,
}).ToListAsync(); }).ToListAsync();
switch (firstTask.ReadingCategory) switch (taskList[0].ReadingCategory)
{ {
case ReadingCategory.Visit: case ReadingCategory.Visit:
JudgeReadingInfoDto judgeReadingInfoDto = new JudgeReadingInfoDto() { JudgeReadingInfoDto judgeReadingInfoDto = new JudgeReadingInfoDto() {
VisitId= firstTask.SourceSubjectVisitId.Value, VisitId = taskList[0].SourceSubjectVisitId.Value,
VisitName= firstTask.TaskBlindName, VisitName = taskList[0].TaskBlindName,
VisitTaskInfoList = new List<JudgeReadingQuestion>(),
}; };
foreach (var item in taskList)
{
judgeReadingInfoDto.VisitTaskInfoList.Add(new JudgeReadingQuestion()
{
ArmEnum = item.ArmEnum,
VisitTaskId = item.Id,
JudgeQuestionList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == item.Id && x.ReadingQuestionTrial.IsJudgeQuestion).OrderBy(x => x.ReadingQuestionTrial.ShowOrder)
.Select(x => new JudgeQuestion()
{
Answer = x.Answer,
QuestionId = x.ReadingQuestionTrial.Id,
QuestionName = x.ReadingQuestionTrial.QuestionName
}).ToListAsync(),
});
}
judgeInfo.VisitInfoList.Add(judgeReadingInfoDto);
break;
case ReadingCategory.Global:
var taskOneInfo = await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto()
{
UsingOriginalData = true,
VisitTaskId = taskList[0].Id
});
var taskTwoInfo = await this.GetGlobalReadingInfo(new GetGlobalReadingInfoInDto()
{
UsingOriginalData = true,
VisitTaskId = taskList[0].Id
});
foreach (var item in taskOneInfo.TaskList)
{
GlobalVisitInfo twoItem = taskTwoInfo.TaskList.Where(x => x.VisitId == item.VisitId).FirstOrDefault();
JudgeReadingInfoDto judgeReadingInfo = new JudgeReadingInfoDto()
{
VisitId = item.VisitId,
VisitName = item.VisitName,
VisitTaskInfoList = new List<JudgeReadingQuestion>(),
};
judgeReadingInfo.VisitTaskInfoList.Add(new JudgeReadingQuestion()
{
ArmEnum = item.ArmEnum,
VisitTaskId = item.VisitTaskId,
JudgeQuestionList = item.AfterQuestionList.Where(x => x.QuestionId != null).Select(x => new JudgeQuestion()
{
Answer = x.Answer,
QuestionId = x.QuestionId.Value,
QuestionName = x.QuestionName
}).ToList()
});
if (twoItem != null)
{
judgeReadingInfo.VisitTaskInfoList.Add(new JudgeReadingQuestion()
{
ArmEnum = twoItem.ArmEnum,
VisitTaskId = twoItem.VisitTaskId,
JudgeQuestionList = twoItem.AfterQuestionList.Where(x => x.QuestionId != null).Select(x => new JudgeQuestion()
{
Answer = x.Answer,
QuestionId = x.QuestionId.Value,
QuestionName = x.QuestionName
}).ToList()
});
}
judgeInfo.VisitInfoList.Add(judgeReadingInfo);
}
break; break;
} }
//foreach (var item in visitIds)
//{
// var taskReadingQuestionList = await this.GetTaskAndAnswer(item.Id);
// judgeInfo.VisitTaskInfoList.Add(
// new JudgeReadingInfoDto()
// {
// JudgeQuestionAnswerInfoList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId == item.Id && x.ReadingQuestionTrial.IsJudgeQuestion).Select(x => new JudgeQuestionAnswerInfo
// {
// Answer = x.Answer,
// QuestionName = x.ReadingQuestionTrial.QuestionName,
// }).ToListAsync(),
// VisitTaskId = item.Id,
// ArmEnum = item.ArmEnum,
// TaskReadingQuestionList = taskReadingQuestionList,
// });
//}
return judgeInfo; return judgeInfo;
} }
#endregion #endregion