修改中心调研路径,SPM驳回逻辑, 邮件逻辑对应修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
5fc700123f
commit
c44c333997
|
|
@ -269,9 +269,45 @@ public class SiteSurverRejectedEventConsumer(
|
||||||
|
|
||||||
if (context.Message.IsHaveSPMOrCPM)
|
if (context.Message.IsHaveSPMOrCPM)
|
||||||
{
|
{
|
||||||
//PM 驳回到SPM
|
////PM 驳回到SPM
|
||||||
if (siteSurveyInfo.State == TrialSiteSurveyEnum.CRCSubmitted)
|
//if (siteSurveyInfo.State == TrialSiteSurveyEnum.CRCSubmitted)
|
||||||
|
//{
|
||||||
|
|
||||||
|
// var sPMOrCPMList = _trialUserRoleRepository.Where(t => t.TrialId == trialId && t.TrialUser.IsDeleted == false)
|
||||||
|
// .Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.SPM || t.UserRole.UserTypeEnum == UserTypeEnum.CPM)
|
||||||
|
// .Select(t => new { t.UserRole.IdentityUser.EMail, t.UserRole.FullName, t.UserRole.UserTypeEnum, t.UserRole.IdentityUser.UserWorkLanguage }).ToList();
|
||||||
|
|
||||||
|
// var lan_SPMOrCPMList = sPMOrCPMList.Where(t => t.UserWorkLanguage == workLanguage);
|
||||||
|
|
||||||
|
// foreach (var user in lan_SPMOrCPMList)
|
||||||
|
// {
|
||||||
|
// messageToSend.To.Add(new MailboxAddress(user.FullName, user.EMail));
|
||||||
|
// }
|
||||||
|
|
||||||
|
// toUserName = string.Join('、', lan_SPMOrCPMList.Select(t => t.FullName));
|
||||||
|
|
||||||
|
//}
|
||||||
|
////SPM 驳回到CRC
|
||||||
|
//else if (siteSurveyInfo.State == TrialSiteSurveyEnum.ToSubmit)
|
||||||
|
//{
|
||||||
|
// //使用中心国家语言 一致才发送
|
||||||
|
// if ((siteInfo.Country == StaticData.SiteCountry.US && isEn_US) || (siteInfo.Country == StaticData.SiteCountry.CN && isEn_US == false))
|
||||||
|
// {
|
||||||
|
// messageToSend.To.Add(new MailboxAddress(toUserName, siteSurveyInfo.Email));
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
|
// PM 驳回到CRC
|
||||||
|
if (siteSurveyInfo.State == TrialSiteSurveyEnum.ToSubmit)
|
||||||
{
|
{
|
||||||
|
//使用中心国家语言 一致才发送
|
||||||
|
if ((siteInfo.Country == StaticData.SiteCountry.US && isEn_US) || (siteInfo.Country == StaticData.SiteCountry.CN && isEn_US == false))
|
||||||
|
{
|
||||||
|
messageToSend.To.Add(new MailboxAddress(toUserName, siteSurveyInfo.Email));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
var sPMOrCPMList = _trialUserRoleRepository.Where(t => t.TrialId == trialId && t.TrialUser.IsDeleted == false)
|
var sPMOrCPMList = _trialUserRoleRepository.Where(t => t.TrialId == trialId && t.TrialUser.IsDeleted == false)
|
||||||
.Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.SPM || t.UserRole.UserTypeEnum == UserTypeEnum.CPM)
|
.Where(t => t.UserRole.UserTypeEnum == UserTypeEnum.SPM || t.UserRole.UserTypeEnum == UserTypeEnum.CPM)
|
||||||
|
|
@ -281,24 +317,10 @@ public class SiteSurverRejectedEventConsumer(
|
||||||
|
|
||||||
foreach (var user in lan_SPMOrCPMList)
|
foreach (var user in lan_SPMOrCPMList)
|
||||||
{
|
{
|
||||||
messageToSend.To.Add(new MailboxAddress(user.FullName, user.EMail));
|
messageToSend.Cc.Add(new MailboxAddress(user.FullName, user.EMail));
|
||||||
}
|
|
||||||
|
|
||||||
toUserName = string.Join('、', lan_SPMOrCPMList.Select(t => t.FullName));
|
|
||||||
|
|
||||||
}
|
|
||||||
//SPM 驳回到CRC
|
|
||||||
else if (siteSurveyInfo.State == TrialSiteSurveyEnum.ToSubmit)
|
|
||||||
{
|
|
||||||
//使用中心国家语言 一致才发送
|
|
||||||
if ((siteInfo.Country == StaticData.SiteCountry.US && isEn_US) || (siteInfo.Country == StaticData.SiteCountry.CN && isEn_US == false))
|
|
||||||
{
|
|
||||||
messageToSend.To.Add(new MailboxAddress(toUserName, siteSurveyInfo.Email));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -312,6 +334,11 @@ public class SiteSurverRejectedEventConsumer(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Uri uri = new Uri(_systemEmailConfig.SiteUrl);
|
||||||
|
|
||||||
|
// 获取 Scheme + Host(不包含路径)
|
||||||
|
string baseUrl = uri.GetLeftPart(UriPartial.Authority);
|
||||||
|
|
||||||
//发件地址
|
//发件地址
|
||||||
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
messageToSend.From.Add(new MailboxAddress(_systemEmailConfig.FromName, _systemEmailConfig.FromEmail));
|
||||||
|
|
||||||
|
|
@ -330,7 +357,7 @@ public class SiteSurverRejectedEventConsumer(
|
||||||
siteInfo.TrialSiteCode, //中心编号
|
siteInfo.TrialSiteCode, //中心编号
|
||||||
siteInfo.TrialSiteAliasName,//中心名称
|
siteInfo.TrialSiteAliasName,//中心名称
|
||||||
siteSurveyInfo.LatestBackReason, //驳回原因
|
siteSurveyInfo.LatestBackReason, //驳回原因
|
||||||
_systemEmailConfig.SiteUrl, //链接
|
$"{baseUrl}/researchLogin?trialId={trialId}", //链接
|
||||||
(siteSurveyInfo.State == TrialSiteSurveyEnum.ToSubmit ? "inline - block" : "none")
|
(siteSurveyInfo.State == TrialSiteSurveyEnum.ToSubmit ? "inline - block" : "none")
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -496,40 +496,47 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
}
|
}
|
||||||
else if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM)
|
else if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM)
|
||||||
{
|
{
|
||||||
var isTrialSPMJoin = await _trialRepository.AnyAsync(t => t.Id == trialSiteSubmitBackCommand.TrialId && t.IsSPMJoinSiteSurvey);
|
// var isTrialSPMJoin = await _trialRepository.AnyAsync(t => t.Id == trialSiteSubmitBackCommand.TrialId && t.IsSPMJoinSiteSurvey);
|
||||||
|
|
||||||
var hasSPMOrCPM = await _trialRepository.Where(t => t.Id == trialSiteSubmitBackCommand.TrialId).AnyAsync(t => t.TrialIdentityUserList.SelectMany(t => t.TrialUserRoleList).Any(t =>
|
// var hasSPMOrCPM = await _trialRepository.Where(t => t.Id == trialSiteSubmitBackCommand.TrialId).AnyAsync(t => t.TrialIdentityUserList.SelectMany(t => t.TrialUserRoleList).Any(t =>
|
||||||
t.UserRole.IdentityUser.Status == UserStateEnum.Enable
|
//t.UserRole.IdentityUser.Status == UserStateEnum.Enable
|
||||||
&& t.UserRole.IsUserRoleDisabled == false
|
//&& t.UserRole.IsUserRoleDisabled == false
|
||||||
&& (t.UserRole.UserTypeEnum == UserTypeEnum.SPM || t.UserRole.UserTypeEnum == UserTypeEnum.CPM))
|
//&& (t.UserRole.UserTypeEnum == UserTypeEnum.SPM || t.UserRole.UserTypeEnum == UserTypeEnum.CPM))
|
||||||
);
|
//);
|
||||||
|
|
||||||
var isSPMjoin = isTrialSPMJoin && hasSPMOrCPM;
|
// var isSPMjoin = isTrialSPMJoin && hasSPMOrCPM;
|
||||||
|
|
||||||
if (isSPMjoin)
|
// if (isSPMjoin)
|
||||||
{
|
// {
|
||||||
survey.State = TrialSiteSurveyEnum.CRCSubmitted;
|
// survey.State = TrialSiteSurveyEnum.CRCSubmitted;
|
||||||
|
|
||||||
survey.ReviewerUserId = null;
|
// survey.ReviewerUserId = null;
|
||||||
survey.ReviewerTime = null;
|
// survey.ReviewerTime = null;
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
survey.State = TrialSiteSurveyEnum.ToSubmit;
|
// survey.State = TrialSiteSurveyEnum.ToSubmit;
|
||||||
|
|
||||||
survey.PreliminaryUserId = null;
|
// survey.PreliminaryUserId = null;
|
||||||
survey.ReviewerUserId = null;
|
// survey.ReviewerUserId = null;
|
||||||
survey.PreliminaryTime = null;
|
// survey.PreliminaryTime = null;
|
||||||
survey.ReviewerTime = null;
|
// survey.ReviewerTime = null;
|
||||||
|
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
survey.State = TrialSiteSurveyEnum.ToSubmit;
|
||||||
|
|
||||||
|
survey.PreliminaryUserId = null;
|
||||||
|
survey.ReviewerUserId = null;
|
||||||
|
survey.PreliminaryTime = null;
|
||||||
|
survey.ReviewerTime = null;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var info = await GetSiteSurveyInfo(trialSiteSurveyId, trialId);
|
var info = await GetSiteSurveyInfo(trialSiteSurveyId, trialId);
|
||||||
await _siteSurveyLogRepository.AddAsync(new SiteSurveyLog() { TrialSiteSurveyId = trialSiteSurveyId, Name = _userInfo.FullName, UserType = (UserTypeEnum)_userInfo.UserTypeEnumInt, OptType = SiteSurveyOptTyp.Reject, Reason = survey.LatestBackReason, Json = info.ToJsonStr() });
|
await _siteSurveyLogRepository.AddAsync(new SiteSurveyLog() { TrialSiteSurveyId = trialSiteSurveyId, Name =$"{_userInfo.FullName} ({_userInfo.UserName})" , UserType = (UserTypeEnum)_userInfo.UserTypeEnumInt, OptType = SiteSurveyOptTyp.Reject, Reason = survey.LatestBackReason, Json = info.ToJsonStr() });
|
||||||
|
|
||||||
await _trialSiteSurveyRepository.SaveChangesAsync();
|
await _trialSiteSurveyRepository.SaveChangesAsync();
|
||||||
|
|
||||||
|
|
@ -924,7 +931,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
|
|
||||||
var info = await GetSiteSurveyInfo(trialSiteSurveyId, trialId);
|
var info = await GetSiteSurveyInfo(trialSiteSurveyId, trialId);
|
||||||
|
|
||||||
await _siteSurveyLogRepository.AddAsync(new SiteSurveyLog() { TrialSiteSurveyId = trialSiteSurveyId, Name = _userInfo.FullName, UserType = (UserTypeEnum)_userInfo.UserTypeEnumInt, OptType = SiteSurveyOptTyp.Approved, Json = info.ToJsonStr() });
|
await _siteSurveyLogRepository.AddAsync(new SiteSurveyLog() { TrialSiteSurveyId = trialSiteSurveyId, Name = $"{_userInfo.FullName} ({_userInfo.UserName})", UserType = (UserTypeEnum)_userInfo.UserTypeEnumInt, OptType = SiteSurveyOptTyp.Approved, Json = info.ToJsonStr() });
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM)
|
else if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ProjectManager || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.APM)
|
||||||
|
|
@ -942,7 +949,7 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
//审批调研表日志
|
//审批调研表日志
|
||||||
|
|
||||||
var info = await GetSiteSurveyInfo(trialSiteSurveyId, trialId);
|
var info = await GetSiteSurveyInfo(trialSiteSurveyId, trialId);
|
||||||
await _siteSurveyLogRepository.AddAsync(new SiteSurveyLog() { TrialSiteSurveyId = trialSiteSurveyId, Name = _userInfo.FullName, UserType = (UserTypeEnum)_userInfo.UserTypeEnumInt, OptType = SiteSurveyOptTyp.Approved, Json = info.ToJsonStr() });
|
await _siteSurveyLogRepository.AddAsync(new SiteSurveyLog() { TrialSiteSurveyId = trialSiteSurveyId, Name = $"{_userInfo.FullName} ({_userInfo.UserName})", UserType = (UserTypeEnum)_userInfo.UserTypeEnumInt, OptType = SiteSurveyOptTyp.Approved, Json = info.ToJsonStr() });
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue