diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index ce0e76b1b..62fefa122 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -1500,6 +1500,27 @@
+
+
+ 获取转化的靶病灶评估
+
+
+
+
+
+
+ 获取转化的非靶病灶评估
+
+
+
+
+
+
+ 获取转化的整体肿瘤评估
+
+
+
+
@@ -2925,6 +2946,11 @@
问题标识
+
+
+ 是否是正在转化
+
+
项目ID
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
index 9c893806a..c7e5e28ca 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskHelpeService.cs
@@ -1287,6 +1287,9 @@ namespace IRaCIS.Core.Application.Service
taskUrgent = TaskUrgentType.VisitUrgent;
}
bool isCanEditUrgent = taskUrgent == TaskUrgentType.EnrollmentConfirm || taskUrgent == TaskUrgentType.PDProgress ? false : true;
+
+ //加一个去重的判断 IR 申请重阅的时候,有脏数据 (例如多个follow 2 ),但是生成时候不生成
+
var newTask = await _visitTaskRepository.AddAsync(new VisitTask()
{
diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
index d2d3ce0b7..b50c7ae7e 100644
--- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
+++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs
@@ -1852,6 +1852,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
var trakingOrigenalTask = influenceTaskList.Where(t => t.Id == origenalTask.Id).FirstOrDefault();
+
+
foreach (var influenceTask in influenceTaskList)
{
var beforeTaskState = influenceTask.TaskState;
@@ -1897,7 +1899,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
// 影响的任务 仅仅访视类别的才生成 或者就是IR 申请的任务
- if ((beforeTaskState==TaskState.Effect && influenceTask.ReadingCategory == ReadingCategory.Visit) || influenceTask.Id == origenalTask.Id)
+ if ( influenceTask.ReadingCategory == ReadingCategory.Visit || influenceTask.Id == origenalTask.Id)
{
@@ -1910,9 +1912,20 @@ namespace IRaCIS.Core.Application.Service.Allocation
// i1.1标准 当前任务是转变任务,并且影响列表里有转变之前的任务 那么该访视任务就不生成
- if (criterionConfig.CriterionType == CriterionType.IRECIST1Point1 && influenceTask.BeforeConvertedTaskId != null && influenceTaskList.Any(t => t.Id == influenceTask.BeforeConvertedTaskId))
+ if (criterionConfig.CriterionType == CriterionType.IRECIST1Point1 )
{
- continue;
+ //申请的任务是冻结的任务(该任务发生转变) 影响自己 以及转变后的 以及后续任务 但是生成的时候,仅仅生成转变之前的
+ //申请的是转变之后的任务 (转变生成的任务) 影响自己以及后续任务 生成转变后的任务
+ if ( influenceTask.BeforeConvertedTaskId != null && influenceTaskList.Any(t => t.Id == influenceTask.BeforeConvertedTaskId))
+ {
+ //有转化的任务 和转化之前的任务时,转化后的任务时不生成的
+ continue;
+
+ }
+
+ //var canGenerateTaskIdList = influenceTaskList.GroupBy(t => new { t.VisitTaskNum, t.DoctorUserId, t.TrialReadingCriterionId, t.SubjectId })
+ // .Select(g => g.First().Id);
+
}
#region 影响的任务生成
@@ -2081,7 +2094,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
newTask.TaskAllocationState = TaskAllocationState.Allocated;
newTask.AllocateTime = DateTime.Now;
newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
-
+
//裁判任务 需要进行特殊处理 在重阅逻辑里面处理