签名
This commit is contained in:
@@ -6,11 +6,14 @@
|
||||
|
||||
|
||||
using IRaCIS.Core.Application.ViewModel;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace IRaCIS.Core.Application.Service
|
||||
{
|
||||
public interface IVisitTaskService
|
||||
{
|
||||
Task<IResponseOutput> ApplyReReading(ApplyReReadingCommand applyReReadingCommand);
|
||||
|
||||
Task<IResponseOutput> ConfirmReReading(ConfirmReReadingCommand agreeReReadingCommand, [FromServices] IVisitTaskHelpeService _visitTaskCommonService);
|
||||
}
|
||||
}
|
||||
@@ -1227,6 +1227,19 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||
|
||||
foreach (var influenceTask in influenceTaskList)
|
||||
{
|
||||
//处理申请的任务
|
||||
if (influenceTask.Id == origenalTask.Id)
|
||||
{
|
||||
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
||||
|
||||
influenceTaskList.ForEach(t =>
|
||||
{
|
||||
//记录实际影像的任务
|
||||
|
||||
influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
||||
});
|
||||
}
|
||||
|
||||
//申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
||||
if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != origenalTask.VisitTaskNum)
|
||||
{
|
||||
@@ -1246,6 +1259,93 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||
influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
|
||||
}
|
||||
}
|
||||
//另外一个人当前访视
|
||||
else
|
||||
{
|
||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
{
|
||||
influenceTask.TaskState = TaskState.HaveReturned;
|
||||
}
|
||||
else
|
||||
{
|
||||
influenceTask.TaskState = TaskState.Adbandon;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
//无序阅片 没有 全局 肿瘤学
|
||||
else
|
||||
{
|
||||
|
||||
#region old
|
||||
|
||||
|
||||
////阅片任务产生了裁判
|
||||
//if (origenalTask.JudgeVisitTaskId != null)
|
||||
//{
|
||||
|
||||
// //裁判任务是否已阅片完成
|
||||
// var judgeTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == origenalTask.JudgeVisitTaskId);
|
||||
|
||||
// if (judgeTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
// {
|
||||
// judgeTask.TaskState = TaskState.HaveReturned;
|
||||
// }
|
||||
// //裁判任务未完
|
||||
// else
|
||||
// {
|
||||
// judgeTask.TaskState = TaskState.Adbandon;
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
////不管是否触发裁判 阅片任务退回,待影像重传后重新分 配给原阅片人
|
||||
|
||||
//if (trialConfig.ReadingType == ReadingMethod.Double)
|
||||
//{
|
||||
// //考虑该访视 另外一个阅片人的任务也同时退回
|
||||
|
||||
// var otherTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.SourceSubjectVisitId == origenalTask.SourceSubjectVisitId && t.Id != origenalTask.Id && t.TaskState == TaskState.Effect);
|
||||
|
||||
// if (otherTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
// {
|
||||
// otherTask.TaskState = TaskState.HaveReturned;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// otherTask.TaskState = TaskState.Adbandon;
|
||||
// }
|
||||
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
// 1.当前任务及裁判任务
|
||||
// 2.影响所有阅片人的任务
|
||||
|
||||
var judegTaskNum = origenalTask.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Judge];
|
||||
|
||||
filterExpression = filterExpression.And(t => t.VisitTaskNum == origenalTask.VisitTaskNum || t.VisitTaskNum == judegTaskNum);
|
||||
|
||||
|
||||
var influenceTaskList = await _visitTaskRepository.Where(filterExpression, true).ToListAsync();
|
||||
|
||||
foreach (var influenceTask in influenceTaskList)
|
||||
{
|
||||
//处理申请的任务
|
||||
if (influenceTask.Id == origenalTask.Id)
|
||||
{
|
||||
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
||||
|
||||
influenceTaskList.ForEach(t =>
|
||||
{
|
||||
//记录实际影像的任务
|
||||
|
||||
influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
@@ -1257,56 +1357,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||
influenceTask.TaskState = TaskState.Adbandon;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
//无序阅片 没有 全局 肿瘤学
|
||||
else
|
||||
{
|
||||
//阅片任务产生了裁判
|
||||
if (origenalTask.JudgeVisitTaskId != null)
|
||||
{
|
||||
|
||||
//裁判任务是否已阅片完成
|
||||
var judgeTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == origenalTask.JudgeVisitTaskId);
|
||||
|
||||
if (judgeTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
{
|
||||
judgeTask.TaskState = TaskState.HaveReturned;
|
||||
}
|
||||
//裁判任务未完
|
||||
else
|
||||
{
|
||||
judgeTask.TaskState = TaskState.Adbandon;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//不管是否触发裁判 阅片任务退回,待影像重传后重新分 配给原阅片人
|
||||
|
||||
if (trialConfig.ReadingType == ReadingMethod.Double)
|
||||
{
|
||||
//考虑该访视 另外一个阅片人的任务也同时退回
|
||||
|
||||
var otherTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.SourceSubjectVisitId == origenalTask.SourceSubjectVisitId && t.Id != origenalTask.Id && t.TaskState == TaskState.Effect);
|
||||
|
||||
if (otherTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
{
|
||||
otherTask.TaskState = TaskState.HaveReturned;
|
||||
}
|
||||
else
|
||||
{
|
||||
otherTask.TaskState = TaskState.Adbandon;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1380,6 +1432,13 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||
if (influenceTask.Id == origenalTask.Id)
|
||||
{
|
||||
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
||||
|
||||
influenceTaskList.ForEach(t =>
|
||||
{
|
||||
//记录实际影像的任务
|
||||
|
||||
influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
||||
});
|
||||
}
|
||||
//处理其他任务
|
||||
else
|
||||
@@ -1462,6 +1521,14 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||
if (influenceTask.Id == origenalTask.Id)
|
||||
{
|
||||
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
||||
|
||||
influenceTaskList.ForEach(t =>
|
||||
{
|
||||
//记录实际影像的任务
|
||||
|
||||
influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
||||
});
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1762,6 +1829,15 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||
{
|
||||
influenceTask.TaskState = TaskState.Adbandon;
|
||||
}
|
||||
|
||||
influenceTaskList.ForEach(t =>
|
||||
{
|
||||
//记录实际影像的任务
|
||||
|
||||
influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1809,6 +1885,17 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||
{
|
||||
visitTask.TaskState = TaskState.Adbandon;
|
||||
}
|
||||
|
||||
//同意的访视
|
||||
if (visitTask.Id == task.Id)
|
||||
{
|
||||
currentVisitList.ForEach(t =>
|
||||
{
|
||||
//记录实际影像的任务
|
||||
|
||||
visitTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user