Uat_Study
he 2023-02-20 13:53:17 +08:00
parent 6192c2e144
commit a81bb9e3b9
10 changed files with 59 additions and 14 deletions

View File

@ -538,6 +538,15 @@ namespace IRaCIS.Application.Services
} }
Dictionary<ClinicalLevel, int> keys = new Dictionary<ClinicalLevel, int>() {
{ClinicalLevel.Subject,0 },
{ClinicalLevel.ImageRead,1 },
{ClinicalLevel.OncologyRead,2 },
{ClinicalLevel.SubjectVisit,3 },
};
result.OrderBy(x => keys[x.ClinicalDataLevel]).ToList();
return (result, new return (result, new
{ {
SubjectCode = await _subjectRepository.Where(x => x.Id == inDto.SubjectId).Select(x => x.Code).FirstOrDefaultAsync(), SubjectCode = await _subjectRepository.Where(x => x.Id == inDto.SubjectId).Select(x => x.Code).FirstOrDefaultAsync(),

View File

@ -156,7 +156,14 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string Answer { get; set; } public string Answer { get; set; }
public bool IsGlobalChange { get; set; } = false;
/// <summary>
/// 全局阅片修改的答案
/// </summary>
public string GlobalChangeAnswer { get; set; } = string.Empty;
} }
@ -1408,6 +1415,9 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
public string TaskBlindName { get; set; } public string TaskBlindName { get; set; }
public decimal VisitTaskNum { get; set; } public decimal VisitTaskNum { get; set; }
public Arm? JudgeResultArm { get; set; }
} }
public class GetJudgeReadingPastResultListInDto public class GetJudgeReadingPastResultListInDto

View File

@ -51,9 +51,12 @@ namespace IRaCIS.Application.Services
foreach (var answer in item.AnswerList) foreach (var answer in item.AnswerList)
{ {
await _readingGlobalTaskInfoRepository.BatchDeleteNoTrackingAsync(x => x.GlobalTaskId == inDto.GlobalTaskId && x.TaskId == item.VisitTaskId && x.GlobalAnswerType == answer.GlobalAnswerType && x.QuestionId == answer.QuestionId); await _readingGlobalTaskInfoRepository.BatchDeleteNoTrackingAsync(x => x.GlobalTaskId == inDto.GlobalTaskId && x.TaskId == item.VisitTaskId && x.GlobalAnswerType == answer.GlobalAnswerType && x.QuestionId == answer.QuestionId);
await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.VisitTaskId && x.ReadingQuestionTrialId == answer.QuestionId, x => new ReadingTaskQuestionAnswer() await _readingTaskQuestionAnswerRepository.BatchUpdateNoTrackingAsync(x => x.VisitTaskId == item.VisitTaskId && x.ReadingQuestionTrialId == answer.QuestionId
&& x.Answer != answer.Answer && x.Answer != string.Empty
, x => new ReadingTaskQuestionAnswer()
{ {
GlobalChangeAnswer = answer.Answer GlobalChangeAnswer = answer.Answer,
IsGlobalChange=true,
}); });
} }
} }
@ -233,7 +236,7 @@ namespace IRaCIS.Application.Services
var globalReadingQuestion = await _readingGlobalTaskInfoRepository.Where(x => x.GlobalTaskId == inDto.VisitTaskId).ToListAsync(); var globalReadingQuestion = await _readingGlobalTaskInfoRepository.Where(x => x.GlobalTaskId == inDto.VisitTaskId).ToListAsync();
var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => x.CriterionType).FirstOrDefaultAsync(); var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == taskInfo.TrialReadingCriterionId).Select(x => x.CriterionType).FirstOrDefaultAsync();
// 如果不是PCWG3 Before的Answer取自于 上一次全局阅片的结果, 如果没有上一次全局阅片的结果 取访视的答案 // Before的Answer取自于 上一次全局阅片的结果, 如果没有上一次全局阅片的结果 取访视的答案
var lastGlobalTask = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Global && var lastGlobalTask = await _visitTaskRepository.Where(x => x.ReadingCategory == ReadingCategory.Global &&
x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId &&
@ -354,8 +357,6 @@ namespace IRaCIS.Application.Services
if (criterionType == CriterionType.PCWG3) if (criterionType == CriterionType.PCWG3)
{ {
// PCWG3 访视点肿瘤评估 采用上一次全局阅片的答案 如果没有 就采用访视的答案
// 找到上一个全局阅片 // 找到上一个全局阅片

View File

@ -425,8 +425,14 @@ namespace IRaCIS.Application.Services
taskQuery = _visitTaskRepository.Where(x => taskInfo.PastResultTaskIdList.Contains(x.Id)); taskQuery = _visitTaskRepository.Where(x => taskInfo.PastResultTaskIdList.Contains(x.Id));
} }
var readingPastResultList = await taskQuery var readingPastResultList = await taskQuery.Select(x => new GetReadingPastResultListOutDto() {
.ProjectTo<GetReadingPastResultListOutDto>(_mapper.ConfigurationProvider).OrderBy(x => x.VisitTaskNum).ToListAsync(); VisitTaskId = x.Id,
TaskBlindName = x.TaskBlindName,
TaskName = x.TaskName,
VisitTaskNum = x.VisitTaskNum,
JudgeResultArm = x.JudgeResultTask == null?null:x.JudgeResultTask.ArmEnum,
}).OrderBy(x => x.VisitTaskNum).ToListAsync();
return readingPastResultList; return readingPastResultList;
} }

