diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs index f7ed34f7b..aea5c8824 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingImageTaskViewModel.cs @@ -998,6 +998,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid? JudgeTaskId { get; set; } + public string? JudgeTaskName { get; set; } + public ReadingTaskState ReadingTaskState { get; set; } public string GlobalUpdateType { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs index ba0f7a25e..fe286c9a4 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingMedicalReviewDto.cs @@ -620,9 +620,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid? OtherTaskId { get; set; } public Guid? GlobalTaskId { get; set; } + public string? GlobalTaskName { get; set; } public Guid? JudgeTaskId { get; set; } + public string? JudgeTaskName { get; set; } + public Arm OtherArmEnum { get; set; } //public Guid? JudgeVisitTaskId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs index cb0ea3d58..c5dd8bc76 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicalReviewService.cs @@ -295,14 +295,29 @@ namespace IRaCIS.Core.Application.Service .Select(x => new { x.VisitTaskNum, + x.TaskBlindName, x.Id }).ToListAsync(); medicalReviewInfo.TaskList.ForEach(x => { - x.GlobalTaskId = globalTask.Where(y => y.VisitTaskNum == x.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Global]).Select(y => y.Id).FirstOrDefault(); - x.JudgeTaskId = globalTask.Where(y => y.VisitTaskNum == x.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Judge]).Select(y => y.Id).FirstOrDefault(); + + var visitGlobalInfo = globalTask.Where(y => y.VisitTaskNum == x.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Global]).FirstOrDefault(); + if (visitGlobalInfo != null) + { + x.GlobalTaskId = visitGlobalInfo.Id; + x.GlobalTaskName = visitGlobalInfo.TaskBlindName; + } + + var visitJudgeInfo = globalTask.Where(y => y.VisitTaskNum == x.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Judge]).FirstOrDefault(); + if (visitGlobalInfo != null) + { + x.JudgeTaskId = visitJudgeInfo.Id; + x.JudgeTaskName = visitJudgeInfo.TaskBlindName; + } + + x.IsGlobalChange = globalChangeAnswer.Any(y => y.TaskId == x.TaskId); x.JudgeQuestionAnswerInfoList = visitTaskAnswer.Where(y => y.VisitTaskId == x.TaskId).OrderBy(y => y.ShowOrder).ToList(); }); diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs index 146fb1168..f846f3715 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingGlobalTaskService.cs @@ -141,7 +141,7 @@ namespace IRaCIS.Application.Services && x.IsSelfAnalysis == taskInfo.IsSelfAnalysis && x.TaskState == TaskState.Effect && x.DoctorUserId != taskInfo.DoctorUserId ).Select(x => x.Id).FirstOrDefaultAsync(); - result.JudgeTaskId = await _visitTaskRepository.Where(x => + var judgeInfo = await _visitTaskRepository.Where(x => x.SubjectId == taskInfo.SubjectId && x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && x.TaskState == TaskState.Effect @@ -152,8 +152,13 @@ namespace IRaCIS.Application.Services && x.DoctorUserId == taskInfo.DoctorUserId && x.ReadingTaskState == ReadingTaskState.HaveSigned && x.VisitTaskNum == taskInfo.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Judge] - && x.ReReadingApplyState != ReReadingApplyState.Agree) - .Select(x => x.Id).FirstOrDefaultAsync(); + && x.ReReadingApplyState != ReReadingApplyState.Agree).FirstOrDefaultAsync(); + if (judgeInfo != null) + { + result.JudgeTaskId = judgeInfo.Id; + result.JudgeTaskName = judgeInfo.TaskBlindName; + } + // 一致性分析按照doctorId 其他按照分组