修改发送邮件错误
							parent
							
								
									2c4ca49059
								
							
						
					
					
						commit
						15a2294688
					
				| 
						 | 
				
			
			@ -628,6 +628,17 @@
 | 
			
		|||
            <param name="sendFileRelativePath"></param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.Service.TrialEmailNoticeConfigService.TranslatePdStateAsync(System.Guid,IRaCIS.Core.Domain.Share.ReadingCategory,IRaCIS.Core.Domain.Share.CriterionType,System.Nullable{System.Boolean})">
 | 
			
		||||
            <summary>
 | 
			
		||||
            
 | 
			
		||||
            </summary>
 | 
			
		||||
            <param name="visitTaskId"> 任务Id</param>
 | 
			
		||||
            <param name="readingCategory"> 任务类型</param>
 | 
			
		||||
            <param name="criterionType">标准类型</param>
 | 
			
		||||
            <param name="IsGlobalGenerate">  是否是全局产生(区分裁判任务)</param>
 | 
			
		||||
            <returns></returns>
 | 
			
		||||
            <exception cref="T:IRaCIS.Core.Infrastructure.BusinessValidationFailedException"></exception>
 | 
			
		||||
        </member>
 | 
			
		||||
        <member name="M:IRaCIS.Core.Application.Service.TrialEmailNoticeConfigService.GetTrialUserTypeSelectList(System.Guid)">
 | 
			
		||||
            <summary>
 | 
			
		||||
            选择人员下拉
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -572,8 +572,8 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                            //双人  产生裁判,并且裁判完成 发
 | 
			
		||||
                            else if (taskList.Count == 3 && taskList.Count(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) == 3 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Count() == 1)
 | 
			
		||||
                            {
 | 
			
		||||
 | 
			
		||||
                                answer = await TranslatePdStateAsync(taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().Id, ReadingCategory.Judge, taskInfo.CriterionType);
 | 
			
		||||
                                var judgeResultId = taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().JudgeResultTaskId.Value;
 | 
			
		||||
                                answer = await TranslatePdStateAsync(judgeResultId, ReadingCategory.Visit, taskInfo.CriterionType);
 | 
			
		||||
 | 
			
		||||
                                isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isMedicalReviewAndSuggestApplyReReading, answer, taskList.Select(t => t.Id).ToList(), minUserIdList);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -618,7 +618,8 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                                else if (taskList.Count == 3 && taskList.Count(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) == 3 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Count() == 1 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Global).Count() == 2)
 | 
			
		||||
                                {
 | 
			
		||||
 | 
			
		||||
                                    answer = await TranslatePdStateAsync(taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().Id, ReadingCategory.Judge, taskInfo.CriterionType);
 | 
			
		||||
                                    var judgeResultId = taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().JudgeResultTaskId.Value;
 | 
			
		||||
                                    answer = await TranslatePdStateAsync(judgeResultId, ReadingCategory.Global, taskInfo.CriterionType);
 | 
			
		||||
 | 
			
		||||
                                    isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isMedicalReviewAndSuggestApplyReReading, answer, taskList.Select(t => t.Id).ToList(), minUserIdList);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -681,7 +682,8 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                    {
 | 
			
		||||
                        //在两位阅片人读完访视后,如果有裁判者等裁判读完,如果无裁判则等第二个人的读完
 | 
			
		||||
 | 
			
		||||
                        var taskList = await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.IsAnalysisCreate == false && t.TaskState == TaskState.Effect && (t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Judge)).ToListAsync();
 | 
			
		||||
                        var taskList = await _visitTaskRepository.Where(t => t.SourceSubjectVisitId == taskInfo.SourceSubjectVisitId && t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.IsAnalysisCreate == false && t.TaskState == TaskState.Effect 
 | 
			
		||||
                        && (t.ReadingCategory == ReadingCategory.Visit || t.ReadingCategory == ReadingCategory.Judge)).ToListAsync();
 | 
			
		||||
 | 
			
		||||
                        //这里要求 到这里已经如果有裁判  已经生成裁判了保存数据库
 | 
			
		||||
                        if (taskList.Count == 2 && taskList.Count(t => t.ReadingTaskState == ReadingTaskState.HaveSigned && t.ReadingCategory == ReadingCategory.Visit) == 2)
 | 
			
		||||
