Uat_Study
he 2023-04-07 10:57:38 +08:00
commit f03c384dab
2 changed files with 8 additions and 82 deletions

View File

@ -1008,7 +1008,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
//已读任务量
HaveReadTaskCount = x.Where(y => y.TrialReadingCriterionId == trialReadingCriterionId && y.ReadingTaskState == ReadingTaskState.HaveSigned).Count(),
ExistReadingApply = x.Any(y => y.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed || y.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed),
ExistReadingApply = x.Any(y => (y.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed && y.TrialReadingCriterionId == trialReadingCriterionId) || y.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed),
//查出所有未读的 未读的可读的 在这个列表基础上 过滤下 y.IsFrontTaskNeedSignButNotSign==false && (y.IsNeedClinicalDataSign == false || y.IsClinicalDataSign == true) 这样容易排错 确认这三个字段是否维护有误
UnReadTaskList = x.Where(y => y.TrialReadingCriterionId == trialReadingCriterionId && y.ReadingTaskState != ReadingTaskState.HaveSigned).OrderBy(x => x.VisitTaskNum)

View File

@ -624,47 +624,10 @@ namespace IRaCIS.Core.Application.Service
.OrderBy(t => t.VisitTaskNum).ProjectTo<InfluenceTaskInfo>(_mapper.ConfigurationProvider).ToListAsync();
foreach (var influenceTask in list)
{
//有序
if (criterionConfig.IsReadingTaskViewInOrder)
{
//申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != subjectVisit.VisitNum)
{
//后续访视处理访视
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;
}
}
return (list, new { IsIRAppyTaskInfluenced = isIRAppyTaskInfluenced });
@ -701,50 +664,15 @@ namespace IRaCIS.Core.Application.Service
public async Task ConfirmBackCriteriaVisitTask(CriteriaVisitBackCommand command)
{
var filterExpression = await GetTaskExpressionAsync(command);
var influenceTaskList = await _visitTaskRepository.Where(filterExpression, true).ToListAsync();
var subjectVisit = await _subjectVisitRepository.FindAsync(command.SubjectVisitId);
foreach (var influenceTask in influenceTaskList)
{
//申请的访视 要不是重阅重置,要不就是失效 不会存在取消分配
if (influenceTask.ReadingCategory == ReadingCategory.Visit && influenceTask.VisitTaskNum != subjectVisit.VisitNum)
{
//后续访视处理访视
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;
}
}
else
{
//申请的访视 全局肿瘤学
if (influenceTask.ReadingTaskState == ReadingTaskState.HaveSigned)
{
influenceTask.TaskState = TaskState.HaveReturned;
@ -753,8 +681,6 @@ namespace IRaCIS.Core.Application.Service
{
influenceTask.TaskState = TaskState.Adbandon;
}
}
}
var taskIdList = influenceTaskList.Select(t => t.Id).ToList();