修改入组确认发送逻辑
							parent
							
								
									f0414fcdc3
								
							
						
					
					
						commit
						2b3d5b4960
					
				| 
						 | 
					@ -262,6 +262,7 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
                t.SubjectId,
 | 
					                t.SubjectId,
 | 
				
			||||||
                t.Subject.SiteId,
 | 
					                t.Subject.SiteId,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                t.DoctorUserId,
 | 
				
			||||||
                t.ReadingTaskState,
 | 
					                t.ReadingTaskState,
 | 
				
			||||||
                t.ReadingCategory,
 | 
					                t.ReadingCategory,
 | 
				
			||||||
                t.SignTime,
 | 
					                t.SignTime,
 | 
				
			||||||
| 
						 | 
					@ -472,13 +473,41 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                //如果其他阅片人已经做了,说明发送了入组确认报告,第二个人做完就不发送了
 | 
					                //如果其他阅片人已经做了,说明发送了入组确认报告,第二个人做完就不发送了
 | 
				
			||||||
                if (await _visitTaskRepository.AnyAsync(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false &&
 | 
					
 | 
				
			||||||
                t.Id != visitTaskId && t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId))
 | 
					                //入组确认一直交给第一个人,如果第一个人重阅 还未做完,第二个人先做完了,此时不发
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                var existFirstEnrollTask= await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.IsAnalysisCreate == false 
 | 
				
			||||||
 | 
					                && t.ReadingTaskState == ReadingTaskState.HaveSigned && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId).OrderBy(t=>t.SignTime).FirstOrDefaultAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                //入组确认的医生已确定
 | 
				
			||||||
 | 
					                if(existFirstEnrollTask!= null)
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    isNeedSend = false;
 | 
					                    if(taskInfo.DoctorUserId==existFirstEnrollTask.DoctorUserId)
 | 
				
			||||||
 | 
					                    {                      
 | 
				
			||||||
 | 
					                        isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, new List<Guid>() { visitTaskId }, minUserIdList);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        if (answer == "是")
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            //把另外一个人的任务设置为不加急(如果项目加急是否  subject 加急是否)
 | 
				
			||||||
 | 
					                            var urgent = _repository.Where<SubjectVisit>(t => t.Id == taskInfo.SourceSubjectVisitId).Select(t => new { IsSubjectUrgent = t.Subject.IsUrgent, t.Trial.IsUrgent }).FirstOrDefault();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            if (urgent?.IsUrgent == false || urgent?.IsSubjectUrgent == false)
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                await _visitTaskRepository.BatchUpdateNoTrackingAsync(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TaskState == TaskState.Effect && t.IsAnalysisCreate == false &&
 | 
				
			||||||
 | 
					                        t.Id != visitTaskId && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId, u => new VisitTask() { IsUrgent = false });
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                    else
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        isNeedSend = false;
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                else
 | 
					                else
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
 | 
					                    isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, new List<Guid>() { visitTaskId }, minUserIdList);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    if (answer == "是")
 | 
					                    if (answer == "是")
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        //把另外一个人的任务设置为不加急(如果项目加急是否  subject 加急是否)
 | 
					                        //把另外一个人的任务设置为不加急(如果项目加急是否  subject 加急是否)
 | 
				
			||||||
| 
						 | 
					@ -491,11 +520,11 @@ namespace IRaCIS.Core.Application.Service
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                  
 | 
					 | 
				
			||||||
                    isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isHandSend, answer, new List<Guid>() { visitTaskId }, minUserIdList);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					             
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (businessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)
 | 
					            else if (businessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue