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();
//两个全局没有裁判