拷贝表单

Uat_Study
hang 2022-07-19 16:04:49 +08:00
parent 1e9276aa60
commit 7f65f5a5db
3 changed files with 120 additions and 70 deletions

View File

@ -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

View File

@ -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;
}
}

View File

@ -103,7 +103,7 @@ namespace IRaCIS.Core.Domain.Models
public Subject Subject { get; set; }
public List<ReadingTaskQuestionAnswer> ReadingTaskQuestionAnswerList { get; set; }
public List<ReadingTaskQuestionAnswer> ReadingTaskQuestionAnswerList { get; set; } = new List<ReadingTaskQuestionAnswer>();
//对于裁判项而言,触发裁判的列表
public List<VisitTask> JudgeVisitList { get; set; }
@ -137,10 +137,7 @@ namespace IRaCIS.Core.Domain.Models
[ForeignKey("JudgeResultTaskId")]
public VisitTask JudgeResultTask { get; set; }
/// <summary>
/// 裁判结果的备注
/// </summary>
public string JudgeResultRemark { get; set; } = string.Empty;
//随访任务号 取访视的号 计划外是 访视+0.1 裁判任务在访视任务上+0.002 全局任务在截止访视号上+0.03 肿瘤待定
public decimal VisitTaskNum { get; set; }
@ -158,11 +155,20 @@ namespace IRaCIS.Core.Domain.Models
public bool? IsGlobalHaveUpdate { get; set; }
#region 裁判任务特有
/// <summary>
/// 裁判结果的备注
/// </summary>
public string JudgeResultRemark { get; set; } = string.Empty;
/// <summary>
/// 裁判结果的图片路径
/// </summary>
public string JudgeResultImagePath { get; set; } = string.Empty;
#endregion
#region 一致性分析的任务特有数据
/// <summary>