diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs index 83a0061a1..3c939ca6e 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingCalculateViewModel.cs @@ -98,6 +98,10 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto { public Guid SubjectId { get; set; } + public bool IsAnalysisCreate { get; set; } + + public bool? IsSelfAnalysis { get; set; } + public bool IsBaseLine { get; set; } /// diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 03c00c04d..c01e33c89 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -350,7 +350,9 @@ namespace IRaCIS.Application.Services // 失效的只查看自己 .WhereIf(visitTaskInfo.TaskState != TaskState.Effect,x=>x.Id== indto.VisitTaskId) .Where(x => (x.SubjectId == visitTaskInfo.SubjectId && x.TaskState == TaskState.Effect - &&x.ArmEnum== visitTaskInfo.ArmEnum + &&x.IsAnalysisCreate==visitTaskInfo.IsAnalysisCreate + &&x.IsSelfAnalysis== visitTaskInfo.IsSelfAnalysis + && x.ArmEnum== visitTaskInfo.ArmEnum &&x.TrialReadingCriterionId==visitTaskInfo.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Visit && !x.IsAnalysisCreate && x.ReadingTaskState == ReadingTaskState.HaveSigned) || x.Id == indto.VisitTaskId ).OrderBy(x => x.VisitTaskNum).Select(x => new VisitTaskInfo() diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs index 29c5bc287..59ce55a4e 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/RECIST1Point1CalculateService.cs @@ -421,7 +421,9 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate QuestionInfo = questionInfos, CriterionId = visitTask.TrialReadingCriterionId, TrialId = visitTask.TrialId, - IsBaseLine = subjectVisit!.IsBaseLine, + IsAnalysisCreate=visitTask.IsAnalysisCreate, + IsSelfAnalysis=visitTask.IsSelfAnalysis, + IsBaseLine = subjectVisit!.IsBaseLine, DoctorUserId = visitTask.DoctorUserId, TrialReadingCriterionId= visitTask.TrialReadingCriterionId, BaseLineTaskId = baseLinetaskId, @@ -1041,6 +1043,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { // 查询的时候要把自己排除 因为查询出来的可能不是计算出的最新的 visitTaskAnswerList = await _readingTaskQuestionAnswerRepository.Where(x => x.VisitTaskId != inDto.VisitTaskId && x.VisitTask.ReadingCategory == ReadingCategory.Visit + && x.VisitTask.IsAnalysisCreate == inDto.IsAnalysisCreate + && x.VisitTask.IsSelfAnalysis == inDto.IsSelfAnalysis && 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 {