重阅 退回修改提交一版本
parent
82d06c7426
commit
095be8aa1a
|
@ -1443,6 +1443,13 @@
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNewTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||||
|
<summary>
|
||||||
|
获取新靶病灶评估
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
<!-- Badly formed XML comment ignored for member "M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)" -->
|
||||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNoTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.IRECIST1Point1CalculateService.GetNoTargetLesionEvaluate(IRaCIS.Core.Application.Service.Reading.Dto.ReadingCalculateDto)">
|
||||||
<summary>
|
<summary>
|
||||||
|
|
|
@ -1607,13 +1607,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
||||||
|
|
||||||
//influenceTaskList.ForEach(t =>
|
|
||||||
//{
|
|
||||||
// //记录实际影像的任务
|
|
||||||
|
|
||||||
// influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
|
||||||
//});
|
|
||||||
|
|
||||||
await InfluenceAddtioncalEvaluationCritrionAsync(origenalTask, influenceTaskList.Where(t => t.Id != origenalTask.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList());
|
await InfluenceAddtioncalEvaluationCritrionAsync(origenalTask, influenceTaskList.Where(t => t.Id != origenalTask.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList());
|
||||||
|
|
||||||
await SetReReadingOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
|
await SetReReadingOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
|
||||||
|
@ -1622,33 +1615,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
|
||||||
if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != origenalTask.VisitTaskNum)
|
|
||||||
{
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
influenceTask.TaskState = TaskState.HaveReturned;
|
|
||||||
|
|
||||||
trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
|
|
||||||
}
|
|
||||||
else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
|
||||||
{
|
|
||||||
influenceTask.TaskState = TaskState.Adbandon;
|
|
||||||
trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
influenceTask.DoctorUserId = null;
|
|
||||||
influenceTask.AllocateTime = null;
|
|
||||||
influenceTask.SuggesteFinishedTime = null;
|
|
||||||
influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
|
|
||||||
|
|
||||||
trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.CancelAssign });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//当前访视
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
{
|
{
|
||||||
influenceTask.TaskState = TaskState.HaveReturned;
|
influenceTask.TaskState = TaskState.HaveReturned;
|
||||||
|
@ -1662,7 +1629,53 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
#region 废弃 分配 留存
|
||||||
|
|
||||||
|
////申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
||||||
|
//if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != origenalTask.VisitTaskNum)
|
||||||
|
//{
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.TaskState = TaskState.HaveReturned;
|
||||||
|
|
||||||
|
// trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
|
||||||
|
// }
|
||||||
|
// else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
||||||
|
// {
|
||||||
|
// influenceTask.TaskState = TaskState.Adbandon;
|
||||||
|
// trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.DoctorUserId = null;
|
||||||
|
// influenceTask.AllocateTime = null;
|
||||||
|
// influenceTask.SuggesteFinishedTime = null;
|
||||||
|
// influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
|
||||||
|
|
||||||
|
// trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.CancelAssign });
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
////当前访视
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.TaskState = TaskState.HaveReturned;
|
||||||
|
|
||||||
|
// trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.TaskState = TaskState.Adbandon;
|
||||||
|
|
||||||
|
// trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
||||||
|
// }
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
@ -1690,12 +1703,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
||||||
|
|
||||||
//influenceTaskList.ForEach(t =>
|
|
||||||
//{
|
|
||||||
// //记录实际影像的任务
|
|
||||||
|
|
||||||
// influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
|
||||||
//});
|
|
||||||
|
|
||||||
await SetReReadingOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
|
await SetReReadingOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
|
||||||
|
|
||||||
|
@ -1741,77 +1748,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
RequestReReadingResultEnum = RequestReReadingResult.Agree,
|
RequestReReadingResultEnum = RequestReReadingResult.Agree,
|
||||||
});
|
});
|
||||||
|
|
||||||
//await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == origenalTask.Id, u => new VisitTask()
|
|
||||||
//{
|
|
||||||
// ReReadingApplyState = ReReadingApplyState.Agree
|
|
||||||
//});
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
#region 申请任务 重新生成 拷贝表单 必须放在影响的访视生成任务之前,因为会影响 IsConvertedTask 标志
|
|
||||||
|
|
||||||
|
|
||||||
await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
|
|
||||||
{
|
|
||||||
TrialId = trialId,
|
|
||||||
|
|
||||||
ReadingCategory = GenerateTaskCategory.ReReading,
|
|
||||||
|
|
||||||
ReReadingTask = origenalTask,
|
|
||||||
|
|
||||||
//同步才可以
|
|
||||||
Action = (newTask) =>
|
|
||||||
{
|
|
||||||
//申请表 设置新任务Id
|
|
||||||
visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id;
|
|
||||||
|
|
||||||
////生成的任务分配给原始医生
|
|
||||||
newTask.DoctorUserId = origenalTask.DoctorUserId;
|
|
||||||
newTask.TaskAllocationState = TaskAllocationState.Allocated;
|
|
||||||
newTask.AllocateTime = DateTime.Now;
|
|
||||||
newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
|
|
||||||
|
|
||||||
|
|
||||||
//裁判任务 需要进行特殊处理 在重阅逻辑里面处理
|
|
||||||
|
|
||||||
|
|
||||||
//拷贝表单
|
|
||||||
if (visitTaskReReadingAppply.IsCopyOrigenalForms)
|
|
||||||
{
|
|
||||||
if (origenalTask.ReadingCategory == ReadingCategory.Visit)
|
|
||||||
{
|
|
||||||
var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
|
|
||||||
|
|
||||||
foreach (var item in list)
|
|
||||||
{
|
|
||||||
item.Id = Guid.Empty;
|
|
||||||
item.VisitTaskId = newTask.Id;
|
|
||||||
}
|
|
||||||
|
|
||||||
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
|
|
||||||
}
|
|
||||||
//else if (origenalTask.ReadingCategory == ReadingCategory.Global)
|
|
||||||
//{
|
|
||||||
// var list = _repository.Where<ReadingGlobalTaskInfo>(t => t.GlobalTaskId == origenalTask.Id).ToList();
|
|
||||||
|
|
||||||
// foreach (var item in list)
|
|
||||||
// {
|
|
||||||
// item.Id = Guid.Empty;
|
|
||||||
// item.GlobalTaskId = newTask.Id;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// _ = _repository.AddRangeAsync(list).Result;
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
//有序阅片
|
//有序阅片
|
||||||
if (criterionConfig.IsReadingTaskViewInOrder)
|
if (criterionConfig.IsReadingTaskViewInOrder)
|
||||||
|
@ -1846,7 +1788,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
filterExpression = filterExpression.And(t => (t.VisitTaskNum > origenalTask.VisitTaskNum &&
|
filterExpression = filterExpression.And(t => (t.VisitTaskNum > origenalTask.VisitTaskNum &&
|
||||||
(
|
(
|
||||||
(((t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.WaitReading) || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == origenalTask.DoctorUserId)
|
((t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == origenalTask.DoctorUserId)
|
||||||
// 裁判 肿瘤学是另外的医生做
|
// 裁判 肿瘤学是另外的医生做
|
||||||
|| t.ReadingCategory == ReadingCategory.Judge
|
|| t.ReadingCategory == ReadingCategory.Judge
|
||||||
|| t.ReadingCategory == ReadingCategory.Oncology
|
|| t.ReadingCategory == ReadingCategory.Oncology
|
||||||
|
@ -1857,7 +1799,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
filterExpression = filterExpression.And(t => t.VisitTaskNum >= origenalTask.VisitTaskNum &&
|
filterExpression = filterExpression.And(t => t.VisitTaskNum >= origenalTask.VisitTaskNum &&
|
||||||
(
|
(
|
||||||
(((t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.WaitReading) || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == origenalTask.DoctorUserId)
|
((t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == origenalTask.DoctorUserId)
|
||||||
// 裁判 肿瘤学是另外的医生做
|
// 裁判 肿瘤学是另外的医生做
|
||||||
|| t.ReadingCategory == ReadingCategory.Judge
|
|| t.ReadingCategory == ReadingCategory.Judge
|
||||||
|| t.ReadingCategory == ReadingCategory.Oncology
|
|| t.ReadingCategory == ReadingCategory.Oncology
|
||||||
|
@ -1934,11 +1876,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
await InfluenceAddtioncalEvaluationCritrionAsync(origenalTask, influenceTaskList.Where(t => t.Id != origenalTask.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList(), false);
|
await InfluenceAddtioncalEvaluationCritrionAsync(origenalTask, influenceTaskList.Where(t => t.Id != origenalTask.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList(), false);
|
||||||
|
|
||||||
trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
|
|
||||||
}
|
}
|
||||||
//处理其他任务
|
|
||||||
else
|
|
||||||
{
|
|
||||||
|
|
||||||
var beforeTaskState = influenceTask.TaskState;
|
var beforeTaskState = influenceTask.TaskState;
|
||||||
|
|
||||||
|
@ -1974,6 +1913,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region 影响的任务生成
|
||||||
|
|
||||||
await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
|
await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
|
||||||
{
|
{
|
||||||
|
@ -1995,6 +1935,37 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
newTask.AllocateTime = DateTime.Now;
|
newTask.AllocateTime = DateTime.Now;
|
||||||
newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
|
newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
|
||||||
|
|
||||||
|
|
||||||
|
if (visitTaskReReadingAppply.IsCopyOrigenalForms && influenceTask.Id==origenalTask.Id)
|
||||||
|
{
|
||||||
|
if (origenalTask.ReadingCategory == ReadingCategory.Visit)
|
||||||
|
{
|
||||||
|
var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||||
|
|
||||||
|
foreach (var item in list)
|
||||||
|
{
|
||||||
|
item.Id = Guid.Empty;
|
||||||
|
item.VisitTaskId = newTask.Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
|
||||||
|
}
|
||||||
|
//else if (origenalTask.ReadingCategory == ReadingCategory.Global)
|
||||||
|
//{
|
||||||
|
// var list = _repository.Where<ReadingGlobalTaskInfo>(t => t.GlobalTaskId == origenalTask.Id).ToList();
|
||||||
|
|
||||||
|
// foreach (var item in list)
|
||||||
|
// {
|
||||||
|
// item.Id = Guid.Empty;
|
||||||
|
// item.GlobalTaskId = newTask.Id;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// _ = _repository.AddRangeAsync(list).Result;
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//拷贝后续表单
|
//拷贝后续表单
|
||||||
if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum)
|
if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum)
|
||||||
{
|
{
|
||||||
|
@ -2029,11 +2000,14 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -2083,6 +2057,73 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (influenceTask.ReadingCategory == ReadingCategory.Visit)
|
||||||
|
{
|
||||||
|
await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
|
||||||
|
{
|
||||||
|
TrialId = trialId,
|
||||||
|
|
||||||
|
ReadingCategory = GenerateTaskCategory.ReReading,
|
||||||
|
|
||||||
|
ReReadingTask = origenalTask,
|
||||||
|
|
||||||
|
//同步才可以
|
||||||
|
Action = (newTask) =>
|
||||||
|
{
|
||||||
|
//申请表 设置新任务Id
|
||||||
|
visitTaskReReadingAppply.NewReReadingTaskId = newTask.Id;
|
||||||
|
|
||||||
|
////生成的任务分配给原始医生
|
||||||
|
newTask.DoctorUserId = origenalTask.DoctorUserId;
|
||||||
|
newTask.TaskAllocationState = TaskAllocationState.Allocated;
|
||||||
|
newTask.AllocateTime = DateTime.Now;
|
||||||
|
newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
|
||||||
|
|
||||||
|
|
||||||
|
//裁判任务 需要进行特殊处理 在重阅逻辑里面处理
|
||||||
|
|
||||||
|
|
||||||
|
if (visitTaskReReadingAppply.IsCopyOrigenalForms && influenceTask.Id == origenalTask.Id)
|
||||||
|
{
|
||||||
|
if (origenalTask.ReadingCategory == ReadingCategory.Visit)
|
||||||
|
{
|
||||||
|
var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||||
|
|
||||||
|
foreach (var item in list)
|
||||||
|
{
|
||||||
|
item.Id = Guid.Empty;
|
||||||
|
item.VisitTaskId = newTask.Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//拷贝后续表单
|
||||||
|
if (visitTaskReReadingAppply.IsCopyFollowForms && origenalTask.VisitTaskNum != influenceTask.VisitTaskNum)
|
||||||
|
{
|
||||||
|
if (origenalTask.ReadingCategory == ReadingCategory.Visit)
|
||||||
|
{
|
||||||
|
var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||||
|
|
||||||
|
foreach (var item in list)
|
||||||
|
{
|
||||||
|
item.Id = Guid.Empty;
|
||||||
|
item.VisitTaskId = newTask.Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2197,6 +2238,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
|
|
||||||
//Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == task.SubjectId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && t.TaskAllocationState == TaskAllocationState.Allocated;
|
//Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == task.SubjectId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false && t.TaskAllocationState == TaskAllocationState.Allocated;
|
||||||
|
|
||||||
filterExpression = filterExpression.And(t => t.IsAnalysisCreate == false);
|
filterExpression = filterExpression.And(t => t.IsAnalysisCreate == false);
|
||||||
|
|
||||||
|
|
||||||
|
@ -2209,107 +2251,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region 方式一
|
|
||||||
//foreach (var influenceTask in influenceTaskList)
|
|
||||||
//{
|
|
||||||
// //申请任务的阅片人 后续任务肯定没做, 只有访视任务,没有其他任务 取消分配
|
|
||||||
// if (influenceTask.DoctorUserId == task.DoctorUserId)
|
|
||||||
// {
|
|
||||||
|
|
||||||
// switch (influenceTask.ReadingCategory)
|
|
||||||
// {
|
|
||||||
// case ReadingCategory.Visit:
|
|
||||||
|
|
||||||
// influenceTask.DoctorUserId = null;
|
|
||||||
// influenceTask.AllocateTime = null;
|
|
||||||
// influenceTask.SuggesteFinishedTime = null;
|
|
||||||
// influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case ReadingCategory.Global:
|
|
||||||
// case ReadingCategory.Judge:
|
|
||||||
// case ReadingCategory.Oncology:
|
|
||||||
|
|
||||||
// throw new BusinessValidationFailedException("不支持回退任务类型");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// //另外一个阅片人
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// //另外一个阅片人 有序PM 申请重阅流程
|
|
||||||
// if (otherReviewerTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// switch (influenceTask.ReadingCategory)
|
|
||||||
// {
|
|
||||||
// case ReadingCategory.Visit:
|
|
||||||
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.TaskState = TaskState.HaveReturned;
|
|
||||||
// }
|
|
||||||
// else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
|
||||||
// {
|
|
||||||
// influenceTask.TaskState = TaskState.Adbandon;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.DoctorUserId = null;
|
|
||||||
// influenceTask.AllocateTime = null;
|
|
||||||
// influenceTask.SuggesteFinishedTime = null;
|
|
||||||
// influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
// case ReadingCategory.Global:
|
|
||||||
// case ReadingCategory.Oncology:
|
|
||||||
|
|
||||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
// {
|
|
||||||
// influenceTask.TaskState = TaskState.HaveReturned;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// influenceTask.TaskState = TaskState.Adbandon;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case ReadingCategory.Judge:
|
|
||||||
// default:
|
|
||||||
|
|
||||||
// throw new BusinessValidationFailedException("不支持回退任务类型");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// //另外一个阅片人 有序 PM 回退流程
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// switch (influenceTask.ReadingCategory)
|
|
||||||
// {
|
|
||||||
// case ReadingCategory.Visit:
|
|
||||||
|
|
||||||
// influenceTask.DoctorUserId = null;
|
|
||||||
// influenceTask.AllocateTime = null;
|
|
||||||
// influenceTask.SuggesteFinishedTime = null;
|
|
||||||
// influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case ReadingCategory.Global:
|
|
||||||
// case ReadingCategory.Judge:
|
|
||||||
// case ReadingCategory.Oncology:
|
|
||||||
|
|
||||||
// throw new BusinessValidationFailedException("不支持回退任务类型");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#region 方式二
|
#region 方式二
|
||||||
|
|
||||||
var origenalTask = influenceTaskList.Where(t => t.Id == task.Id).FirstOrDefault();
|
var origenalTask = influenceTaskList.Where(t => t.Id == task.Id).FirstOrDefault();
|
||||||
|
@ -2328,17 +2269,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//同意的访视 因为要记录具体的操作,所以废弃
|
//同意的访视 因为要记录具体的操作,所以废弃
|
||||||
if (influenceTask.Id == task.Id)
|
if (influenceTask.Id == task.Id)
|
||||||
{
|
{
|
||||||
//influenceTaskList.ForEach(t =>
|
|
||||||
//{
|
|
||||||
// //记录实际影像的任务
|
|
||||||
|
|
||||||
// influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
|
||||||
//});
|
|
||||||
|
|
||||||
await InfluenceAddtioncalEvaluationCritrionAsync(task, influenceTaskList.Where(t => t.Id != task.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList());
|
await InfluenceAddtioncalEvaluationCritrionAsync(task, influenceTaskList.Where(t => t.Id != task.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList());
|
||||||
|
|
||||||
|
@ -2350,35 +2283,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
influenceTask.IsPMSetBack = true;
|
influenceTask.IsPMSetBack = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
|
||||||
if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != task.VisitTaskNum)
|
|
||||||
{
|
|
||||||
//后续访视处理访视
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
influenceTask.TaskState = TaskState.HaveReturned;
|
|
||||||
|
|
||||||
origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
|
|
||||||
}
|
|
||||||
else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
|
||||||
{
|
|
||||||
influenceTask.TaskState = TaskState.Adbandon;
|
|
||||||
origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
influenceTask.DoctorUserId = null;
|
|
||||||
influenceTask.AllocateTime = null;
|
|
||||||
influenceTask.SuggesteFinishedTime = null;
|
|
||||||
influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
|
|
||||||
|
|
||||||
origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.CancelAssign });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//申请的访视 全局肿瘤学
|
|
||||||
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
{
|
{
|
||||||
influenceTask.TaskState = TaskState.HaveReturned;
|
influenceTask.TaskState = TaskState.HaveReturned;
|
||||||
|
@ -2390,7 +2294,52 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
#region 废弃取消分配留存
|
||||||
|
|
||||||
|
////申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
||||||
|
//if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != task.VisitTaskNum)
|
||||||
|
//{
|
||||||
|
// //后续访视处理访视
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.TaskState = TaskState.HaveReturned;
|
||||||
|
|
||||||
|
// origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
|
||||||
|
// }
|
||||||
|
// else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
||||||
|
// {
|
||||||
|
// influenceTask.TaskState = TaskState.Adbandon;
|
||||||
|
// origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.DoctorUserId = null;
|
||||||
|
// influenceTask.AllocateTime = null;
|
||||||
|
// influenceTask.SuggesteFinishedTime = null;
|
||||||
|
// influenceTask.TaskAllocationState = TaskAllocationState.NotAllocate;
|
||||||
|
|
||||||
|
// origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.CancelAssign });
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
// //申请的访视 全局肿瘤学
|
||||||
|
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.TaskState = TaskState.HaveReturned;
|
||||||
|
// origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Return });
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.TaskState = TaskState.Adbandon;
|
||||||
|
// origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
||||||
|
// }
|
||||||
|
|
||||||
|
//}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2404,25 +2353,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
//无序 无序阅片没有 全局 肿瘤学
|
//无序 无序阅片没有 全局 肿瘤学
|
||||||
|
|
||||||
|
|
||||||
//// 当前任务标为失效
|
|
||||||
//task.TaskState = TaskState.Adbandon;
|
|
||||||
|
|
||||||
////考虑该访视 另外一个阅片人的任务
|
|
||||||
//var otherReviewerTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.SourceSubjectVisitId == task.SourceSubjectVisitId && t.Id != task.Id && t.TaskState == TaskState.Effect);
|
|
||||||
|
|
||||||
|
|
||||||
//if (otherReviewerTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
//{
|
|
||||||
// //另外阅片人完成阅片了 就设置为重阅重置
|
|
||||||
// otherReviewerTask.TaskState = TaskState.HaveReturned;
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// otherReviewerTask.TaskState = TaskState.Adbandon;
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
// 申请该访视的任务 申请人失效 另外一个人重阅重置或者失效
|
// 申请该访视的任务 申请人失效 另外一个人重阅重置或者失效
|
||||||
|
|
||||||
var currentVisitList = await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == task.SourceSubjectVisitId && t.ReadingCategory == ReadingCategory.Visit && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze) && t.VisitTaskNum == task.VisitTaskNum, true).ToListAsync();
|
var currentVisitList = await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == task.SourceSubjectVisitId && t.ReadingCategory == ReadingCategory.Visit && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze) && t.VisitTaskNum == task.VisitTaskNum, true).ToListAsync();
|
||||||
|
@ -2447,16 +2377,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
origenalTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
||||||
}
|
}
|
||||||
|
|
||||||
////同意的访视
|
|
||||||
//if (influenceTask.Id == task.Id)
|
|
||||||
//{
|
|
||||||
// currentVisitList.ForEach(t =>
|
|
||||||
// {
|
|
||||||
// //记录实际影像的任务
|
|
||||||
|
|
||||||
// influenceTask.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = t.Id });
|
|
||||||
// });
|
|
||||||
//}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2686,7 +2606,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
filterExpression = filterExpression.And(t => (t.VisitTaskNum > filterObj.VisitTaskNum &&
|
filterExpression = filterExpression.And(t => (t.VisitTaskNum > filterObj.VisitTaskNum &&
|
||||||
(
|
(
|
||||||
(((t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.WaitReading) || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == filterObj.DoctorUserId)
|
((t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == filterObj.DoctorUserId)
|
||||||
// 裁判 肿瘤学是另外的医生做
|
// 裁判 肿瘤学是另外的医生做
|
||||||
|| t.ReadingCategory == ReadingCategory.Judge
|
|| t.ReadingCategory == ReadingCategory.Judge
|
||||||
|| t.ReadingCategory == ReadingCategory.Oncology
|
|| t.ReadingCategory == ReadingCategory.Oncology
|
||||||
|
@ -2697,7 +2617,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
filterExpression = filterExpression.And(t => t.VisitTaskNum >= filterObj.VisitTaskNum &&
|
filterExpression = filterExpression.And(t => t.VisitTaskNum >= filterObj.VisitTaskNum &&
|
||||||
(
|
(
|
||||||
(((t.ReadingCategory == ReadingCategory.Visit && t.ReadingTaskState != ReadingTaskState.WaitReading) || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == filterObj.DoctorUserId)
|
((t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Global) && t.DoctorUserId == filterObj.DoctorUserId)
|
||||||
// 裁判 肿瘤学是另外的医生做
|
// 裁判 肿瘤学是另外的医生做
|
||||||
|| t.ReadingCategory == ReadingCategory.Judge
|
|| t.ReadingCategory == ReadingCategory.Judge
|
||||||
|| t.ReadingCategory == ReadingCategory.Oncology
|
|| t.ReadingCategory == ReadingCategory.Oncology
|
||||||
|
@ -2869,137 +2789,147 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
foreach (var influenceTask in list)
|
foreach (var influenceTask in list)
|
||||||
{
|
{
|
||||||
|
influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
|
||||||
|
|
||||||
if (isReReading)
|
|
||||||
{
|
|
||||||
|
|
||||||
if ((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId != null) || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null))
|
#region 变更前 注释
|
||||||
{
|
|
||||||
//有序
|
//if (isReReading)
|
||||||
if (criterionConfig.IsReadingTaskViewInOrder)
|
//{
|
||||||
{
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
// if ((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId != null) || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null))
|
||||||
{
|
// {
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
// //有序
|
||||||
}
|
// if (criterionConfig.IsReadingTaskViewInOrder)
|
||||||
else
|
// {
|
||||||
{
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
// {
|
||||||
}
|
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||||
|
// }
|
||||||
|
// //else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
||||||
|
// //{
|
||||||
|
// // influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||||
|
// //}
|
||||||
|
// //else
|
||||||
|
// //{
|
||||||
|
// // throw new BusinessValidationFailedException("IR 申请重阅,不会影响到后续未读的任务,当前影响列表有未读的任务,请核查");
|
||||||
|
// //}
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) && applyId != null) || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId == null))
|
||||||
|
// {
|
||||||
|
// //有序
|
||||||
|
// if (criterionConfig.IsReadingTaskViewInOrder)
|
||||||
|
// {
|
||||||
|
// //申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
||||||
|
// if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != filterObj.VisitTaskNum)
|
||||||
|
// {
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||||
|
// }
|
||||||
// else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
// else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
||||||
// {
|
// {
|
||||||
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||||
// }
|
// }
|
||||||
// else
|
// else
|
||||||
// {
|
// {
|
||||||
// throw new BusinessValidationFailedException("IR 申请重阅,不会影响到后续未读的任务,当前影响列表有未读的任务,请核查");
|
// influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
// }
|
// }
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) && applyId != null) || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId == null))
|
|
||||||
{
|
|
||||||
//有序
|
|
||||||
if (criterionConfig.IsReadingTaskViewInOrder)
|
|
||||||
{
|
|
||||||
//申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
|
||||||
if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != filterObj.VisitTaskNum)
|
|
||||||
{
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
}
|
|
||||||
else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
//}
|
||||||
//PM退回
|
////PM退回
|
||||||
else
|
//else
|
||||||
{
|
//{
|
||||||
|
|
||||||
//有序
|
|
||||||
if (criterionConfig.IsReadingTaskViewInOrder)
|
|
||||||
{
|
|
||||||
//申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
|
||||||
if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != filterObj.VisitTaskNum)
|
|
||||||
{
|
|
||||||
//后续访视处理访视
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
}
|
|
||||||
else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//申请的访视 全局肿瘤学
|
|
||||||
|
|
||||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Return;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//无序
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//重阅重置或者失效
|
|
||||||
influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// //有序
|
||||||
|
// if (criterionConfig.IsReadingTaskViewInOrder)
|
||||||
|
// {
|
||||||
|
// //申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
|
||||||
|
// if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != filterObj.VisitTaskNum)
|
||||||
|
// {
|
||||||
|
// //后续访视处理访视
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||||
|
// }
|
||||||
|
// else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// //申请的访视 全局肿瘤学
|
||||||
|
|
||||||
|
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Return;
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// influenceTask.OptType = ReReadingOrBackOptType.Abandon;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// //无序
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// //重阅重置或者失效
|
||||||
|
// influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
Loading…
Reference in New Issue