| 
						 | 
				
			
			@ -693,8 +695,9 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                        }
 | 
			
		||||
                        else if (taskList.Count == 3 && taskList.Count(t => t.ReadingTaskState == ReadingTaskState.HaveSigned) == 3 && taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).Count() == 1)
 | 
			
		||||
                        {
 | 
			
		||||
                            var judgeResultId = taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().JudgeResultTaskId.Value;
 | 
			
		||||
                            answer = await TranslatePdStateAsync(judgeResultId, ReadingCategory.Visit, taskInfo.CriterionType);
 | 
			
		||||
 | 
			
		||||
                            answer = await TranslatePdStateAsync(taskList.Where(t => t.ReadingCategory == ReadingCategory.Judge).First().Id, ReadingCategory.Judge, taskInfo.CriterionType);
 | 
			
		||||
                            isNeedSend = await DealMedicalReviewTasKGenerateAndIsSendAsync(taskInfo.TrialId, isMedicalReviewAndSuggestApplyReReading, answer, taskList.Select(t => t.Id).ToList(), minUserIdList);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1084,8 +1087,16 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        private async Task<string> TranslatePdStateAsync(Guid visitTaskId, ReadingCategory readingCategory, CriterionType criterionType)
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="visitTaskId"> 任务Id</param>
 | 
			
		||||
        /// <param name="readingCategory"> 任务类型</param>
 | 
			
		||||
        /// <param name="criterionType">标准类型</param>
 | 
			
		||||
        /// <param name="IsGlobalGenerate">  是否是全局产生(区分裁判任务)</param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        /// <exception cref="BusinessValidationFailedException"></exception>
 | 
			
		||||
        private async Task<string> TranslatePdStateAsync(Guid visitTaskId, ReadingCategory readingCategory, CriterionType criterionType, bool? IsGlobalGenerate=null)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            var answer = string.Empty;
 | 
			
		||||
| 
						 | 
				
			
			@ -1123,15 +1134,15 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
                        }
 | 
			
		||||
 | 
			
		||||
                    }
 | 
			
		||||
                    else if (readingCategory == ReadingCategory.Judge)
 | 
			
		||||
                    {
 | 
			
		||||
                        //var judgeResultTaskId = await _visitTaskRepository.Where(t => t.Id == visitTaskId).Select(t => t.JudgeResultTaskId).FirstNotNullAsync();
 | 
			
		||||
                    //else if (readingCategory == ReadingCategory.Judge)
 | 
			
		||||
                    //{
 | 
			
		||||
                    //    var judgeResultTaskId = await _visitTaskRepository.Where(t => t.Id == visitTaskId).Select(t => t.JudgeResultTaskId).FirstNotNullAsync();
 | 
			
		||||
 | 
			
		||||
                        var questionAnsewer = await _repository.Where<ReadingTaskQuestionAnswer>(t => t.VisitTaskId == visitTaskId && t.ReadingQuestionTrial.QuestionType == QuestionType.Tumor).FirstNotNullAsync();
 | 
			
		||||
                    //    var questionAnsewer = await _repository.Where<ReadingTaskQuestionAnswer>(t => t.VisitTaskId == judgeResultTaskId && t.ReadingQuestionTrial.QuestionType == QuestionType.Tumor).FirstNotNullAsync();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                        answer = questionAnsewer.Answer;
 | 
			
		||||
                    }
 | 
			
		||||
                    //    answer = questionAnsewer.Answer;
 | 
			
		||||
                    //}
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        throw new BusinessValidationFailedException("不应有 除访视、裁判、全局其他类型的任务进行发送邮件,请核查业务逻辑");
 | 
			
		||||
| 
						 | 
				
			
			@ -1163,14 +1174,14 @@ namespace IRaCIS.Core.Application.Service
 | 
			
		|||
 | 
			
		||||
                        answer = questionAnsewer.Answer;
 | 
			
		||||
                    }
 | 
			
		||||
                    else if (readingCategory == ReadingCategory.Judge)
 | 
			
		||||
                    {
 | 
			
		||||
                        //var judgeResultTaskId = await _visitTaskRepository.Where(t => t.Id == visitTaskId).Select(t => t.JudgeResultTaskId).FirstNotNullAsync();
 | 
			
		||||
                    //else if (readingCategory == ReadingCategory.Judge)
 | 
			
		||||
                    //{
 | 
			
		||||
                    //    //var judgeResultTaskId = await _visitTaskRepository.Where(t => t.Id == visitTaskId).Select(t => t.JudgeResultTaskId).FirstNotNullAsync();
 | 
			
		||||
 | 
			
		||||
                        var questionAnsewer = await _repository.Where<ReadingTaskQuestionAnswer>(t => t.VisitTaskId == visitTaskId && t.ReadingQuestionTrial.QuestionType == QuestionType.SiteVisitForTumorEvaluation).FirstNotNullAsync();
 | 
			
		||||
                    //    var questionAnsewer = await _repository.Where<ReadingTaskQuestionAnswer>(t => t.VisitTaskId == visitTaskId && t.ReadingQuestionTrial.QuestionType == QuestionType.SiteVisitForTumorEvaluation).FirstNotNullAsync();
 | 
			
		||||
 | 
			
		||||
                        answer = questionAnsewer.Answer;
 | 
			
		||||
                    }
 | 
			
		||||
                    //    answer = questionAnsewer.Answer;
 | 
			
		||||
                    //}
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        throw new BusinessValidationFailedException("不应有 除访视、裁判、全局其他类型的任务进行发送邮件,请核查业务逻辑");
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue