界面与后台不一致,重阅限制
parent
55aa88f6c6
commit
475a43f6c9
|
@ -1255,8 +1255,8 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
// 有序 一个受试者访视重阅未处理完,不能申请其他的
|
// 有序 一个受试者访视重阅未处理完,不能申请其他的
|
||||||
if (trialConfig.IsReadingTaskViewInOrder)
|
if (trialConfig.IsReadingTaskViewInOrder)
|
||||||
{
|
{
|
||||||
if (await _visitTaskReReadingRepository.AnyAsync(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect
|
if (await _visitTaskReReadingRepository.AnyAsync(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect
|
||||||
&& t.OriginalReReadingTask.TrialReadingCriterionId==task.TrialReadingCriterionId
|
&& t.OriginalReReadingTask.TrialReadingCriterionId == task.TrialReadingCriterionId
|
||||||
&& t.OriginalReReadingTask.ReadingTaskState == ReadingTaskState.HaveSigned && t.RequestReReadingType == RequestReReadingType.TrialGroupApply && t.RequestReReadingResultEnum == RequestReReadingResult.Default))
|
&& t.OriginalReReadingTask.ReadingTaskState == ReadingTaskState.HaveSigned && t.RequestReReadingType == RequestReReadingType.TrialGroupApply && t.RequestReReadingResultEnum == RequestReReadingResult.Default))
|
||||||
{
|
{
|
||||||
return ResponseOutput.NotOk("当前为有序阅片,该受试者已有访视已申请重阅还未处理,暂不能继续申请重阅");
|
return ResponseOutput.NotOk("当前为有序阅片,该受试者已有访视已申请重阅还未处理,暂不能继续申请重阅");
|
||||||
|
@ -1287,7 +1287,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
//在PM 的申请重阅的影响列表里也不能申请重阅
|
//在PM 的申请重阅的影响列表里也不能申请重阅
|
||||||
|
|
||||||
var pmApply = await _visitTaskReReadingRepository.Where(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect && t.OriginalReReadingTask.ReadingCategory == ReadingCategory.Visit
|
var pmApply = await _visitTaskReReadingRepository.Where(t => t.OriginalReReadingTask.TrialId == task.TrialId && t.OriginalReReadingTask.SubjectId == task.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect && t.OriginalReReadingTask.ReadingCategory == ReadingCategory.Visit
|
||||||
&& t.OriginalReReadingTask.ReadingTaskState == ReadingTaskState.HaveSigned && t.RequestReReadingType == RequestReReadingType.TrialGroupApply && t.RequestReReadingResultEnum == RequestReReadingResult.Default).Include(t=>t.OriginalReReadingTask).FirstOrDefaultAsync();
|
&& t.OriginalReReadingTask.ReadingTaskState == ReadingTaskState.HaveSigned && t.RequestReReadingType == RequestReReadingType.TrialGroupApply && t.RequestReReadingResultEnum == RequestReReadingResult.Default).Include(t => t.OriginalReReadingTask).FirstOrDefaultAsync();
|
||||||
|
|
||||||
if (pmApply != null)
|
if (pmApply != null)
|
||||||
{
|
{
|
||||||
|
@ -1298,12 +1298,12 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
{
|
{
|
||||||
return ResponseOutput.NotOk("当前为有序阅片,影像存在问题,项目组已申请回退,暂不能申请重阅");
|
return ResponseOutput.NotOk("当前为有序阅片,影像存在问题,项目组已申请回退,暂不能申请重阅");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == task.TrialId && t.SubjectId == task.SubjectId && t.TaskState == TaskState.Effect && t.TrialReadingCriterionId==task.TrialReadingCriterionId
|
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == task.TrialId && t.SubjectId == task.SubjectId && t.TaskState == TaskState.Effect && t.TrialReadingCriterionId == task.TrialReadingCriterionId
|
||||||
&& t.ReadingTaskState == ReadingTaskState.HaveSigned && t.DoctorUserId == task.DoctorUserId && t.IsAnalysisCreate == false && t.VisitTaskNum > task.VisitTaskNum;
|
&& t.ReadingTaskState == ReadingTaskState.HaveSigned && t.DoctorUserId == task.DoctorUserId && t.IsAnalysisCreate == false && t.VisitTaskNum > task.VisitTaskNum;
|
||||||
|
|
||||||
|
|
||||||
|
@ -1370,8 +1370,16 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
/// <param name="agreeReReadingCommand"></param>
|
/// <param name="agreeReReadingCommand"></param>
|
||||||
private void ReReadingTaskTrackingDeal(VisitTask origenalTask, ConfirmReReadingCommand agreeReReadingCommand)
|
private void ReReadingTaskTrackingDeal(VisitTask origenalTask, ConfirmReReadingCommand agreeReReadingCommand)
|
||||||
{
|
{
|
||||||
origenalTask.ReReadingApplyState = agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? ReReadingApplyState.Agree : ReReadingApplyState.Reject;
|
if (origenalTask.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed || origenalTask.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed)
|
||||||
origenalTask.TaskState = agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? TaskState.HaveReturned : origenalTask.TaskState;
|
{
|
||||||
|
origenalTask.ReReadingApplyState = agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? ReReadingApplyState.Agree : ReReadingApplyState.Reject;
|
||||||
|
origenalTask.TaskState = agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? TaskState.HaveReturned : origenalTask.TaskState;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new BusinessValidationFailedException("当前重阅任务状态不为已申请状态,不允许进行处理,请刷新页面");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task SetMedicalReviewInvalidAsync(List<VisitTask> influenceTaskList, bool isPMApply = true)
|
private async Task SetMedicalReviewInvalidAsync(List<VisitTask> influenceTaskList, bool isPMApply = true)
|
||||||
|
@ -1470,33 +1478,33 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
|
|
||||||
if (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree)
|
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))
|
if (visitTaskReReadingAppply.RequestReReadingType == RequestReReadingType.TrialGroupApply && (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM))
|
||||||
{
|
{
|
||||||
#region PM 申请两个IR 同一访视,其他人的申请记录也设置为同意 不会出现,因为在未处理前 一个Subject只能申请一次
|
#region PM 申请两个IR 同一访视,其他人的申请记录也设置为同意 不会出现,因为在未处理前 一个Subject只能申请一次
|
||||||
|
|
||||||
|
|
||||||
// await _visitTaskReReadingRepository.BatchUpdateNoTrackingAsync(t => t.OriginalReReadingTask.SubjectId == origenalTask.SubjectId &&
|
// await _visitTaskReReadingRepository.BatchUpdateNoTrackingAsync(t => t.OriginalReReadingTask.SubjectId == origenalTask.SubjectId &&
|
||||||
// t.OriginalReReadingTask.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed &&
|
// t.OriginalReReadingTask.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed &&
|
||||||
// t.RequestReReadingType == RequestReReadingType.TrialGroupApply &&
|
// t.RequestReReadingType == RequestReReadingType.TrialGroupApply &&
|
||||||
//t.OriginalReReadingTask.VisitTaskNum == origenalTask.VisitTaskNum &&
|
//t.OriginalReReadingTask.VisitTaskNum == origenalTask.VisitTaskNum &&
|
||||||
//t.Id != item.Id, u => new VisitTaskReReading()
|
//t.Id != item.Id, u => new VisitTaskReReading()
|
||||||
//{
|
//{
|
||||||
// RequestReReadingConfirmUserId = _userInfo.Id,
|
// RequestReReadingConfirmUserId = _userInfo.Id,
|
||||||
// RequestReReadingResultEnum = RequestReReadingResult.Agree,
|
// RequestReReadingResultEnum = RequestReReadingResult.Agree,
|
||||||
//});
|
//});
|
||||||
|
|
||||||
// //只更新 PM 申请 同一访视的数据
|
// //只更新 PM 申请 同一访视的数据
|
||||||
// await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == origenalTask.SubjectId &&
|
// await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == origenalTask.SubjectId &&
|
||||||
// t.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed &&
|
// t.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed &&
|
||||||
// t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId &&
|
// t.TrialReadingCriterionId == origenalTask.TrialReadingCriterionId &&
|
||||||
// t.IsAnalysisCreate == origenalTask.IsAnalysisCreate &&
|
// t.IsAnalysisCreate == origenalTask.IsAnalysisCreate &&
|
||||||
// t.VisitTaskNum == origenalTask.VisitTaskNum &&
|
// t.VisitTaskNum == origenalTask.VisitTaskNum &&
|
||||||
// t.Id != origenalTask.Id, u => new VisitTask()
|
// t.Id != origenalTask.Id, u => new VisitTask()
|
||||||
// {
|
// {
|
||||||
// ReReadingApplyState = ReReadingApplyState.Agree
|
// ReReadingApplyState = ReReadingApplyState.Agree
|
||||||
// });
|
// });
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -1986,10 +1994,19 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
}
|
}
|
||||||
else if (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Reject)
|
else if (agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Reject)
|
||||||
{
|
{
|
||||||
await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == origenalTask.Id, u => new VisitTask()
|
|
||||||
|
if (origenalTask.ReReadingApplyState == ReReadingApplyState.DocotorHaveApplyed || origenalTask.ReReadingApplyState == ReReadingApplyState.TrialGroupHaveApplyed)
|
||||||
{
|
{
|
||||||
ReReadingApplyState = ReReadingApplyState.Reject
|
await _visitTaskRepository.UpdatePartialFromQueryAsync(t => t.Id == origenalTask.Id, u => new VisitTask()
|
||||||
});
|
{
|
||||||
|
ReReadingApplyState = ReReadingApplyState.Reject
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new BusinessValidationFailedException("当前重阅任务状态不为已申请状态,不允许进行处理,请刷新页面");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue