diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs index e2798ccd7..44b414aa0 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingJudgeTaskService.cs @@ -434,7 +434,7 @@ namespace IRaCIS.Application.Services { var oncologModule = await _readModuleRepository .Where(x => x.SubjectVisitId == taskInfo.SourceSubjectVisitId &&x.TrialReadingCriterionId==taskInfo.TrialReadingCriterionId&& x.ModuleType == ModuleTypeEnum.Oncology).FirstOrDefaultAsync(); - if (taskInfo.TrialReadingCriterion.IsGlobalReading&&oncologModule != null) + if (!taskInfo.TrialReadingCriterion.IsGlobalReading&&oncologModule != null) { await AddOncologyTask(oncologModule.Id); } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs index fb58ba383..438de68c8 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingOncologyTaskService.cs @@ -32,7 +32,7 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task GetOncologyReadingInfo(GetOncologyReadingInfoInDto inDto) { - var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).FirstNotNullAsync(); + var taskInfo = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Include(x=>x.TrialReadingCriterion).FirstNotNullAsync(); if (taskInfo.ReadingCategory != ReadingCategory.Oncology) { @@ -89,11 +89,13 @@ namespace IRaCIS.Application.Services x.TaskState == TaskState.Effect && x.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && taskNums.Contains(x.VisitTaskNum) && - x.ReadingCategory == ReadingCategory.Global && x.IsAnalysisCreate == taskInfo.IsAnalysisCreate && x.IsSelfAnalysis == taskInfo.IsSelfAnalysis && x.VisitTaskNum < taskInfo.VisitTaskNum - ).OrderByDescending(x=>x.VisitTaskNum).ThenBy(x => x.ArmEnum) + ) + .WhereIf(taskInfo.TrialReadingCriterion.IsGlobalReading, x=>x.ReadingCategory == ReadingCategory.Global) + .WhereIf(!taskInfo.TrialReadingCriterion.IsGlobalReading, x => x.ReadingCategory == ReadingCategory.Visit) + .OrderByDescending(x=>x.VisitTaskNum).ThenBy(x => x.ArmEnum) .FirstNotNullAsync(); } @@ -370,20 +372,22 @@ namespace IRaCIS.Application.Services var readModuleInfo = await _readModuleRepository.Where(x => x.Id == oncologModuleId && x.ModuleType == ModuleTypeEnum.Oncology).FirstOrDefaultAsync(); + // 如果当前是肿瘤学 if (readModuleInfo != null) { // 先找到对应的全局阅片模块Id + var isGlobalReading = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == readModuleInfo.TrialReadingCriterionId).Select(x => x.IsGlobalReading).FirstOrDefaultAsync(); - var globalOrVisitTaskId = default(Guid); + var globalOrVisitTaskId = default(Guid); var globalreadModule = await _readModuleRepository.Where(x => x.SubjectVisitId == readModuleInfo.SubjectVisitId && x.TrialReadingCriterionId== readModuleInfo.TrialReadingCriterionId&& x.ModuleType == ModuleTypeEnum.Global).Include(x=>x.SubjectVisit).FirstOrDefaultAsync(); // 获取系统配置 var readingType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == readModuleInfo.TrialReadingCriterionId).Select(x => x.ReadingType).FirstOrDefaultAsync(); - if (globalreadModule != null) + if (globalreadModule != null&& isGlobalReading) { // 找到一个全局阅片任务是否有裁判任务