修改邮件发送枚举--025

Uat_Study
hang 2023-08-25 10:28:43 +08:00
parent eee828ca46
commit daaf4540a4
6 changed files with 44 additions and 37 deletions

View File

@ -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:

View File

@ -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;

View File

@ -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)

View File

@ -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)

View File

@ -37,21 +37,26 @@ namespace IRaCIS.Core.Domain.Share
public enum CommonDocumentBusinessScenario
{
EnrollConfirmed = 1,
PDConfirmed = 2,
Trial=3,
Reviewer=4,
QCTask=5,
}
QCQuestion=6,
public enum EmailBusinessScenario
{
EnrollConfirmed = 1,
PDConfirmed = 2,
QCTask = 5,
QCQuestion = 6,
ImageQuestion = 7,
ClinicalDataQuestion=8,
ClinicalDataQuestion = 8,
}

View File

@ -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; }