diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs index 005428748..1e28a772d 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs @@ -99,6 +99,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public bool IsBaseLine { get; set; } + public string VisitName { get; set; } + public Guid VisitTaskId { get; set; } public Guid BaseLineTaskId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs index f72b3af05..293b4264a 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingCalculateService.cs @@ -356,6 +356,7 @@ namespace IRaCIS.Core.Application.Service DoctorUserId = visitTask.DoctorUserId, BaseLineTaskId= baseLinetaskId, ArmEnum=visitTask.ArmEnum, + VisitName= subjectVisit.VisitName, }; return readingData; @@ -831,8 +832,9 @@ namespace IRaCIS.Core.Application.Service { if (visitTaskAnswerList == null) { - visitTaskAnswerList = await _readingTaskQuestionAnswerRepository.Where(x =>x.VisitTaskId==inDto.VisitTaskId|| (x.VisitTask.ReadingCategory == ReadingCategory.Visit - && x.SubjectId == inDto.SubjectId && x.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned &&x.VisitTask.ArmEnum==inDto.ArmEnum&& x.VisitTask.TaskState == TaskState.Effect && x.ReadingQuestionTrial.QuestionType == QuestionType.SOD)) + // 查询的时候要把自己排除 因为查询出来的可能不是计算出的最新的 + visitTaskAnswerList = await _readingTaskQuestionAnswerRepository.Where(x =>x.VisitTaskId!=inDto.VisitTaskId&&x.VisitTask.ReadingCategory == ReadingCategory.Visit + && x.SubjectId == inDto.SubjectId && x.VisitTask.ReadingTaskState == ReadingTaskState.HaveSigned &&x.VisitTask.ArmEnum==inDto.ArmEnum&& x.VisitTask.TaskState == TaskState.Effect && x.ReadingQuestionTrial.QuestionType == QuestionType.SOD) .Select(x => new VisitTaskAnswerInfo { VisitTaskId = x.VisitTaskId, @@ -841,7 +843,20 @@ namespace IRaCIS.Core.Application.Service SOD = x.Answer.IsNullOrEmptyReturn0(), }).ToListAsync(); - } + // 这里是需要加上自己的 基线不用管 + if (visitTaskAnswerList.Count > 0) + { + visitTaskAnswerList.Add(new VisitTaskAnswerInfo() + { + VisitTaskId = inDto.VisitTaskId, + QuestionId= visitTaskAnswerList[0].QuestionId, + VisitName=inDto.VisitName, + SOD=GetSODData(inDto).ToString().IsNullOrEmptyReturn0(), + }); + } + + + } return visitTaskAnswerList; }