拷贝表单

This commit is contained in:
2022-07-19 16:04:49 +08:00
parent 1e9276aa60
commit 7f65f5a5db
3 changed files with 120 additions and 70 deletions
@@ -202,7 +202,7 @@ namespace IRaCIS.Core.Application.ViewModel
public UserSimpleInfo DoctorUser { get; set; }
public ReReadingOrBackOptType OPtType { get; set; }
public ReReadingOrBackOptType OptType { get; set; }
}
public enum ReReadingOrBackOptType
@@ -1341,7 +1341,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
}
if(influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned && influenceTask.ReadingCategory == ReadingCategory.Visit)
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned && influenceTask.ReadingCategory == ReadingCategory.Visit)
{
await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
{
@@ -1362,40 +1362,31 @@ namespace IRaCIS.Core.Application.Service.Allocation
newTask.TaskAllocationState = TaskAllocationState.Allocated;
newTask.AllocateTime = DateTime.Now;
//拷贝表单
if (visitTaskReReadingAppply.IsCopyOrigenalForms)
{
var list = _readingTaskQuestionAnswerRepository.Where(t => t.VisitTaskId == influenceTask.Id).ToList();
foreach (var item in list)
{
item.Id = Guid.Empty;
item.VisitTaskId = newTask.Id;
}
_ = _readingTaskQuestionAnswerRepository.AddRangeAsync(list).Result;
}
}
});
}
}
#endregion
#region
//申请的任务 重新生成
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;
}
});
#endregion
}
@@ -1422,28 +1413,81 @@ namespace IRaCIS.Core.Application.Service.Allocation
// 不管是访视还是裁判 都会立马产生的新任务并分配出去
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;
}
});
}
#region
//申请的任务 重新生成
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;
//拷贝表单
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)
//{
//}
//else if (origenalTask.ReadingCategory == ReadingCategory.Judge)
//{
// newTask.JudgeResultImagePath = origenalTask.JudgeResultImagePath;
// newTask.JudgeResultRemark = origenalTask.JudgeResultRemark;
// newTask.JudgeResultTaskId = origenalTask.JudgeResultTaskId;
// //引起裁判的两个任务的 裁判任务Id 需要更新
// _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.JudgeVisitTaskId == origenalTask.Id, u => new VisitTask()
// {
// JudgeVisitTaskId = newTask.Id,
// }).Wait();
//}
//else
//{
//}
}
}
});
#endregion
}
else
{
@@ -1962,22 +2006,22 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
influenceTask.OPtType = ReReadingOrBackOptType.Return;
influenceTask.OptType = ReReadingOrBackOptType.Return;
}
else
{
influenceTask.OPtType = ReReadingOrBackOptType.Abandon;
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
}
}
else
{
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
influenceTask.OPtType = ReReadingOrBackOptType.Return;
influenceTask.OptType = ReReadingOrBackOptType.Return;
}
else
{
influenceTask.OPtType = ReReadingOrBackOptType.Abandon;
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
}
}
}
@@ -1991,26 +2035,26 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
influenceTask.OPtType = ReReadingOrBackOptType.Return;
influenceTask.OptType = ReReadingOrBackOptType.Return;
}
else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
{
influenceTask.OPtType = ReReadingOrBackOptType.Abandon;
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
}
else
{
influenceTask.OPtType = ReReadingOrBackOptType.CancelAssign;
influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
}
}
else
{
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
influenceTask.OPtType = ReReadingOrBackOptType.Return;
influenceTask.OptType = ReReadingOrBackOptType.Return;
}
else
{
influenceTask.OPtType = ReReadingOrBackOptType.Abandon;
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
}
}
}
@@ -2018,11 +2062,11 @@ namespace IRaCIS.Core.Application.Service.Allocation
{
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
influenceTask.OPtType = ReReadingOrBackOptType.Return;
influenceTask.OptType = ReReadingOrBackOptType.Return;
}
else
{
influenceTask.OPtType = ReReadingOrBackOptType.Abandon;
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
}
}
}
@@ -2040,15 +2084,15 @@ namespace IRaCIS.Core.Application.Service.Allocation
//后续访视处理访视
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
influenceTask.OPtType = ReReadingOrBackOptType.Return;
influenceTask.OptType = ReReadingOrBackOptType.Return;
}
else if (influenceTask.ReadingTaskState == ReadingTaskState.Reading)
{
influenceTask.OPtType = ReReadingOrBackOptType.Abandon;
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
}
else
{
influenceTask.OPtType = ReReadingOrBackOptType.CancelAssign;
influenceTask.OptType = ReReadingOrBackOptType.CancelAssign;
}
}
else
@@ -2057,11 +2101,11 @@ namespace IRaCIS.Core.Application.Service.Allocation
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
influenceTask.OPtType = ReReadingOrBackOptType.Return;
influenceTask.OptType = ReReadingOrBackOptType.Return;
}
else
{
influenceTask.OPtType = ReReadingOrBackOptType.Abandon;
influenceTask.OptType = ReReadingOrBackOptType.Abandon;
}
}
}
@@ -2069,7 +2113,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
else
{
//重阅重置或者失效
influenceTask.OPtType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
}
}