View File

@ -204,8 +204,9 @@ namespace IRaCIS.Core.Application.Service
.ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName)) .ForMember(d => d.QuestionName, u => u.MapFrom(s => isEn_Us ? s.QuestionEnName : s.QuestionName))
.ForMember(x=>x.Id, y=>y.MapFrom(z=>z.Id)); .ForMember(x=>x.Id, y=>y.MapFrom(z=>z.Id));
CreateMap<VisitTask, GetReadingPastResultListOutDto>() //CreateMap<VisitTask, GetReadingPastResultListOutDto>()
.ForMember(x => x.VisitTaskId, y => y.MapFrom(z => z.Id)); // .ForMember(x => x.VisitTaskId, y => y.MapFrom(z => z.Id))
// .ForMember(x => x.JudgeResultArm, y => y.MapFrom(z => (z.JudgeResultTask==null?null:z.JudgeResultTask.ArmEnum)));
#endregion #endregion
#region 医学审核 #region 医学审核

View File

@ -202,11 +202,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var task in taskInfoList) foreach (var task in taskInfoList)
{ {
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
question.Answer.Add(new TaskQuestionAnswer() question.Answer.Add(new TaskQuestionAnswer()
{ {
Answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(), Answer = answer == null ? string.Empty : answer.Answer,
IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
TaskName = task.TaskName, TaskName = task.TaskName,
VisitTaskId = task.VisitTaskId, VisitTaskId = task.VisitTaskId,
}); });
} }

View File

@ -180,11 +180,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var task in taskInfoList) foreach (var task in taskInfoList)
{ {
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
question.Answer.Add(new TaskQuestionAnswer() question.Answer.Add(new TaskQuestionAnswer()
{ {
Answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(), Answer = answer==null?string.Empty:answer.Answer,
IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
TaskName = task.TaskName, TaskName = task.TaskName,
VisitTaskId = task.VisitTaskId, VisitTaskId = task.VisitTaskId,
}); });
} }

View File

@ -192,11 +192,15 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate
foreach (var task in taskInfoList) foreach (var task in taskInfoList)
{ {
var answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).FirstOrDefault();
question.Answer.Add(new TaskQuestionAnswer() question.Answer.Add(new TaskQuestionAnswer()
{ {
Answer = answers.Where(x => x.VisitTaskId == task.VisitTaskId && x.ReadingQuestionTrialId == question.QuestionId).Select(x => x.Answer).FirstIsNullReturnEmpty(), Answer = answer == null ? string.Empty : answer.Answer,
IsGlobalChange = answer == null ? false : answer.IsGlobalChange,
GlobalChangeAnswer = answer == null ? string.Empty : answer.GlobalChangeAnswer,
TaskName = task.TaskName, TaskName = task.TaskName,
VisitTaskId = task.VisitTaskId, VisitTaskId = task.VisitTaskId,
}); });
} }

View File

@ -54,6 +54,12 @@ namespace IRaCIS.Core.Domain.Models
/// </summary> /// </summary>
public string GlobalChangeAnswer { get; set; } public string GlobalChangeAnswer { get; set; }
/// <summary>
/// 全局阅片是否修改
/// </summary>
public bool IsGlobalChange { get; set; } = false;
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>

View File

@ -302,7 +302,7 @@ namespace IRaCIS.Core.Domain.Models
public DateTime? TrialFinishTime { get; set; } public DateTime? TrialFinishTime { get; set; }
public int? DigitPlaces { get; set; } = 2; public int? DigitPlaces { get; set; } = 1;
public bool IsTrialProcessConfirmed { get; set; } public bool IsTrialProcessConfirmed { get; set; }