影响列表
parent
29d72d847b
commit
23c3797a3e
|
@ -285,7 +285,7 @@
|
||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.VisitTaskService.GetReReadingOrBackInfluenceTaskList(System.Guid,System.Boolean)">
|
<member name="M:IRaCIS.Core.Application.Service.VisitTaskService.GetReReadingOrBackInfluenceTaskList(System.Guid,System.Boolean,System.Nullable{System.Guid})">
|
||||||
<summary>
|
<summary>
|
||||||
影响提示列表 重阅仅仅针对已完成的任务申请 退回针对的是未完成的(退回仅仅针对是访视类型的)
|
影响提示列表 重阅仅仅针对已完成的任务申请 退回针对的是未完成的(退回仅仅针对是访视类型的)
|
||||||
</summary>
|
</summary>
|
||||||
|
|
|
@ -1422,17 +1422,12 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var task = (await _visitTaskRepository.Where(t => t.Id == taskId).FirstOrDefaultAsync()).IfNullThrowException();
|
var task = (await _visitTaskRepository.Where(t => t.Id == taskId).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
if (task.TaskState != TaskState.Effect)
|
if (task.TaskState != TaskState.Effect || task.ReadingCategory != ReadingCategory.Visit || task.ReadingTaskState == ReadingTaskState.HaveSigned)
|
||||||
{
|
{
|
||||||
return ResponseOutput.NotOk("仅仅允许针对生效的任务进行退回操作,请刷新页面数据");
|
return ResponseOutput.NotOk("仅仅允许针对生效的未完成的访视任务进行退回操作,请刷新页面数据");
|
||||||
}
|
}
|
||||||
|
|
||||||
//申请的任务 肯定是未完成阅片的 并且是访视类型的
|
|
||||||
if (task.ReadingCategory != ReadingCategory.Visit || task.ReadingTaskState == ReadingTaskState.HaveSigned)
|
|
||||||
{
|
|
||||||
return ResponseOutput.NotOk("仅仅未完成的访视类型的任务支持PM退回");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (task.IsAnalysisCreate)
|
if (task.IsAnalysisCreate)
|
||||||
{
|
{
|
||||||
|
@ -1718,7 +1713,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
/// <param name="isReReading"></param>
|
/// <param name="isReReading"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpGet("{taskId:guid}/{isReReading:bool}")]
|
[HttpGet("{taskId:guid}/{isReReading:bool}")]
|
||||||
public async Task<List<VisitTaskSimpleView>> GetReReadingOrBackInfluenceTaskList(Guid taskId, bool isReReading)
|
public async Task<List<VisitTaskSimpleView>> GetReReadingOrBackInfluenceTaskList(Guid taskId, bool isReReading, Guid? applyId)
|
||||||
{
|
{
|
||||||
var filterObj = (await _visitTaskRepository.FirstOrDefaultNoTrackingAsync(t => t.Id == taskId)).IfNullThrowException();
|
var filterObj = (await _visitTaskRepository.FirstOrDefaultNoTrackingAsync(t => t.Id == taskId)).IfNullThrowException();
|
||||||
var trialId = filterObj.TrialId;
|
var trialId = filterObj.TrialId;
|
||||||
|
@ -1735,13 +1730,16 @@ namespace IRaCIS.Core.Application.Service
|
||||||
//重阅影响
|
//重阅影响
|
||||||
if (isReReading)
|
if (isReReading)
|
||||||
{
|
{
|
||||||
//有序
|
|
||||||
if (trialConfig.IsReadingTaskViewInOrder)
|
|
||||||
|
//IR 申请 PM 同意 仅仅影响自己
|
||||||
|
//当前任务及其之后的所有访视任务、全局任务、裁判任务、肿瘤学阅片任务
|
||||||
|
if (await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && t.CreateUser.UserTypeEnum == UserTypeEnum.IndependentReviewer) && _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager)
|
||||||
{
|
{
|
||||||
//IR 仅仅影响自己
|
//有序
|
||||||
//当前任务及其之后的所有访视任务、全局任务、裁判任务、肿瘤学阅片任务
|
if (trialConfig.IsReadingTaskViewInOrder)
|
||||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
switch (filterObj.ReadingCategory)
|
switch (filterObj.ReadingCategory)
|
||||||
{
|
{
|
||||||
case ReadingCategory.Visit:
|
case ReadingCategory.Visit:
|
||||||
|
@ -1794,11 +1792,26 @@ namespace IRaCIS.Core.Application.Service
|
||||||
default:
|
default:
|
||||||
throw new BusinessValidationFailedException("不支持重阅的任务类型");
|
throw new BusinessValidationFailedException("不支持重阅的任务类型");
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
//无序
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//1.当前任务及裁判任务
|
||||||
|
//2.影响当前阅片人的任务
|
||||||
|
filterExpression = filterExpression.And(t => t.Id == filterObj.Id || t.Id == filterObj.JudgeVisitTaskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
//PM 影响所有阅片人 仅仅针对访视
|
}
|
||||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && filterObj.IsAnalysisCreate == false)
|
else
|
||||||
|
{
|
||||||
|
throw new BusinessValidationFailedException("仅允许PM 同意 IR 申请的任务");
|
||||||
|
}
|
||||||
|
|
||||||
|
//PM 影响所有阅片人 仅仅针对访视 SPM CPM 掉用
|
||||||
|
if (await _visitTaskReReadingRepository.AnyAsync(t => t.Id == applyId && t.CreateUser.UserTypeEnum == UserTypeEnum.ProjectManager) && (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.SPM || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.CPM) && filterObj.IsAnalysisCreate == false && filterObj.ReadingCategory == ReadingCategory.Visit)
|
||||||
|
{
|
||||||
|
//有序
|
||||||
|
if (trialConfig.IsReadingTaskViewInOrder)
|
||||||
{
|
{
|
||||||
switch (filterObj.ReadingCategory)
|
switch (filterObj.ReadingCategory)
|
||||||
{
|
{
|
||||||
|
@ -1813,39 +1826,26 @@ namespace IRaCIS.Core.Application.Service
|
||||||
throw new BusinessValidationFailedException("不支持重阅的任务类型");
|
throw new BusinessValidationFailedException("不支持重阅的任务类型");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//无序
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
throw new BusinessValidationFailedException("一致性分析的任务,只允许IR申请重阅");
|
// 1.当前任务及裁判任务
|
||||||
}
|
// 2.影响所有阅片人的任务
|
||||||
}
|
|
||||||
//无序
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//1.当前任务及裁判任务
|
|
||||||
//2.影响当前阅片人的任务
|
|
||||||
if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.IndependentReviewer)
|
|
||||||
{
|
|
||||||
filterExpression = filterExpression.And(t => t.Id == filterObj.Id || t.Id == filterObj.JudgeVisitTaskId);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 1.当前任务及裁判任务
|
|
||||||
// 2.影响所有阅片人的任务
|
|
||||||
if (filterObj.ReadingCategory == ReadingCategory.Visit && _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager && filterObj.IsAnalysisCreate == false)
|
|
||||||
{
|
|
||||||
var judegTaskNum = filterObj.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Judge];
|
var judegTaskNum = filterObj.VisitTaskNum + ReadingCommon.TaskNumDic[ReadingCategory.Judge];
|
||||||
|
|
||||||
filterExpression = filterExpression.And(t => t.VisitTaskNum == filterObj.VisitTaskNum || t.VisitTaskNum == judegTaskNum);
|
filterExpression = filterExpression.And(t => t.VisitTaskNum == filterObj.VisitTaskNum || t.VisitTaskNum == judegTaskNum);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
}
|
||||||
throw new BusinessValidationFailedException("PM 仅允许申请非一致性分析访视类型的任务进行重阅");
|
else
|
||||||
}
|
{
|
||||||
|
throw new BusinessValidationFailedException("仅允许SPM CPM 同意 PM 申请的非 一致性分析的访视任务");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//退回影响 仅仅针对是访视类型的
|
//退回影响 仅仅针对是访视类型的
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -69,6 +69,8 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
public DateTime UpdateTime { get; set; }
|
public DateTime UpdateTime { get; set; }
|
||||||
|
|
||||||
public Guid UpdateUserId { get; set; }
|
public Guid UpdateUserId { get; set; }
|
||||||
|
|
||||||
|
public User CreateUser { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue