@@ -3,6 +3,7 @@ using IRaCIS.Core.Application.MassTransit.Command;
|
||||
using IRaCIS.Core.Application.Service.Reading.Dto;
|
||||
using IRaCIS.Core.Domain;
|
||||
using IRaCIS.Core.Domain.BaseModel;
|
||||
using IRaCIS.Core.Domain.Models;
|
||||
using IRaCIS.Core.Infra.EFCore.Common;
|
||||
using MassTransit;
|
||||
using Microsoft.Extensions.Options;
|
||||
@@ -218,15 +219,16 @@ public class QCRepliedQCChallengeEventConsumer(
|
||||
{
|
||||
Console.WriteLine("发送(014,015) 【 QC回复 质控质疑,通知CRC】邮件!!!");
|
||||
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
||||
|
||||
var qCChallengeDialog = await _qCChallengeDialogRepository.Where(x => x.Id == context.Message.QCChallengeDialogId).Include(x => x.QCChallenge).FirstNotNullAsync();
|
||||
var subjectVisitId = context.Message.SubjectVisitId;
|
||||
|
||||
var subjectVisit = await _subjectVisitRepository.Where(x => x.Id == subjectVisitId).Include(x => x.Subject).FirstNotNullAsync();
|
||||
|
||||
var trialUser = await _trialUseRepository.Where(x => x.TrialId == subjectVisit.TrialId).Include(x => x.User).Select(x => x.User).ToListAsync();
|
||||
|
||||
var userinfoList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.CRA || x.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).ToList();
|
||||
var userinfoList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).ToList();
|
||||
|
||||
var craInfo = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.CRA).FirstOrDefault();
|
||||
|
||||
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == subjectVisit.TrialId);
|
||||
|
||||
@@ -239,8 +241,8 @@ public class QCRepliedQCChallengeEventConsumer(
|
||||
DictionaryRepository = _dictionaryRepository,
|
||||
IsEn_US = isEn_US,
|
||||
DictionaryList = new List<DictionaryDto>()
|
||||
{
|
||||
new DictionaryDto (){DictionaryCode= "CheckState",EnumValue=subjectVisit.CheckState.GetEnumInt(), }, //审核状态
|
||||
{
|
||||
new DictionaryDto (){DictionaryCode= "YesOrNo",EnumValue=qCChallengeDialog.QCChallenge.IsClosed.ToString(), }, //是否关闭
|
||||
|
||||
}
|
||||
});
|
||||
@@ -252,7 +254,10 @@ public class QCRepliedQCChallengeEventConsumer(
|
||||
//发件地址
|
||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||
messageToSend.To.Add(new MailboxAddress(String.Empty, userinfo.EMail));
|
||||
|
||||
if (craInfo != null)
|
||||
{
|
||||
messageToSend.Cc.Add(new MailboxAddress(String.Empty, craInfo.EMail));
|
||||
}
|
||||
|
||||
var companyName = isEn_US ? _systemEmailConfig.CompanyShortName : _systemEmailConfig.CompanyShortNameCN;
|
||||
|
||||
@@ -265,12 +270,13 @@ public class QCRepliedQCChallengeEventConsumer(
|
||||
var topicStr = string.Format(input.topicStr, trialInfo.ResearchProgramNo, subjectCode, subjectVisit.VisitName);
|
||||
var htmlBodyStr = string.Format(
|
||||
CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr),
|
||||
trialInfo.ExperimentName, // 项目 {1}
|
||||
trialInfo.ExperimentName, // 项目 {1}
|
||||
userinfo.FullName, // 用户名 {1}
|
||||
subjectCode, // 受试者 {2}
|
||||
subjectVisit.VisitName, // 访视 {3}
|
||||
dictionValue[0], // 核查状态 {4}
|
||||
_systemEmailConfig.SiteUrl // 链接 {5}
|
||||
dictionValue[0], // 质疑是否关闭 {4}
|
||||
qCChallengeDialog.TalkContent, // 质疑内容 {5}
|
||||
_systemEmailConfig.SiteUrl // 链接 {65}
|
||||
);
|
||||
|
||||
return (topicStr, htmlBodyStr);
|
||||
@@ -278,7 +284,7 @@ public class QCRepliedQCChallengeEventConsumer(
|
||||
|
||||
await CommonEmailHelper.GetEmailSubejctAndHtmlInfoAndBuildAsync(_emailNoticeConfigrepository,
|
||||
|
||||
context.Message.IsPd ? EmailBusinessScenario.PDVerification_UnderDRForPMOrAPM : EmailBusinessScenario.EligibilityVerification_UnderDRForPMOrAPM,
|
||||
context.Message.IsPd ? EmailBusinessScenario.PDVerification_ImageQuery : EmailBusinessScenario.EligibilityVerification_ImageQuery,
|
||||
|
||||
messageToSend, emailConfigFunc);
|
||||
|
||||
@@ -380,7 +386,8 @@ public class CRCRepliedCheckChallengeEventConsumer(
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// PM 一致性核查 通知CRC
|
||||
/// PM 一致性核查 通知CRC (016,017)
|
||||
|
||||
/// </summary>
|
||||
public class PMRepliedCheckChallengeEventConsumer : IConsumer<PMRepliedCheckChallengeEvent>
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user