Uat_Study
parent
daaf4540a4
commit
b72b13509b
|
@ -59,7 +59,6 @@ namespace IRaCIS.Application.Services.BackGroundJob
|
|||
await InitInternationlizationDataAndWatchJsonFileAsync();
|
||||
|
||||
//创建邮件定时任务
|
||||
|
||||
//await InitSysAndTrialCronJobAsync();
|
||||
|
||||
|
||||
|
|
|
@ -281,7 +281,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
[HttpPost]
|
||||
[UnitOfWork]
|
||||
public async Task<IResponseOutput> PIAuditTaskEnrollOrPD(PIAuditTaskEnrollOrPdCommand incommand, [FromServices] ITrialEmailNoticeConfigService trialEmailNoticeConfigService)
|
||||
public async Task<IResponseOutput> PIAuditTaskEnrollOrPD(PIAuditTaskEnrollOrPdCommand incommand, [FromServices] IEmailSendService emailSendService)
|
||||
{
|
||||
var visitTask = await _visitTaskRepository.FirstOrDefaultAsync(t => t.Id == incommand.VisitTaskId);
|
||||
visitTask.IsEnrollment = incommand.IsEnrollment != null ? incommand.IsEnrollment : visitTask.IsEnrollment;
|
||||
|
@ -291,7 +291,7 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
|
||||
await _visitTaskRepository.SaveChangesAsync();
|
||||
|
||||
await trialEmailNoticeConfigService.CommonBusinessScenarioSendEmailAsync(visitTask.Id, incommand.IsEnrollment, incommand.IsPDConfirm);
|
||||
await emailSendService.SendEnrollOrPdEmail(visitTask.Id, incommand.IsEnrollment, incommand.IsPDConfirm);
|
||||
|
||||
return ResponseOutput.Ok();
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using DocumentFormat.OpenXml.EMMA;
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
using IRaCIS.Core.Application.Contracts;
|
||||
using IRaCIS.Core.Application.Helper;
|
||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
|
@ -21,6 +22,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
public interface IEmailSendService
|
||||
{
|
||||
Task SendEnrollOrPdEmail(Guid visitTaskId, bool? isEnrollment, bool? isPDConfirm);
|
||||
Task SendClinicalDataQuestionAsync(Guid visitTaskId, string content);
|
||||
Task SendTrialImageQCTaskEmailAsync(Guid trialId);
|
||||
|
||||
|
@ -45,6 +47,50 @@ namespace IRaCIS.Core.Application.Service
|
|||
_SystemEmailSendConfig = systemEmailSendConfig;
|
||||
}
|
||||
|
||||
//入组确认/PD确认
|
||||
|
||||
public async Task SendEnrollOrPdEmail(Guid visitTaskId, bool? isEnrollment, bool? isPDConfirm)
|
||||
{
|
||||
EmailBusinessScenario businessScenarioEnum;
|
||||
|
||||
bool? result = null;
|
||||
|
||||
if (isEnrollment != null && isPDConfirm == null)
|
||||
{
|
||||
businessScenarioEnum = EmailBusinessScenario.EnrollConfirmed;
|
||||
|
||||
result = isEnrollment;
|
||||
}
|
||||
else
|
||||
{
|
||||
businessScenarioEnum = EmailBusinessScenario.PDConfirmed;
|
||||
|
||||
result = isPDConfirm;
|
||||
}
|
||||
|
||||
var taskInfo = await _repository.Where<VisitTask>(t => t.Id == visitTaskId).Select(t => new
|
||||
{
|
||||
t.Subject.SiteId,
|
||||
t.Trial.ResearchProgramNo,
|
||||
t.Subject.TrialSite.TrialSiteCode,
|
||||
SubjectCode = t.Subject.Code,
|
||||
t.Trial.Sponsor.SponsorName,
|
||||
t.TrialId,
|
||||
|
||||
}).FirstNotNullAsync();
|
||||
|
||||
var resultStr = _userInfo.IsEn_Us ? (result == true ? "Yes" : "No") : (result == true ? "是" : "否");
|
||||
|
||||
Func<TrialEmailNoticeConfig, (string topicStr, string htmlBodyStr)> topicAndHtmlFunc = trialEmailConfig =>
|
||||
{
|
||||
var topicStr = string.Format(_userInfo.IsEn_Us ? trialEmailConfig.EmailTopic : trialEmailConfig.EmailTopicCN, taskInfo.ResearchProgramNo, taskInfo.SubjectCode);
|
||||
var htmlBodyStr = string.Format(_userInfo.IsEn_Us ? trialEmailConfig.EmailHtmlContent : trialEmailConfig.EmailHtmlContentCN, taskInfo.ResearchProgramNo, taskInfo.SubjectCode, resultStr);
|
||||
return (topicStr, htmlBodyStr);
|
||||
};
|
||||
|
||||
await SendTrialEmailAsync(taskInfo.TrialId, businessScenarioEnum, topicAndHtmlFunc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 影像质控
|
||||
/// </summary>
|
||||
|
@ -206,6 +252,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public async Task SendTrialEmailAsync(Guid trialId, EmailBusinessScenario businessScenario, Func<TrialEmailNoticeConfig, (string topicStr, string htmlBodyStr)> topicAndHtmlFunc, Guid? trialReadingCriterionId = null, Guid? subjectId = null)
|
||||
{
|
||||
//找到配置
|
||||
|
|
Loading…
Reference in New Issue