diff --git a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs index 6382d5498..6732e9548 100644 --- a/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs +++ b/IRaCIS.Core.Application/Service/Common/ExcelExportService.cs @@ -526,7 +526,7 @@ namespace IRaCIS.Core.Application.Service.Common item.AgainEvaluateResult = selfAnalysisTask?.EvaluateResult ?? String.Empty; //将自身一致性分析的字段 赋值到访视任务这个字段 - item.IsAnalysisDiffToOriginalData = selfAnalysisTask.IsAnalysisDiffToOriginalData; + item.IsAnalysisDiffToOriginalData = selfAnalysisTask?.IsAnalysisDiffToOriginalData; } diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index 39dd69bc8..5d5f5843a 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -15,6 +15,8 @@ using IRaCIS.Application.Contracts; using IRaCIS.Core.Infra.EFCore.Common; using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.Filter; +using MiniSoftware; +using IRaCIS.Core.Application.Service.Reading.Dto; namespace IRaCIS.Core.Application.Service { @@ -55,7 +57,7 @@ namespace IRaCIS.Core.Application.Service EmailAuthorizationCode = x.EmailAuthorizationCode, EmailSMTPServerAddress = x.EmailSMTPServerAddress, EmailFromEmail = x.EmailFromEmail, - EmailFromName = x.EmailFromEmail, + EmailFromName = x.EmailFromName, IsConfigureEmail = x.IsConfigureEmail, EmailSMTPServerPort = x.EmailSMTPServerPort @@ -126,11 +128,11 @@ namespace IRaCIS.Core.Application.Service if (trialDocCount == 0) { //找到确认的标准 - var list= await _repository.Where(t => t.TrialId == trialId && t.IsConfirm).Select(t => new { t.CriterionType, TrialReadingCriterionId = t.Id }).ToListAsync(); + var list = await _repository.Where(t => t.TrialId == trialId && t.IsConfirm).Select(t => new { t.CriterionType, TrialReadingCriterionId = t.Id }).ToListAsync(); - var confirmedCriterionTypeList = list.Select(t => (CriterionType?) t.CriterionType).ToList(); + var confirmedCriterionTypeList = list.Select(t => (CriterionType?)t.CriterionType).ToList(); - var docmentList = _repository.Where(t => confirmedCriterionTypeList.Contains(t.CriterionTypeEnum) ).Select(t => new { t.Path, t.Name, t.Code, t.BusinessScenarioEnum ,t.CriterionTypeEnum}).ToList(); + var docmentList = _repository.Where(t => confirmedCriterionTypeList.Contains(t.CriterionTypeEnum)).Select(t => new { t.Path, t.Name, t.Code, t.BusinessScenarioEnum, t.CriterionTypeEnum }).ToList(); foreach (var item in docmentList) @@ -138,7 +140,7 @@ namespace IRaCIS.Core.Application.Service await _trialEmailNoticeConfigRepository.AddAsync(new TrialEmailNoticeConfig() { TrialId = trialId, - TrialReadingCriterionId= list.Where(t=>t.CriterionType==item.CriterionTypeEnum).FirstOrDefault()?.TrialReadingCriterionId, + TrialReadingCriterionId = list.Where(t => t.CriterionType == item.CriterionTypeEnum).FirstOrDefault()?.TrialReadingCriterionId, FileName = item.Name, FilePath = item.Path, BusinessScenarioEnum = item.BusinessScenarioEnum, @@ -352,7 +354,6 @@ namespace IRaCIS.Core.Application.Service #endregion - var answer = "否"; var isNeedSend = true; @@ -710,9 +711,21 @@ namespace IRaCIS.Core.Application.Service } else if (readingCategory == ReadingCategory.Global) { - var questionAnsewer = await _repository.Where(t => t.TaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.Tumor).FirstNotNullAsync(); + var questionAnsewerList = await _repository.Where(t => t.GlobalTaskId == visitTaskId && t.TrialReadingQuestion.QuestionType == QuestionType.Tumor).ToListAsync(); + + var answerEmptyTaskIdList=questionAnsewerList.Where(t=>string.IsNullOrEmpty(t.Answer)).Select(t=>t.TaskId).ToList(); + + var answerList= await _repository.Where(t => answerEmptyTaskIdList.Contains(t.VisitTaskId) && t.ReadingQuestionTrial.QuestionType == QuestionType.Tumor) + .Select(t=>t.Answer).ToListAsync(); + + if (questionAnsewerList.Any(t => t.Answer == ((int)OverallAssessment.PD).ToString()) || answerList.Any(t => t == ((int)OverallAssessment.PD).ToString())) + { + answer = ((int)OverallAssessment.PD).ToString(); + + } + + - answer = questionAnsewer.Answer; } else if (readingCategory == ReadingCategory.Judge) { @@ -720,6 +733,7 @@ namespace IRaCIS.Core.Application.Service var questionAnsewer = await _repository.Where(t => t.VisitTaskId == visitTaskId && t.ReadingQuestionTrial.QuestionType == QuestionType.Tumor).FirstNotNullAsync(); + answer = questionAnsewer.Answer; } else @@ -731,10 +745,10 @@ namespace IRaCIS.Core.Application.Service { return "是"; } - if (answer == OverallAssessment.NA.GetEnumInt()) - { - return "NA"; - } + //if (answer == OverallAssessment.NA.GetEnumInt()) + //{ + // return "NA"; + //} else { return "否";