diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 08c21df94..f87b0a7f4 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -2238,6 +2238,11 @@ 字典code + + + 全局阅片显示类型 + + 问题类型 @@ -3639,6 +3644,16 @@ 分组 + + + 全局阅片显示类型 + + + + + 默认值 + + 问题类型 @@ -3784,6 +3799,16 @@ 问题类型 + + + 全局阅片显示类型 + + + + + 默认值 + + 字典code @@ -4019,6 +4044,16 @@ 单位 + + + 全局阅片显示类型 + + + + + 默认值 + + 分组 @@ -4139,6 +4174,16 @@ Id + + + 全局阅片显示类型 + + + + + 默认值 + + 系统标准Id diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index 73cf2848a..135b8d1c7 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -259,11 +259,12 @@ namespace IRaCIS.Core.Application.Service var answer = "否"; var isNeedSend = true; + //入组确认 根据每个标准配置的是否自动发送,发送邮件与否 if (businessScenarioEnum == CommonDocumentBusinessScenario.EnrollConfirmed) { //如果其他阅片人已经做了,说明发送了入组确认报告,第二个人做完就不发送了 if (await _visitTaskRepository.AnyAsync(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && - t.Id != visitTaskId && t.ReadingTaskState == ReadingTaskState.HaveSigned)) + t.Id != visitTaskId && t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TrialReadingCriterionId==taskInfo.TrialReadingCriterionId)) { isNeedSend = false; } @@ -334,11 +335,12 @@ namespace IRaCIS.Core.Application.Service { isNeedSend = false; } - else//非截止访视 + else//非截止访视 在访视读完后,发送 { answer = await TranslatePdStateAsync(visitTaskId, ReadingCategory.Visit); } } + //截止访视 在访视读完,并完成全局阅片后发送全局的结果 else if (taskInfo.ReadingCategory == ReadingCategory.Global) { answer = await TranslatePdStateAsync(visitTaskId, ReadingCategory.Global); @@ -359,7 +361,7 @@ namespace IRaCIS.Core.Application.Service if (taskInfo.ArbitrationRule == ArbitrationRule.Visit) { //找到 访视,裁判 所有有效任务(不可能有全局的) 访视和裁判任务的SourceSubjectVisitId 一样 - var taskList = await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.IsAnalysisCreate == false && t.TaskState == TaskState.Effect && + var taskList = await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TrialReadingCriterionId==taskInfo.TrialReadingCriterionId && t.IsAnalysisCreate == false && t.TaskState == TaskState.Effect && (t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Judge)).ToListAsync(); @@ -421,10 +423,10 @@ namespace IRaCIS.Core.Application.Service isNeedSend = false; } - //是全局任务 或者全局的裁判任务 (如果是全局任务,那么此时裁判任务已经生成,如果是全局裁判) + //是全局任务 或者全局的裁判任务 (如果是全局任务,那么此时裁判任务已经生成) else if (taskInfo.SouceReadModuleId != null) { - var taskList = await _visitTaskRepository.Where(t => t.IsAnalysisCreate == false && t.TaskState == TaskState.Effect && t.SouceReadModuleId == taskInfo.SouceReadModuleId + var taskList = await _visitTaskRepository.Where(t =>t.TrialReadingCriterionId==taskInfo.TrialReadingCriterionId && t.IsAnalysisCreate == false && t.TaskState == TaskState.Effect && t.SouceReadModuleId == taskInfo.SouceReadModuleId && (t.ReadingCategory == ReadingCategory.Global || t.ReadingCategory == ReadingCategory.Judge)).ToListAsync(); //两个全局没有裁判