AIR 增加接口
parent
8b3b69fbb8
commit
674cd139ea
|
@ -1274,7 +1274,7 @@
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.SelfDefineCalculateService.AddTaskLesionAnswerFromLastTask(IRaCIS.Core.Application.ViewModel.AddTaskLesionAnswerFromLastTaskInDto)">
|
<member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.SelfDefineCalculateService.AddTaskLesionAnswerFromLastTask(IRaCIS.Core.Application.ViewModel.AddTaskLesionAnswerFromLastTaskInDto)">
|
||||||
<summary>
|
<summary>
|
||||||
将上一次的病灶信息添加到这一次
|
将上一次的访视病灶添加到这一次
|
||||||
</summary>
|
</summary>
|
||||||
<param name="inDto"></param>
|
<param name="inDto"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
|
|
|
@ -688,6 +688,20 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class AIRReReadingCommand
|
||||||
|
{
|
||||||
|
[NotDefault]
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
[NotDefault]
|
||||||
|
public Guid SubjectId { get; set; }
|
||||||
|
|
||||||
|
[NotDefault]
|
||||||
|
public Guid TrialReadingCriterionId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public class ApplyReReadingCommand
|
public class ApplyReReadingCommand
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -1044,6 +1044,36 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[HttpPost]
|
||||||
|
[UnitOfWork]
|
||||||
|
public async Task<IResponseOutput> AIRReReading(AIRReReadingCommand command, [FromServices] IVisitTaskHelpeService _visitTaskCommonService)
|
||||||
|
{
|
||||||
|
var task= await _visitTaskRepository.Where(t => t.TrialId == command.TrialId && t.SubjectId == command.SubjectId && t.TrialReadingCriterionId == command.TrialReadingCriterionId
|
||||||
|
&& t.TaskState == TaskState.Effect && t.ReadingCategory == ReadingCategory.Visit && t.SourceSubjectVisit.IsBaseLine == true && t.DoctorUserId == _userInfo.Id).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
|
if (task == null)
|
||||||
|
{
|
||||||
|
return ResponseOutput.NotOk("基线任务未阅完,不允许重阅基线任务");
|
||||||
|
}
|
||||||
|
|
||||||
|
await ApplyReReading(new ApplyReReadingCommand() { IsCopyFollowForms = false, IsCopyOrigenalForms = false, TaskIdList = new List<Guid>() { task.Id }, TrialId = command.TrialId, RequestReReadingReason = "AIR自动重阅基线", RequestReReadingType = RequestReReadingType.DocotorApply });
|
||||||
|
|
||||||
|
|
||||||
|
var requestRecord = await _visitTaskReReadingRepository.Where(t => t.OriginalReReadingTaskId == task.Id && t.RequestReReadingUserId == _userInfo.Id && t.RequestReReadingReason == "AIR自动重阅基线").OrderByDescending(t => t.CreateTime).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
await ConfirmReReading(new ConfirmReReadingCommand()
|
||||||
|
{
|
||||||
|
TrialId = command.TrialId,
|
||||||
|
RequestReReadingResultEnum = RequestReReadingResult.Agree,
|
||||||
|
ConfirmReReadingList = new List<ConfirmReReadingDTO>() { new ConfirmReReadingDTO() { Id = requestRecord.Id, OriginalReReadingTaskId = task.Id } }
|
||||||
|
}, _visitTaskCommonService);
|
||||||
|
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 申请重阅 1:IR 2:PM
|
/// 申请重阅 1:IR 2:PM
|
||||||
|
@ -1062,8 +1092,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
var trialReadingCriterionId = taskList.First()!.TrialReadingCriterionId;
|
var trialReadingCriterionId = taskList.First()!.TrialReadingCriterionId;
|
||||||
|
|
||||||
//var trialConfig = (await _trialRepository.Where(t => t.Id == applyReReadingCommand.TrialId).Select(t => new { TrialId = t.Id, t.ReadingType, t.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
|
||||||
|
|
||||||
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == trialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
var criterionConfig = (await _trialReadingCriterionRepository.Where(x => x.Id == trialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
foreach (var task in taskList)
|
foreach (var task in taskList)
|
||||||
|
@ -1197,7 +1225,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
RequestReReadingReason = applyReReadingCommand.RequestReReadingReason,
|
RequestReReadingReason = applyReReadingCommand.RequestReReadingReason,
|
||||||
RequestReReadingType = applyReReadingCommand.RequestReReadingType,
|
RequestReReadingType = applyReReadingCommand.RequestReReadingType,
|
||||||
|
|
||||||
}); ;
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1275,22 +1303,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
public async Task<IResponseOutput> ConfirmReReading(ConfirmReReadingCommand agreeReReadingCommand, [FromServices] IVisitTaskHelpeService _visitTaskCommonService)
|
public async Task<IResponseOutput> ConfirmReReading(ConfirmReReadingCommand agreeReReadingCommand, [FromServices] IVisitTaskHelpeService _visitTaskCommonService)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
var trialId = agreeReReadingCommand.TrialId;
|
var trialId = agreeReReadingCommand.TrialId;
|
||||||
|
|
||||||
//var trialConfig = (await _trialRepository.Where(t => t.Id == trialId).Select(t => new { TrialId = t.Id, t.IsReadingTaskViewInOrder, t.ReadingType }).FirstOrDefaultAsync()).IfNullThrowException();
|
|
||||||
|
|
||||||
|
|
||||||
foreach (var item in agreeReReadingCommand.ConfirmReReadingList)
|
foreach (var item in agreeReReadingCommand.ConfirmReReadingList)
|
||||||
{
|
{
|
||||||
//var origenalTask = (await _visitTaskRepository.Where(t => item.OriginalReReadingTaskId == t.Id, true).FirstOrDefaultAsync()).IfNullThrowException();
|
|
||||||
|
|
||||||
////更新原始任务 当前任务处理
|
|
||||||
//origenalTask.ReReadingApplyState = agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? ReReadingApplyState.Agree : ReReadingApplyState.Reject;
|
|
||||||
//origenalTask.TaskState = agreeReReadingCommand.RequestReReadingResultEnum == RequestReReadingResult.Agree ? TaskState.HaveReturned : origenalTask.TaskState;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var origenalTask = (await _visitTaskRepository.Where(t => item.OriginalReReadingTaskId == t.Id).FirstOrDefaultAsync()).IfNullThrowException();
|
var origenalTask = (await _visitTaskRepository.Where(t => item.OriginalReReadingTaskId == t.Id).FirstOrDefaultAsync()).IfNullThrowException();
|
||||||
|
|
||||||
|
@ -1304,7 +1320,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
var criterionConfig = await _trialReadingCriterionRepository.Where(x => x.Id == origenalTask.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync();
|
var criterionConfig = await _trialReadingCriterionRepository.Where(x => x.Id == origenalTask.TrialReadingCriterionId).Select(x => new { x.ReadingTool, x.IsReadingTaskViewInOrder }).FirstOrDefaultAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//更新申请信息
|
//更新申请信息
|
||||||
var visitTaskReReadingAppply = await _visitTaskReReadingRepository.FirstOrDefaultAsync(t => t.Id == item.Id);
|
var visitTaskReReadingAppply = await _visitTaskReReadingRepository.FirstOrDefaultAsync(t => t.Id == item.Id);
|
||||||
visitTaskReReadingAppply.RequestReReadingConfirmUserId = _userInfo.Id;
|
visitTaskReReadingAppply.RequestReReadingConfirmUserId = _userInfo.Id;
|
||||||
|
@ -1312,22 +1327,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
visitTaskReReadingAppply.RequestReReadingRejectReason = agreeReReadingCommand.RequestReReadingRejectReason;
|
visitTaskReReadingAppply.RequestReReadingRejectReason = agreeReReadingCommand.RequestReReadingRejectReason;
|
||||||
|
|
||||||
|
|
||||||
//// 当前访视之前 已有任务申请
|
|
||||||
//if (trialConfig.IsReadingTaskViewInOrder)
|
|
||||||
//{
|
|
||||||
|
|
||||||
// var query = _visitTaskReReadingRepository.Where(t => t.OriginalReReadingTask.SubjectId == origenalTask.SubjectId && t.OriginalReReadingTask.TaskState == TaskState.Effect && t.OriginalReReadingTask.ReadingCategory == ReadingCategory.Visit
|
|
||||||
// && t.OriginalReReadingTask.ReadingTaskState == ReadingTaskState.HaveSigned && t.OriginalReReadingTask.VisitTaskNum > origenalTask.VisitTaskNum && t.RequestReReadingResultEnum == RequestReReadingResult.Default)
|
|
||||||
// .Where(t => t.OriginalReReadingTask.IsAnalysisCreate == origenalTask.IsAnalysisCreate);
|
|
||||||
|
|
||||||
// if (await query.AnyAsync())
|
|
||||||
// {
|
|
||||||
// return ResponseOutput.NotOk("当前为有序阅片,当前访视之后,也申请了重阅 必须从后向前处理");
|
|
||||||
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == origenalTask.SubjectId && t.TaskState == TaskState.Effect && t.TaskAllocationState == TaskAllocationState.Allocated;
|
Expression<Func<VisitTask, bool>> filterExpression = t => t.TrialId == trialId && t.SubjectId == origenalTask.SubjectId && t.TaskState == TaskState.Effect && t.TaskAllocationState == TaskAllocationState.Allocated;
|
||||||
|
|
||||||
//是否是一致性分析任务 正常申请 会影响一致性分析任务
|
//是否是一致性分析任务 正常申请 会影响一致性分析任务
|
||||||
|
@ -1518,7 +1517,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
||||||
|
|
||||||
}
|
}
|
||||||
//IR申请 PM 审批 注意这里有一致性分析的申请同意 不会回退访视,在此要生成影响的访视任务
|
//IR申请 PM 审批 注意这里有一致性分析的申请同意 不会回退访视,在此要生成影响的访视任务
|
||||||
else if (visitTaskReReadingAppply.RequestReReadingType == RequestReReadingType.DocotorApply && _userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager)
|
else if (visitTaskReReadingAppply.RequestReReadingType == RequestReReadingType.DocotorApply && (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager ||_userInfo.UserTypeEnumInt==(int)UserTypeEnum.AIR))
|
||||||
{
|
{
|
||||||
#region 两个IR 申请同一访视,其他人的申请记录也设置为同意
|
#region 两个IR 申请同一访视,其他人的申请记录也设置为同意
|
||||||
|
|
||||||
|
|
|
@ -55,9 +55,15 @@
|
||||||
|
|
||||||
CMM=19,
|
CMM=19,
|
||||||
|
|
||||||
|
|
||||||
|
AIR=21,
|
||||||
|
|
||||||
//医生用户类型暂不处理
|
//医生用户类型暂不处理
|
||||||
|
|
||||||
ShareImage = 15,
|
ShareImage = 125,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Undefined=0
|
Undefined=0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue