Compare commits

..

No commits in common. "ad7463c2c934a6a1cccd62dbd276ecb0c3f50bea" and "d7379e897b799ca8dd5e1dfec8087efe003cb82c" have entirely different histories.

3 changed files with 25 additions and 39 deletions

View File

@ -12777,7 +12777,7 @@
用户提交 发送邮件 通知SPM 或者PM 用户提交 发送邮件 通知SPM 或者PM
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.UserSiteSurveySubmitedEventConsumer.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSite},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSiteSurvey},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeConfig},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.SystemEmailSendConfig})"> <member name="M:IRaCIS.Core.Application.MassTransit.Consumer.UserSiteSurveySubmitedEventConsumer.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.User},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSite},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSiteSurvey},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeConfig},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.SystemEmailSendConfig})">
<summary> <summary>
用户提交 发送邮件 通知SPM 或者PM 用户提交 发送邮件 通知SPM 或者PM
</summary> </summary>
@ -12787,7 +12787,7 @@
调研表初审通过,进行复审发送邮件 调研表初审通过,进行复审发送邮件
</summary> </summary>
</member> </member>
<member name="M:IRaCIS.Core.Application.MassTransit.Consumer.SiteSurveySPMSubmitedEventConsumer.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSite},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSiteSurvey},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeConfig},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.SystemEmailSendConfig})"> <member name="M:IRaCIS.Core.Application.MassTransit.Consumer.SiteSurveySPMSubmitedEventConsumer.#ctor(IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.User},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.Trial},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSite},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.TrialSiteSurvey},IRaCIS.Core.Infra.EFCore.IRepository{IRaCIS.Core.Domain.Models.EmailNoticeConfig},Microsoft.Extensions.Options.IOptionsMonitor{IRaCIS.Core.Domain.Share.SystemEmailSendConfig})">
<summary> <summary>
调研表初审通过,进行复审发送邮件 调研表初审通过,进行复审发送邮件
</summary> </summary>

View File

@ -27,6 +27,7 @@ namespace IRaCIS.Core.Application.MassTransit.Consumer;
/// 用户提交 发送邮件 通知SPM 或者PM /// 用户提交 发送邮件 通知SPM 或者PM
/// </summary> /// </summary>
public class UserSiteSurveySubmitedEventConsumer( public class UserSiteSurveySubmitedEventConsumer(
IRepository<User> _userRepository,
IRepository<Trial> _trialRepository, IRepository<Trial> _trialRepository,
IRepository<TrialSite> _trialSiteRepository, IRepository<TrialSite> _trialSiteRepository,
IRepository<TrialSiteSurvey> _trialSiteSurveyRepository, IRepository<TrialSiteSurvey> _trialSiteSurveyRepository,
@ -45,19 +46,19 @@ public class UserSiteSurveySubmitedEventConsumer(
var trialId = siteSurveyInfo.TrialId; var trialId = siteSurveyInfo.TrialId;
var trialUserList = await _trialSiteSurveyRepository.Where(t => t.TrialId == siteSurveyInfo.TrialId).SelectMany(t => t.Trial.TrialUserList) var trialUserList = await _trialSiteSurveyRepository.Where(t => t.TrialId == siteSurveyInfo.TrialId ).SelectMany(t=>t.Trial.TrialUserList)
.Where(t => t.User.UserTypeEnum == UserTypeEnum.SPM || t.User.UserTypeEnum == UserTypeEnum.CPM || t.User.UserTypeEnum == UserTypeEnum.ProjectManager || t.User.UserTypeEnum == UserTypeEnum.APM) .Where(t=> t.User.UserTypeEnum == UserTypeEnum.SPM || t.User.UserTypeEnum == UserTypeEnum.CPM || t.User.UserTypeEnum == UserTypeEnum.ProjectManager)
.Select(t => new { t.User.FullName, t.User.EMail, t.User.UserTypeEnum }).ToListAsync(); .Select(t=>new {t.User.FullName,t.User.EMail,t.User.UserTypeEnum}).ToListAsync();
var sPMOrCPMList = trialUserList.Where(t => t.UserTypeEnum == UserTypeEnum.SPM || t.UserTypeEnum == UserTypeEnum.CPM).ToList(); var sPMOrCPMList = trialUserList.Where(t => t.UserTypeEnum == UserTypeEnum.SPM || t.UserTypeEnum == UserTypeEnum.CPM).ToList();
var pmAndAPMList = trialUserList.Where(t => t.UserTypeEnum == UserTypeEnum.ProjectManager || t.UserTypeEnum == UserTypeEnum.APM).ToList(); var pmList = trialUserList.Where(t => t.UserTypeEnum == UserTypeEnum.ProjectManager || t.UserTypeEnum == UserTypeEnum.APM).ToList();
var messageToSend = new MimeMessage(); var messageToSend = new MimeMessage();
var toUserName = string.Empty; var toUserName = string.Empty;
//有SPM //有SPM
if (sPMOrCPMList.Count > 0) if (sPMOrCPMList.Count>0)
{ {
foreach (var user in sPMOrCPMList) foreach (var user in sPMOrCPMList)
{ {
@ -69,12 +70,12 @@ public class UserSiteSurveySubmitedEventConsumer(
} }
else else
{ {
foreach (var user in pmAndAPMList) foreach (var user in pmList)
{ {
messageToSend.To.Add(new MailboxAddress(user.FullName, user.EMail)); messageToSend.To.Add(new MailboxAddress(user.FullName, user.EMail));
} }
toUserName = string.Join('、', pmAndAPMList.Select(t => t.FullName)); toUserName = string.Join('、', pmList.Select(t => t.FullName));
} }
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId); var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId);
@ -100,9 +101,6 @@ public class UserSiteSurveySubmitedEventConsumer(
return (topicStr, htmlBodyStr); return (topicStr, htmlBodyStr);
}; };
var scenario = _trialSiteSurveyRepository.Any(t => t.Id != trialSiteSurveyId && t.TrialId == siteSurveyInfo.TrialId && t.TrialSiteId == siteSurveyInfo.TrialSiteId) ?
EmailBusinessScenario.Approval_UpdateSiteSurvey : EmailBusinessScenario.Approval_SubmitSiteSurvey;
await CommonEmailHelper.GetEmailSubejctAndHtmlInfoAndBuildAsync(_emailNoticeConfigrepository, EmailBusinessScenario.Approval_SubmitSiteSurvey, messageToSend, emailConfigFunc); await CommonEmailHelper.GetEmailSubejctAndHtmlInfoAndBuildAsync(_emailNoticeConfigrepository, EmailBusinessScenario.Approval_SubmitSiteSurvey, messageToSend, emailConfigFunc);
await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig); await SendEmailHelper.SendEmailAsync(messageToSend, _systemEmailConfig);
@ -114,6 +112,7 @@ public class UserSiteSurveySubmitedEventConsumer(
/// 调研表初审通过,进行复审发送邮件 /// 调研表初审通过,进行复审发送邮件
/// </summary> /// </summary>
public class SiteSurveySPMSubmitedEventConsumer( public class SiteSurveySPMSubmitedEventConsumer(
IRepository<User> _userRepository,
IRepository<Trial> _trialRepository, IRepository<Trial> _trialRepository,
IRepository<TrialSite> _trialSiteRepository, IRepository<TrialSite> _trialSiteRepository,
IRepository<TrialSiteSurvey> _trialSiteSurveyRepository, IRepository<TrialSiteSurvey> _trialSiteSurveyRepository,
@ -134,24 +133,19 @@ public class SiteSurveySPMSubmitedEventConsumer(
var messageToSend = new MimeMessage(); var messageToSend = new MimeMessage();
var trialUserList = _trialRepository.Where(t => t.Id == trialId) var pmAndAPMList = _trialRepository.Where(t => t.Id == trialId).SelectMany(t => t.TrialUserList.Where(t => t.User.UserTypeEnum == UserTypeEnum.APM || t.User.UserTypeEnum == UserTypeEnum.ProjectManager))
.SelectMany(t => t.TrialUserList) .Select(t => new { t.User.EMail/*,t.User.FullName,t.User.UserName*/ }).ToList();
.Where(t => t.User.UserTypeEnum == UserTypeEnum.SPM || t.User.UserTypeEnum == UserTypeEnum.CPM || t.User.UserTypeEnum == UserTypeEnum.ProjectManager || t.User.UserTypeEnum == UserTypeEnum.APM)
.Select(t => new { t.User.EMail, t.User.FullName, t.User.UserTypeEnum }).ToList();
var sPMOrCPMList = trialUserList.Where(t => t.UserTypeEnum == UserTypeEnum.SPM || t.UserTypeEnum == UserTypeEnum.CPM).ToList();
var pmAndAPMList = trialUserList.Where(t => t.UserTypeEnum == UserTypeEnum.ProjectManager || t.UserTypeEnum == UserTypeEnum.APM).ToList();
var toUserName = string.Empty;
foreach (var item in pmAndAPMList) foreach (var item in pmAndAPMList)
{ {
messageToSend.To.Add(new MailboxAddress(item.FullName, item.EMail)); messageToSend.To.Add(new MailboxAddress(String.Empty, item.EMail));
toUserName = string.Join('、', pmAndAPMList.Select(t => t.FullName));
} }
var user = await _userRepository.FirstOrDefaultAsync(t => t.Id == siteSurveyInfo.PreliminaryUserId);
var userName = user.FullName;
var email = user.EMail;
var phone = user.Phone;
var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId); var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == trialId);
@ -165,14 +159,13 @@ public class SiteSurveySPMSubmitedEventConsumer(
{ {
var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo); var topicStr = string.Format(input.topicStr, companyName, trialInfo.ResearchProgramNo);
var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr), var htmlBodyStr = string.Format(CommonEmailHelper.ReplaceCompanyName(_systemEmailConfig, input.htmlBodyStr),
toUserName,
siteInfo.TrialSiteCode, siteInfo.TrialSiteCode,
siteInfo.TrialSiteAliasName, siteInfo.TrialSiteAliasName,
userName,
siteSurveyInfo.UserName, email,
siteSurveyInfo.Email, phone,
siteSurveyInfo.Phone, _systemEmailConfig.SiteUrl
_systemEmailConfig.SiteUrl
); );
return (topicStr, htmlBodyStr); return (topicStr, htmlBodyStr);
@ -223,12 +216,12 @@ public class SiteSurverRejectedEventConsumer(
name = user.FullName; name = user.FullName;
messageToSend.To.Add(new MailboxAddress(name, user.EMail)); messageToSend.To.Add(new MailboxAddress(String.Empty, user.EMail));
} }
//SPM 驳回到CRC //SPM 驳回到CRC
else if (siteSurveyInfo.State == TrialSiteSurveyEnum.ToSubmit) else if (siteSurveyInfo.State == TrialSiteSurveyEnum.ToSubmit)
{ {
messageToSend.To.Add(new MailboxAddress(name, siteSurveyInfo.Email)); messageToSend.To.Add(new MailboxAddress(String.Empty, siteSurveyInfo.Email));
} }
} }

View File

@ -35,17 +35,10 @@ public class TrialSiteUserSurvey : BaseFullAuditEntity
public TrialSiteUserStateEnum InviteState { get; set; } = TrialSiteUserStateEnum.WaitSent; public TrialSiteUserStateEnum InviteState { get; set; } = TrialSiteUserStateEnum.WaitSent;
public bool IsJoin { get; set; } public bool IsJoin { get; set; }
/// <summary>
/// 中心人员
/// </summary>
public bool IsHistoryUser { get; set; } public bool IsHistoryUser { get; set; }
public bool? IsHistoryUserDeleted { get; set; } public bool? IsHistoryUserDeleted { get; set; }
/// <summary>
/// 中心人员删除了
/// </summary>
public bool? IsHistoryUserOriginDeleted { get; set; } public bool? IsHistoryUserOriginDeleted { get; set; }
} }