修改邮件发送枚举--025
parent
eee828ca46
commit
daaf4540a4
|
@ -168,14 +168,14 @@ namespace IRaCIS.Application.Services.BackGroundJob
|
|||
switch (task.BusinessScenarioEnum)
|
||||
{
|
||||
|
||||
case CommonDocumentBusinessScenario.QCTask:
|
||||
HangfireJobHelper.AddOrUpdateCronJob<IEmailSendService>(jobId, t => t.SendTrialImageQCTaskEmailAsync(task.TrialId), task.EmailCron, task.Code);
|
||||
case EmailBusinessScenario.QCTask:
|
||||
HangfireJobHelper.AddOrUpdateCronJob<IEmailSendService>(jobId, t => t.SendTrialImageQCTaskEmailAsync(task.TrialId), task.EmailCron);
|
||||
break;
|
||||
case CommonDocumentBusinessScenario.QCQuestion:
|
||||
HangfireJobHelper.AddOrUpdateCronJob<IEmailSendService>(jobId, t => t.SendTrialQCQuestionEmailAsync(task.TrialId), task.EmailCron, task.Code);
|
||||
case EmailBusinessScenario.QCQuestion:
|
||||
HangfireJobHelper.AddOrUpdateCronJob<IEmailSendService>(jobId, t => t.SendTrialQCQuestionEmailAsync(task.TrialId), task.EmailCron);
|
||||
break;
|
||||
case CommonDocumentBusinessScenario.ImageQuestion:
|
||||
HangfireJobHelper.AddOrUpdateCronJob<IEmailSendService>(jobId, t => t.SendTrialImageQuestionAsync(task.TrialId), task.EmailCron, task.Code);
|
||||
case EmailBusinessScenario.ImageQuestion:
|
||||
HangfireJobHelper.AddOrUpdateCronJob<IEmailSendService>(jobId, t => t.SendTrialImageQuestionAsync(task.TrialId), task.EmailCron);
|
||||
break;
|
||||
|
||||
//case CommonDocumentBusinessScenario.EnrollConfirmed:
|
||||
|
|
|
@ -100,7 +100,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
[NotDefault]
|
||||
public Guid TrialId { get; set; }
|
||||
|
||||
public CommonDocumentBusinessScenario? BusinessScenarioEnum { get; set; }
|
||||
public EmailBusinessScenario? BusinessScenarioEnum { get; set; }
|
||||
|
||||
//public CriterionType? CriterionTypeEnum { get; set; }
|
||||
|
||||
|
@ -117,7 +117,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
public Guid TrialReadingCriterionId { get; set; }
|
||||
|
||||
public CommonDocumentBusinessScenario BusinessScenarioEnum { get; set; }
|
||||
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
|
||||
}
|
||||
|
||||
public class BatchAddTrialEmailNoticeConfig
|
||||
|
@ -127,7 +127,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
public CommonDocumentBusinessScenario BusinessScenarioEnum { get; set; }
|
||||
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
|
||||
|
||||
public string Code { get; set; } = string.Empty;
|
||||
|
||||
|
|
|
@ -90,7 +90,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
return (topicStr, htmlBodyStr);
|
||||
};
|
||||
|
||||
await SendTrialEmailAsync(trialId, CommonDocumentBusinessScenario.QCTask, topicAndHtmlFunc);
|
||||
await SendTrialEmailAsync(trialId, EmailBusinessScenario.QCTask, topicAndHtmlFunc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
return (topicStr, htmlBodyStr);
|
||||
};
|
||||
|
||||
await SendTrialEmailAsync(trialId, CommonDocumentBusinessScenario.QCQuestion, topicAndHtmlFunc);
|
||||
await SendTrialEmailAsync(trialId, EmailBusinessScenario.QCQuestion, topicAndHtmlFunc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -183,7 +183,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
return (topicStr, htmlBodyStr);
|
||||
};
|
||||
|
||||
await SendTrialEmailAsync(trialId, CommonDocumentBusinessScenario.ImageQuestion, topicAndHtmlFunc);
|
||||
await SendTrialEmailAsync(trialId, EmailBusinessScenario.ImageQuestion, topicAndHtmlFunc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -202,11 +202,11 @@ namespace IRaCIS.Core.Application.Service
|
|||
return (topicStr, htmlBodyStr);
|
||||
};
|
||||
|
||||
await SendTrialEmailAsync(info.TrialId, CommonDocumentBusinessScenario.ClinicalDataQuestion, topicAndHtmlFunc);
|
||||
await SendTrialEmailAsync(info.TrialId, EmailBusinessScenario.ClinicalDataQuestion, topicAndHtmlFunc);
|
||||
}
|
||||
|
||||
|
||||
public async Task SendTrialEmailAsync(Guid trialId, CommonDocumentBusinessScenario businessScenario, Func<TrialEmailNoticeConfig, (string topicStr, string htmlBodyStr)> topicAndHtmlFunc, Guid? trialReadingCriterionId = null, Guid? subjectId = null)
|
||||
public async Task SendTrialEmailAsync(Guid trialId, EmailBusinessScenario businessScenario, Func<TrialEmailNoticeConfig, (string topicStr, string htmlBodyStr)> topicAndHtmlFunc, Guid? trialReadingCriterionId = null, Guid? subjectId = null)
|
||||
{
|
||||
//找到配置
|
||||
var trialEmailConfig = await _trialEmailNoticeConfigRepository.Where(t => t.TrialId == trialId && t.TrialReadingCriterionId == trialReadingCriterionId && t.BusinessScenarioEnum == businessScenario, ignoreQueryFilters: true)
|
||||
|
|
|
@ -159,8 +159,10 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
var confirmedCriterionTypeList = list.Select(t => (CriterionType?)t.CriterionType).ToList();
|
||||
|
||||
var docmentList = _repository.Where<CommonDocument>(t => t.BusinessScenarioEnum == CommonDocumentBusinessScenario.EnrollConfirmed || t.BusinessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)
|
||||
.Where(t => (confirmedCriterionTypeList.Contains(t.CriterionTypeEnum)) || t.CriterionTypeEnum == null).Select(t => new { t.Path, t.Name, t.Code, t.BusinessScenarioEnum, t.CriterionTypeEnum }).ToList();
|
||||
var docmentList = _repository.Where<TrialEmailNoticeConfig>(t => t.BusinessScenarioEnum == EmailBusinessScenario.EnrollConfirmed || t.BusinessScenarioEnum == EmailBusinessScenario.PDConfirmed)
|
||||
//.Where(t => (confirmedCriterionTypeList.Contains(t.CriterionTypeEnum)) || t.CriterionTypeEnum == null).Select(t => new { t.Path, t.Name, t.Code, t.BusinessScenarioEnum, t.CriterionTypeEnum })
|
||||
.ToList();
|
||||
|
||||
|
||||
|
||||
foreach (var item in docmentList)
|
||||
|
@ -190,15 +192,15 @@ namespace IRaCIS.Core.Application.Service
|
|||
public async Task CommonBusinessScenarioSendEmailAsync(Guid visitTaskId, bool? isEnrollment, bool? isPDConfirm)
|
||||
{
|
||||
#region 区分场景
|
||||
CommonDocumentBusinessScenario businessScenarioEnum;
|
||||
EmailBusinessScenario businessScenarioEnum;
|
||||
|
||||
if (isEnrollment != null && isPDConfirm == null)
|
||||
{
|
||||
businessScenarioEnum = CommonDocumentBusinessScenario.EnrollConfirmed;
|
||||
businessScenarioEnum = EmailBusinessScenario.EnrollConfirmed;
|
||||
}
|
||||
else /*if (isEnrollment == null && isPDConfirm != null)*/
|
||||
{
|
||||
businessScenarioEnum = CommonDocumentBusinessScenario.PDConfirmed;
|
||||
businessScenarioEnum = EmailBusinessScenario.PDConfirmed;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -305,7 +307,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
|
||||
if (businessScenarioEnum == CommonDocumentBusinessScenario.EnrollConfirmed)
|
||||
if (businessScenarioEnum == EmailBusinessScenario.EnrollConfirmed)
|
||||
{
|
||||
sendEmailConfig.TopicDescription = _localizer["TrialEmailN_EnrollmentConfirmation", taskInfo.ResearchProgramNo, taskInfo.SubjectCode];
|
||||
|
||||
|
@ -321,7 +323,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
);
|
||||
}
|
||||
}
|
||||
else /*if (businessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)*/
|
||||
else /*if (businessScenarioEnum == EmailBusinessScenario.PDConfirmed)*/
|
||||
{
|
||||
sendEmailConfig.TopicDescription = _localizer["TrialEmailN_PDReport", taskInfo.ResearchProgramNo, taskInfo.SubjectCode];
|
||||
|
||||
|
@ -414,7 +416,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
public async Task<string> BaseBusinessScenarioSendEmailAsync(Guid visitTaskId, bool? isHandSend, EmailStoreSendMode emailStoreMode, string sendFileRelativePath)
|
||||
{
|
||||
|
||||
CommonDocumentBusinessScenario? businessScenarioEnum = null;
|
||||
EmailBusinessScenario? businessScenarioEnum = null;
|
||||
|
||||
#region 任务关联的项目配置 标准信息及配置,subject 信息
|
||||
var taskInfo = await _visitTaskRepository.Where(t => t.Id == visitTaskId).Select(t => new
|
||||
|
@ -482,7 +484,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
//入组确认场景
|
||||
if (taskInfo.IsEnrollmentConfirm == true && taskInfo.IsEnrollementQualificationConfirm == true && taskInfo.IsBaseline == true)
|
||||
{
|
||||
businessScenarioEnum = CommonDocumentBusinessScenario.EnrollConfirmed;
|
||||
businessScenarioEnum = EmailBusinessScenario.EnrollConfirmed;
|
||||
|
||||
|
||||
}
|
||||
|
@ -491,7 +493,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
(taskInfo.PDState == PDStateEnum.PDProgress && taskInfo.SourceSubjectVisitId != null) ||
|
||||
(taskInfo.SouceReadModuleId != null && taskInfo.MoudulePDState == PDStateEnum.PDProgress))
|
||||
{
|
||||
businessScenarioEnum = CommonDocumentBusinessScenario.PDConfirmed;
|
||||
businessScenarioEnum = EmailBusinessScenario.PDConfirmed;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -612,7 +614,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
#region 不同场景 Tile 设置
|
||||
|
||||
if (businessScenarioEnum == CommonDocumentBusinessScenario.EnrollConfirmed)
|
||||
if (businessScenarioEnum == EmailBusinessScenario.EnrollConfirmed)
|
||||
{
|
||||
sendEmailConfig.TopicDescription = _localizer["TrialEmailN_EnrollmentConfirmation", taskInfo.ResearchProgramNo, taskInfo.SubjectCode];
|
||||
|
||||
|
@ -627,7 +629,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
);
|
||||
}
|
||||
}
|
||||
else if (businessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)
|
||||
else if (businessScenarioEnum == EmailBusinessScenario.PDConfirmed)
|
||||
{
|
||||
sendEmailConfig.TopicDescription = _localizer["TrialEmailN_PDReport", taskInfo.ResearchProgramNo, taskInfo.SubjectCode];
|
||||
|
||||
|
@ -659,7 +661,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
//入组确认 根据每个标准配置的是否自动发送,发送邮件与否
|
||||
if (businessScenarioEnum == CommonDocumentBusinessScenario.EnrollConfirmed)
|
||||
if (businessScenarioEnum == EmailBusinessScenario.EnrollConfirmed)
|
||||
{
|
||||
if (await _repository.Where<ReadingTableQuestionAnswer>().AnyAsync(x => x.VisitTaskId == visitTaskId && x.Answer == TargetState.Exist.GetEnumInt() &&
|
||||
x.ReadingTableQuestionTrial.QuestionMark == QuestionMark.State && x.ReadingQuestionTrial.LesionType == LesionType.TargetLesion))
|
||||
|
@ -704,7 +706,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
}
|
||||
else if (businessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)
|
||||
else if (businessScenarioEnum == EmailBusinessScenario.PDConfirmed)
|
||||
{
|
||||
|
||||
|
||||
|
@ -1073,7 +1075,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
//找到入组确认 或者Pd 进展 已生成任务的 访视
|
||||
var subjectVisitList = await _subjectVisitRepository.Where(t => t.SubjectId == subjectId & t.CheckState == CheckStateEnum.CVPassed && (t.IsEnrollmentConfirm == true || t.PDState == PDStateEnum.PDProgress)).ToListAsync();
|
||||
|
||||
if (businessScenarioEnum == CommonDocumentBusinessScenario.EnrollConfirmed)
|
||||
if (businessScenarioEnum == EmailBusinessScenario.EnrollConfirmed)
|
||||
{
|
||||
|
||||
if (trialConfig.IsEnrollementQualificationConfirm == false)
|
||||
|
@ -1140,7 +1142,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
}
|
||||
|
||||
else if (businessScenarioEnum == CommonDocumentBusinessScenario.PDConfirmed)
|
||||
else if (businessScenarioEnum == EmailBusinessScenario.PDConfirmed)
|
||||
{
|
||||
|
||||
if (trialConfig.IsPDProgressView == false)
|
||||
|
|
|
@ -37,14 +37,19 @@ namespace IRaCIS.Core.Domain.Share
|
|||
public enum CommonDocumentBusinessScenario
|
||||
{
|
||||
|
||||
EnrollConfirmed = 1,
|
||||
|
||||
PDConfirmed = 2,
|
||||
|
||||
Trial=3,
|
||||
|
||||
Reviewer=4,
|
||||
|
||||
}
|
||||
|
||||
public enum EmailBusinessScenario
|
||||
{
|
||||
EnrollConfirmed = 1,
|
||||
|
||||
PDConfirmed = 2,
|
||||
|
||||
QCTask = 5,
|
||||
|
||||
QCQuestion = 6,
|
||||
|
|
|
@ -97,7 +97,7 @@ namespace IRaCIS.Core.Domain.Models
|
|||
public bool IsAutoSend { get; set; }
|
||||
|
||||
|
||||
public CommonDocumentBusinessScenario BusinessScenarioEnum { get; set; }
|
||||
public EmailBusinessScenario BusinessScenarioEnum { get; set; }
|
||||
|
||||
public CriterionType? CriterionTypeEnum { get; set; }
|
||||
|
||||
|
|
Loading…
Reference in New Issue