Merge branch 'Test.IRC' of http://192.168.3.69:2000/XCKJ/irc-netcore-api into Test.IRC
commit
37d1c48f2e
|
@ -1438,8 +1438,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
|
||||
/// <summary>
|
||||
/// 重阅原任务跟踪处理 只会在同意的时候调用这个
|
||||
/// </summary>
|
||||
/// 重阅原任务跟踪处理
|
||||
/// <param name="origenalTask"></param>
|
||||
/// <param name="agreeReReadingCommand"></param>
|
||||
private void ReReadingTaskTrackingDeal(VisitTask origenalTask, ConfirmReReadingCommand agreeReReadingCommand)
|
||||
|
@ -1483,7 +1482,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
/// </summary>
|
||||
/// <param name="subjectId"></param>
|
||||
/// <returns></returns>
|
||||
private async Task SetReReadingOrBackInfluenceAnalysisAsync(Guid subjectId)
|
||||
private async Task PMReReadingConfirmOrBackInfluenceAnalysisAsync(Guid subjectId)
|
||||
{
|
||||
if (await _repository.AnyAsync<VisitTask>(t => t.IsAnalysisCreate && t.SubjectId == subjectId))
|
||||
{
|
||||
|
@ -1566,7 +1565,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
isIR1Point1AdditionalAssessmentBaseline = true;
|
||||
|
||||
//filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
|
||||
}
|
||||
// 1.1 非基线任务不影响BM任务
|
||||
else
|
||||
|
@ -1584,33 +1582,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
if (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree)
|
||||
{
|
||||
//PM申请 SPM / CPM审批 回退访视,在此不生成访视任务 影响多个标准的任务
|
||||
//PM申请 SPM / CPM审批 回退访视,因此这里不生成访视任务 影响多个标准的任务
|
||||
if (visitTaskReReadingAppply.RequestReReadingType == RequestReReadingType.TrialGroupApply && (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM))
|
||||
{
|
||||
#region PM 申请两个IR 同一访视,其他人的申请记录也设置为同意 不会出现,因为在未处理前 一个Subject只能申请一次
|
||||
|
||||
|
||||
// await _visitTaskReReadingRepository.BatchUpdateNoTrackingAsync(t => t.OriginalReReadingTask.SubjectId == origenalTask.SubjectId &&
|
||||
// t.OriginalReReadingTask.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed &&
|
||||
// t.RequestReReadingType == RequestReReadingType.TrialGroupApply &&
|
||||
//t.OriginalReReadingTask.VisitTaskNum == origenalTask.VisitTaskNum &&
|
||||
//t.Id != item.Id, u => new VisitTaskReReading()
|
||||
//{
|
||||
// RequestReReadingConfirmUserId = _userInfo.Id,
|
||||
// RequestReReadingResultEnum = RequestReReadingResult.Agree,
|
||||
//});
|
||||
|
||||
// //只更新 PM 申请 同一访视的数据
|
||||
// await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == origenalTask.SubjectId &&
|
||||
// t.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed &&
|
||||
// t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId &&
|
||||
// t.IsAnalysisCreate == origenalTask.IsAnalysisCreate &&
|
||||
// t.VisitTaskNum == origenalTask.VisitTaskNum &&
|
||||
// t.Id != origenalTask.Id, u => new VisitTask()
|
||||
// {
|
||||
// ReReadingApplyState = ReReadingApplyState.Agree
|
||||
// });
|
||||
#endregion
|
||||
|
||||
// 不管有序 无序 都会 回退访视
|
||||
if (origenalTask.ReadingCategory == ReadingCategory.Visit)
|
||||
|
@ -1651,7 +1625,7 @@ 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());
|
||||
|
||||
await SetReReadingOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
|
||||
await PMReReadingConfirmOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
|
||||
|
||||
await SetMedicalReviewInvalidAsync(influenceTaskList);
|
||||
|
||||
|
@ -1671,52 +1645,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
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
|
||||
|
@ -1746,7 +1674,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
ReReadingTaskTrackingDeal(influenceTask, agreeReReadingCommand);
|
||||
|
||||
|
||||
await SetReReadingOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
|
||||
await PMReReadingConfirmOrBackInfluenceAnalysisAsync(origenalTask.SubjectId);
|
||||
|
||||
await SetMedicalReviewInvalidAsync(influenceTaskList);
|
||||
|
||||
|
@ -1868,7 +1796,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
#endregion
|
||||
|
||||
|
||||
#region 这里时影响其他的任务 /*不包括申请的任务 申请的任务,在上面会统一处理*/
|
||||
|
||||
var influenceTaskList = await _visitTaskRepository.Where(filterExpression, true).OrderBy(t => t.VisitTaskNum).ToListAsync();
|
||||
|
||||
|
@ -1906,7 +1833,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
|
||||
|
||||
|
||||
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
{
|
||||
influenceTask.TaskState = TaskState.HaveReturned;
|
||||
|
@ -1920,6 +1846,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
trakingOrigenalTask?.TaskInfluenceList.Add(new TaskInfluence() { InfluenceTaskId = influenceTask.Id, OptType = ReReadingOrBackOptType.Abandon });
|
||||
}
|
||||
|
||||
|
||||
#region 受影响的任务生成
|
||||
|
||||
// 影响的任务 仅仅访视类别的才生成 或者就是IR 申请的任务
|
||||
if (influenceTask.ReadingCategory == ReadingCategory.Visit || influenceTask.Id == origenalTask.Id)
|
||||
{
|
||||
|
@ -1945,12 +1874,9 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
}
|
||||
|
||||
//var canGenerateTaskIdList = influenceTaskList.GroupBy(t => new { t.VisitTaskNum, t.DoctorUserId, t.TrialReadingCriterionId, t.SubjectId })
|
||||
// .Select(g => g.First().Id);
|
||||
|
||||
}
|
||||
|
||||
#region 影响的任务生成
|
||||
|
||||
await _visitTaskCommonService.AddTaskAsync(new GenerateTaskCommand()
|
||||
{
|
||||
|
@ -1972,7 +1898,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
newTask.AllocateTime = DateTime.Now;
|
||||
newTask.SuggesteFinishedTime = GetSuggessFinishTime(true, UrgentType.NotUrget);
|
||||
|
||||
|
||||
//拷贝原始表单
|
||||
if (visitTaskReReadingAppply.IsCopyOrigenalForms && influenceTask.Id == origenalTask.Id)
|
||||
{
|
||||
if (origenalTask.ReadingCategory == ReadingCategory.Visit)
|
||||
|
@ -2004,18 +1930,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
//无序阅片 只会申请访视类型和裁判类型的任务 注意这里有一致性分析的申请同意
|
||||
//无序阅片 IR只会申请访视类型和裁判类型的任务 注意这里有一致性分析的申请同意
|
||||
else
|
||||
{
|
||||
|
||||
|
@ -2056,6 +1976,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
}
|
||||
}
|
||||
|
||||
#region 受影响任务的生成
|
||||
|
||||
if (influenceTask.ReadingCategory == ReadingCategory.Visit || influenceTask.Id == origenalTask.Id)
|
||||
{
|
||||
|
@ -2108,16 +2029,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
});
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -2199,9 +2116,17 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
foreach (var item in readingTableAnswerRowInfoList)
|
||||
{
|
||||
|
||||
var originalVisitTaskId= item.VisitTaskId;
|
||||
var originalFristAddTaskId= item.FristAddTaskId;
|
||||
|
||||
item.Id = NewId.NextSequentialGuid();
|
||||
item.VisitTaskId = newTask.Id;
|
||||
|
||||
//默认值是当前任务添加的
|
||||
item.FristAddTaskId = originalVisitTaskId == originalFristAddTaskId ? newTask.Id : item.FristAddTaskId;
|
||||
|
||||
|
||||
foreach (var item2 in item.LesionAnswerList)
|
||||
{
|
||||
item2.Id = Guid.Empty;
|
||||
|
@ -2213,15 +2138,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
_ = _repository.AddRangeAsync(readingTableAnswerRowInfoList).Result;
|
||||
|
||||
|
||||
//var readingTableQuestionAnswerList = _repository.Where<ReadingTableQuestionAnswer>(t => t.VisitTaskId == origenalTask.Id).ToList();
|
||||
|
||||
//foreach (var item in readingTableQuestionAnswerList)
|
||||
//{
|
||||
// item.Id = Guid.Empty;
|
||||
// item.VisitTaskId = newTask.Id;
|
||||
//}
|
||||
|
||||
//_ = _repository.AddRangeAsync(readingTableQuestionAnswerList).Result;
|
||||
|
||||
|
||||
}
|
||||
|
@ -2274,18 +2191,21 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == task.SubjectId && (t.TaskState == TaskState.Effect || t.TaskState == TaskState.Freeze) && t.TaskAllocationState == TaskAllocationState.Allocated;
|
||||
|
||||
|
||||
if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment)
|
||||
{
|
||||
//影像退回,必定影响两个标准的任务
|
||||
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == task.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
|
||||
#region 退回到访视 不区分标准
|
||||
//if (criterionConfig.CriterionType == CriterionType.RECIST1Point1 && criterionConfig.IsAdditionalAssessment)
|
||||
//{
|
||||
// //影像退回,必定影响两个标准的任务
|
||||
// filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == task.TrialReadingCriterionId || t.TrialReadingCriterion.CriterionType == CriterionType.RECIST1Pointt1_MB);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//默认影响的都是该标准的任务
|
||||
filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == task.TrialReadingCriterionId);
|
||||
}
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// //默认影响的都是该标准的任务
|
||||
// filterExpression = filterExpression.And(t => t.TrialReadingCriterionId == task.TrialReadingCriterionId);
|
||||
//}
|
||||
#endregion
|
||||
|
||||
|
||||
//PM 才允许操作
|
||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager)
|
||||
|
@ -2343,7 +2263,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
await InfluenceAddtioncalEvaluationCritrionAsync(task, influenceTaskList.Where(t => t.Id != task.Id).Where(t => t.SourceSubjectVisitId != null).Select(t => (Guid)t.SourceSubjectVisitId).Distinct().ToList());
|
||||
|
||||
await SetReReadingOrBackInfluenceAnalysisAsync(influenceTask.SubjectId);
|
||||
await PMReReadingConfirmOrBackInfluenceAnalysisAsync(influenceTask.SubjectId);
|
||||
|
||||
await SetMedicalReviewInvalidAsync(influenceTaskList);
|
||||
|
||||
|
@ -2362,53 +2282,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
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
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -2890,147 +2763,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
foreach (var influenceTask in list)
|
||||
{
|
||||
influenceTask.OptType = influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned ? ReReadingOrBackOptType.Return : ReReadingOrBackOptType.Abandon;
|
||||
|
||||
|
||||
#region 变更前 注释
|
||||
|
||||
//if (isReReading)
|
||||
//{
|
||||
|
||||
// if ((_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && applyId != null) || (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer && applyId == null))
|
||||
// {
|
||||
// //有序
|
||||
// if (criterionConfig.IsReadingTaskViewInOrder)
|
||||
// {
|
||||
// if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||
// {
|
||||
// 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)
|
||||
// {
|
||||
// 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退回
|
||||
//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;
|
||||
// }
|
||||
|
||||
|
||||
//}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
|
|
@ -702,13 +702,12 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
var currentUserList = siteUserList.Where(t => t.TrialSiteSurveyId == trialSiteSurveyId).ToList();
|
||||
|
||||
|
||||
if (!currentUserList.Any(t => t.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator) ||
|
||||
!currentUserList.Any(t => t.UserTypeEnum == UserTypeEnum.CRA))
|
||||
if (!currentUserList.Any(t => t.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator) )
|
||||
{
|
||||
throw new BusinessValidationFailedException(_localizer["TrialSiteSurvey_MissingAccount"]);
|
||||
}
|
||||
|
||||
if (currentUserList.GroupBy(t => new { t.UserTypeId, t.Email })
|
||||
if (currentUserList.Where(t=>t.IsGenerateAccount && t.UserTypeId!=null).GroupBy(t => new { t.UserTypeId, t.Email })
|
||||
.Any(g => g.Count() > 1))
|
||||
{
|
||||
throw new BusinessValidationFailedException(_localizer["TrialSiteSurvey_DuplicateEmail"]);
|
||||
|
|
|
@ -12,6 +12,7 @@ namespace IRaCIS.Core.Application.AutoMapper
|
|||
{
|
||||
public SiteSurveyConfig()
|
||||
{
|
||||
var isEn_Us = false;
|
||||
//编辑
|
||||
CreateMap<TrialSiteSurvey, TrialSiteSurveyAddOrEdit>().ReverseMap();
|
||||
|
||||
|
@ -21,20 +22,38 @@ namespace IRaCIS.Core.Application.AutoMapper
|
|||
|
||||
CreateMap<LoginDto, TrialSiteSurvey>().ForMember(d => d.Email, t => t.MapFrom(t => t.EmailOrPhone));
|
||||
|
||||
CreateMap<TrialSiteUser, TrialSiteUserSurvey>()
|
||||
.ForMember(d => d.Id, u => u.Ignore())
|
||||
.ForMember(d => d.Phone, u => u.MapFrom(c => c.User.Phone))
|
||||
.ForMember(d => d.Email, u => u.MapFrom(c => c.User.EMail))
|
||||
.ForMember(d => d.OrganizationName, u => u.MapFrom(c => c.User.OrganizationName))
|
||||
.ForMember(d => d.UserTypeId, u => u.MapFrom(c => c.User.UserTypeId))
|
||||
.ForMember(d => d.IsHistoryUser, u => u.MapFrom(c => true))
|
||||
.ForMember(d => d.IsHistoryUserOriginDeleted, u => u.MapFrom(c => c.IsDeleted))
|
||||
.ForMember(d => d.IsHistoryUserDeleted, u => u.MapFrom(c => c.IsDeleted))
|
||||
.ForMember(d => d.FirstName, u => u.MapFrom(c => c.User.FirstName))
|
||||
.ForMember(d => d.LastName, u => u.MapFrom(c => c.User.LastName))
|
||||
.ForMember(d => d.IsGenerateAccount, u => u.MapFrom(c => true))
|
||||
.ForMember(d => d.IsGenerateSuccess, u => u.MapFrom(c => true))
|
||||
.ForMember(d => d.SystemUserId, u => u.MapFrom(c => c.UserId))
|
||||
.ForMember(d => d.IsJoin, u => u.MapFrom(c => !c.IsDeleted));
|
||||
|
||||
|
||||
|
||||
//列表
|
||||
CreateMap<TrialSiteEquipmentSurvey, TrialSiteEquipmentSurveyView>()
|
||||
.ForMember(t=>t.EquipmentType,u=>u.MapFrom(d=>d.EquipmentType.Value));
|
||||
.ForMember(t => t.EquipmentType, u => u.MapFrom(d => d.EquipmentType.Value));
|
||||
|
||||
|
||||
|
||||
CreateMap<TrialSiteSurvey, TrialSiteSurveyView>()
|
||||
.ForMember(d => d.TrialSiteAliasName, u => u.MapFrom(s => s.TrialSite.TrialSiteAliasName))
|
||||
.ForMember(d => d.SiteName, u => u.MapFrom(s => s.Site.SiteName))
|
||||
.ForMember(d => d.SiteName, u => u.MapFrom(s => isEn_Us ? s.Site.SiteName : s.Site.SiteNameCN))
|
||||
.ForMember(d => d.TrialSiteCode, u => u.MapFrom(s => s.TrialSite.TrialSiteCode));
|
||||
|
||||
|
||||
var isEn_Us = false;
|
||||
CreateMap<TrialSiteSurvey, TrialSiteSurveySelectView>();
|
||||
|
||||
|
||||
CreateMap<TrialSiteUserSurvey, TrialSiteUserSurveyView>()
|
||||
.ForMember(d => d.UserType, u => u.MapFrom(s => s.UserTypeRole.UserTypeShortName))
|
||||
.ForMember(d => d.UserTypeEnum, u => u.MapFrom(s => s.UserTypeRole.UserTypeEnum));
|
||||
|
@ -47,7 +66,7 @@ namespace IRaCIS.Core.Application.AutoMapper
|
|||
.ForMember(d => d.TrialId, u => u.MapFrom(s => s.Id));
|
||||
|
||||
CreateMap<TrialSite, TrialSiteForSelect>()
|
||||
.ForMember(t=>t.IsHaveSiteSurveyRecord,u=>u.MapFrom(t=>t.TrialSiteSurveyList.Any()));
|
||||
.ForMember(t => t.IsHaveSiteSurveyRecord, u => u.MapFrom(t => t.TrialSiteSurveyList.Any()));
|
||||
|
||||
CreateMap<TrialSiteSurvey, LoginReturnDTO>()
|
||||
.ForMember(d => d.TrialSiteSurvey, u => u.MapFrom(s => s))
|
||||
|
@ -59,6 +78,10 @@ namespace IRaCIS.Core.Application.AutoMapper
|
|||
|
||||
CreateMap<TrialSiteUserSurvey, User>();
|
||||
|
||||
CreateMap<SiteSurveyUserImportDto, User>()
|
||||
.ForMember(d => d.EMail, u => u.MapFrom(s => s.Email));
|
||||
|
||||
|
||||
CreateMap<TrialSiteUserSurveyView, User>();
|
||||
|
||||
|
||||
|
@ -67,11 +90,11 @@ namespace IRaCIS.Core.Application.AutoMapper
|
|||
|
||||
|
||||
CreateMap<TrialSiteUserSurvey, TrialSiteUserSurveyAllDTO>()
|
||||
.ForMember(t=>t.TrialSiteSurvey,u=>u.MapFrom(c=>c.TrialSiteSurvey))
|
||||
.ForMember(t => t.TrialSiteSurvey, u => u.MapFrom(c => c.TrialSiteSurvey))
|
||||
.ForMember(d => d.UserType, u => u.MapFrom(s => s.UserTypeRole.UserTypeShortName))
|
||||
.ForMember(d => d.UserTypeEnum, u => u.MapFrom(s => s.UserTypeRole.UserTypeEnum));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -50,6 +50,10 @@ namespace IRaCIS.Core.Application.Service.Third_partyProject.DTO
|
|||
{
|
||||
public Guid Id { get;set; }
|
||||
public Guid SubjectId { get; set; }
|
||||
|
||||
public Guid SiteId { get; set; }
|
||||
public Guid? SubjectVisitId { get; set; }
|
||||
|
||||
public String TrialSiteCode { get; set; } = String.Empty;
|
||||
public string SubjectCode { get; set; } = String.Empty;
|
||||
public string UserName { get; set; }
|
||||
|
|
|
@ -17,6 +17,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
|
||||
CreateMap<VisitTask, VisitTaskDTO_UltrasonicDicom>()
|
||||
.ForMember(o => o.SubjectVisitId, t => t.MapFrom(u => u.SourceSubjectVisitId))
|
||||
.ForMember(o => o.SiteId, t => t.MapFrom(u => u.Subject.SiteId))
|
||||
.ForMember(o => o.TrialSiteCode, t => t.MapFrom(u => u.Subject.TrialSite.TrialSiteCode))
|
||||
.ForMember(o => o.SubjectCode, t => t.MapFrom(u => u.Subject.Code))
|
||||
.ForMember(o => o.UserName, t => t.MapFrom(u => u.DoctorUser.UserName))
|
||||
|
|
Loading…
Reference in New Issue