AIR 增加接口
							parent
							
								
									8b3b69fbb8
								
							
						
					
					
						commit
						674cd139ea
					
				| 
						 | 
				
			
			@ -1274,7 +1274,7 @@
 | 
			
		|||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.Service.ReadingCalculate.SelfDefineCalculateService.AddTaskLesionAnswerFromLastTask(IRaCIS.Core.Application.ViewModel.AddTaskLesionAnswerFromLastTaskInDto)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            将上一次的病灶信息添加到这一次
 | 
			
		||||
            将上一次的访视病灶添加到这一次
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="inDto"></param>
 | 
			
		||||
            <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
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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>
 | 
			
		||||
        /// 申请重阅  1:IR  2:PM
 | 
			
		||||
| 
						 | 
				
			
			@ -1062,8 +1092,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
 | 
			
		|||
 | 
			
		||||
            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();
 | 
			
		||||
 | 
			
		||||
            foreach (var task in taskList)
 | 
			
		||||
| 
						 | 
				
			
			@ -1197,7 +1225,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
 | 
			
		|||
                    RequestReReadingReason = applyReReadingCommand.RequestReReadingReason,
 | 
			
		||||
                    RequestReReadingType = applyReReadingCommand.RequestReReadingType,
 | 
			
		||||
 | 
			
		||||
                }); ;
 | 
			
		||||
                }); 
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1275,22 +1303,10 @@ namespace IRaCIS.Core.Application.Service.Allocation
 | 
			
		|||
        public async Task<IResponseOutput> ConfirmReReading(ConfirmReReadingCommand agreeReReadingCommand, [FromServices] IVisitTaskHelpeService _visitTaskCommonService)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            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)
 | 
			
		||||
            {
 | 
			
		||||
                //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();
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -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 visitTaskReReadingAppply = await _visitTaskReReadingRepository.FirstOrDefaultAsync(t => t.Id == item.Id);
 | 
			
		||||
                visitTaskReReadingAppply.RequestReReadingConfirmUserId = _userInfo.Id;
 | 
			
		||||
| 
						 | 
				
			
			@ -1312,22 +1327,6 @@ namespace IRaCIS.Core.Application.Service.Allocation
 | 
			
		|||
                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;
 | 
			
		||||
 | 
			
		||||
                //是否是一致性分析任务  正常申请 会影响一致性分析任务
 | 
			
		||||
| 
						 | 
				
			
			@ -1518,7 +1517,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
 | 
			
		|||
 | 
			
		||||
                    }
 | 
			
		||||
                    //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 申请同一访视,其他人的申请记录也设置为同意   
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,9 +55,15 @@
 | 
			
		|||
 | 
			
		||||
        CMM=19,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        AIR=21,
 | 
			
		||||
 | 
			
		||||
        //医生用户类型暂不处理
 | 
			
		||||
 | 
			
		||||
        ShareImage = 15,
 | 
			
		||||
        ShareImage = 125,
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        Undefined=0
 | 
			
		||||
       
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue