diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs index 1396841fe..517ae4324 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs @@ -246,6 +246,14 @@ namespace IRaCIS.Core.Application.Service trial = await _trialRepository.AddAsync(trial); + #region 邮件默认值 + trial.EmailAuthorizationCode = _systemEmailConfig.AuthorizationCode; + trial.EmailFromEmail = _systemEmailConfig.FromEmail; + trial.EmailFromName = $"{_systemEmailConfig.FromName}-{trial.TrialCode}"; + trial.EmailSMTPServerAddress = _systemEmailConfig.Host; + trial.EmailSMTPServerPort = _systemEmailConfig.Port; + #endregion + //如果是PM, 则需要将该人员添加到 运维人员表 //添加运维人员PM await _trialIdentityUserRepository.AddAsync(new TrialIdentityUser() @@ -331,13 +339,7 @@ namespace IRaCIS.Core.Application.Service trial.UpdateTime = DateTime.Now; - #region 邮件默认值 - trial.EmailAuthorizationCode = _systemEmailConfig.AuthorizationCode; - trial.EmailFromEmail = _systemEmailConfig.FromEmail; - trial.EmailFromName = $"{_systemEmailConfig.FromName}-{trial.TrialCode}"; - trial.EmailSMTPServerAddress = _systemEmailConfig.Host; - trial.EmailSMTPServerPort = _systemEmailConfig.Port; - #endregion + var success = await _trialRepository.SaveChangesAsync(); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialStatService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialStatService.cs index 1464e9423..b5b7b15db 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialStatService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialStatService.cs @@ -16,6 +16,7 @@ namespace IRaCIS.Core.Application; [ApiExplorerSettings(GroupName = "Trial")] public class TrialStatService( IRepository _trialRepository, + IRepository _readingQuestionTrialRepository, IRepository _subjectVisitRepository, IRepository _trialDocumentRepository, IRepository _systemDocumentRepository, @@ -118,7 +119,7 @@ public class TrialStatService( var trialReadingCriterionId = inQuery.TrialReadingCriterionId; //每次查询必须是单标准的 - var criterion = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == trialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionGroup, t.IsGlobalReading, t.IsArbitrationReading, t.IsOncologyReading, t.CriterionName, t.ArbitrationRule }).FirstNotNullAsync(); + var criterion = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == trialReadingCriterionId).Select(t => new { t.CriterionType, t.CriterionGroup, t.IsGlobalReading, t.IsArbitrationReading, t.IsOncologyReading, t.CriterionName, t.ArbitrationRule,t.TrialId }).FirstNotNullAsync(); if (criterion.CriterionGroup == CriterionGroup.Nontumorous) @@ -181,8 +182,8 @@ public class TrialStatService( var list = await query.ToListAsync(); - var dicName = await _readingQuestionCriterionTrialRepository.Where(t => t.Id == trialReadingCriterionId).SelectMany(t => t.ReadingQuestionTrialList.Where(t => t.QuestionType == questionType)) - .Select(t => t.DictionaryCode).FirstOrDefaultAsync(); + var dicName = await _readingQuestionTrialRepository.Where(t => t.TrialId == criterion.TrialId) + .Where(t => t.QuestionType == questionType).Select(t => t.DictionaryCode).FirstOrDefaultAsync(); if (criterion.IsArbitrationReading)