项目邮件配置修改--008
parent
e46b51d6a1
commit
e24933f0dd
|
@ -602,6 +602,13 @@
|
|||
<param name="trialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialEmailNoticeConfigService.GetTrialUserIdSelectList(System.Guid)">
|
||||
<summary>
|
||||
黑名单用户Id 列表
|
||||
</summary>
|
||||
<param name="trialId"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.ImageAndDoc.StudyService.Preview(System.Guid)">
|
||||
<summary> 指定资源Id,渲染Dicom检查的Jpeg预览图像 </summary>
|
||||
<param name="studyId"> Dicom检查的Id </param>
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
CreateMap<EmailNoticeConfigAddOrEdit, EmailNoticeConfig>().ReverseMap();
|
||||
|
||||
|
||||
CreateMap<EmailUserType, EmailUserTypeDto>();
|
||||
CreateMap<EmailNoticeUserType, EmailUserTypeDto>();
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -198,6 +198,8 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public string EmailHtmlContentCN { get; set; } = string.Empty;
|
||||
|
||||
|
||||
public List<Guid> BlackUserIdList { get; set; }
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -33,7 +33,9 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
private readonly IRepository<TrialEmailNoticeConfig> _trialEmailNoticeConfigRepository;
|
||||
|
||||
|
||||
private readonly IRepository<Trial> _trialRepository;
|
||||
private readonly IRepository<TrialEmailBlackUser> _trialEmailBlackUserRepository;
|
||||
|
||||
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
|
||||
|
||||
|
@ -46,7 +48,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
public TrialEmailNoticeConfigService(IRepository<TrialEmailNoticeConfig> trialEmailNoticeConfigRepository, IRepository<VisitTask> visitTaskRepository,
|
||||
IRepository<Trial> trialRepository,
|
||||
IRepository<TrialUser> trialUserRepository, IRepository<TaskMedicalReview> taskMedicalReviewRepository, IRepository<Subject> subjectRepository, IRepository<SubjectVisit> subjectVisitRepository)
|
||||
IRepository<TrialUser> trialUserRepository, IRepository<TaskMedicalReview> taskMedicalReviewRepository, IRepository<Subject> subjectRepository, IRepository<SubjectVisit> subjectVisitRepository, IRepository<TrialEmailBlackUser> trialEmailBlackUserRepository)
|
||||
{
|
||||
_trialEmailNoticeConfigRepository = trialEmailNoticeConfigRepository;
|
||||
_visitTaskRepository = visitTaskRepository;
|
||||
|
@ -56,6 +58,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
_subjectRepository = subjectRepository;
|
||||
|
||||
_subjectVisitRepository = subjectVisitRepository;
|
||||
_trialEmailBlackUserRepository = trialEmailBlackUserRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -189,7 +192,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
{
|
||||
businessScenarioEnum = CommonDocumentBusinessScenario.PDConfirmed;
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#region 任务 基本信息,邮件需要
|
||||
|
@ -212,7 +215,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
#region 发收件人配置 确保无误
|
||||
|
||||
|
||||
var emailConfig = await _trialEmailNoticeConfigRepository.Where(t => t.TrialId == trialId && t.TrialReadingCriterionId==null && t.BusinessScenarioEnum == businessScenarioEnum)
|
||||
var emailConfig = await _trialEmailNoticeConfigRepository.Where(t => t.TrialId == trialId && t.TrialReadingCriterionId == null && t.BusinessScenarioEnum == businessScenarioEnum)
|
||||
.Include(t => t.TrialEmailNoticeUserList).FirstOrDefaultAsync();
|
||||
|
||||
|
||||
|
@ -326,7 +329,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -950,7 +953,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
//先预先生成了邮件,发送预先生成的邮件
|
||||
sendEmailConfig.EmailAttachMentConfigList.Add(new EmailAttachMentConfig()
|
||||
{
|
||||
FileName = $"{taskInfo.SubjectCode}_{Path.GetFileNameWithoutExtension( _userInfo.IsEn_Us? emailConfig.AttachName: emailConfig.AttachNameCN)}.pdf",
|
||||
FileName = $"{taskInfo.SubjectCode}_{Path.GetFileNameWithoutExtension(_userInfo.IsEn_Us ? emailConfig.AttachName : emailConfig.AttachNameCN)}.pdf",
|
||||
|
||||
FileStream = File.OpenRead(phyPath),
|
||||
});
|
||||
|
@ -1503,6 +1506,20 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 黑名单用户Id 列表
|
||||
/// </summary>
|
||||
/// <param name="trialId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<Guid>> GetTrialUserIdSelectList(Guid trialId)
|
||||
{
|
||||
var query = _trialUserRepository.Where(t => t.TrialId == trialId, false, true).IgnoreQueryFilters().Select(t => t.UserId).Distinct();
|
||||
|
||||
return await query.ToListAsync();
|
||||
}
|
||||
|
||||
|
||||
|
||||
[HttpPost]
|
||||
public async Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
|
||||
{
|
||||
|
@ -1541,6 +1558,10 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
}
|
||||
|
||||
foreach (var userid in addOrEditTrialEmailNoticeConfig.BlackUserIdList)
|
||||
{
|
||||
entity.TrialEmailBlackUserList.Add(new TrialEmailBlackUser() { UserId = userid });
|
||||
}
|
||||
|
||||
await _trialEmailNoticeConfigRepository.AddAsync(entity, true);
|
||||
|
||||
|
@ -1549,10 +1570,10 @@ namespace IRaCIS.Core.Application.Service
|
|||
}
|
||||
else
|
||||
{
|
||||
var id = (Guid)addOrEditTrialEmailNoticeConfig.Id;
|
||||
|
||||
await _repository.BatchDeleteAsync<TrialEmailNoticeUser>(t => t.TrialEmailNoticeConfigId == addOrEditTrialEmailNoticeConfig.Id);
|
||||
|
||||
|
||||
var entity = (await _trialEmailNoticeConfigRepository.Where(t => t.Id == addOrEditTrialEmailNoticeConfig.Id, true, true).Include(t => t.TrialEmailNoticeUserList).FirstOrDefaultAsync()).IfNullThrowException();
|
||||
await _repository.BatchDeleteAsync<TrialEmailBlackUser>(t => t.TrialEmailNoticeConfigId == addOrEditTrialEmailNoticeConfig.Id);
|
||||
|
||||
|
||||
List<TrialEmailNoticeUser> trialEmailNoticeUsers = new List<TrialEmailNoticeUser>();
|
||||
|
@ -1560,17 +1581,23 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
foreach (var item in addOrEditTrialEmailNoticeConfig.ToUserTypeList)
|
||||
{
|
||||
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.To, UserType = item, TrialEmailNoticeConfigId = entity.Id });
|
||||
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.To, UserType = item, TrialEmailNoticeConfigId = id });
|
||||
|
||||
}
|
||||
|
||||
foreach (var item in addOrEditTrialEmailNoticeConfig.CopyUserTypeList)
|
||||
{
|
||||
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.Copy, UserType = item, TrialEmailNoticeConfigId = entity.Id });
|
||||
trialEmailNoticeUsers.Add(new TrialEmailNoticeUser() { EmailUserType = EmailUserType.Copy, UserType = item, TrialEmailNoticeConfigId = id });
|
||||
|
||||
}
|
||||
await _repository.AddRangeAsync(trialEmailNoticeUsers);
|
||||
|
||||
foreach (var userid in addOrEditTrialEmailNoticeConfig.BlackUserIdList)
|
||||
{
|
||||
await _trialEmailBlackUserRepository.AddAsync(new TrialEmailBlackUser() { UserId = userid, TrialEmailNoticeConfigId = id });
|
||||
|
||||
}
|
||||
|
||||
await _trialEmailNoticeConfigRepository.UpdateFromDTOAsync(addOrEditTrialEmailNoticeConfig);
|
||||
|
||||
|
||||
|
|
|
@ -72,7 +72,8 @@ namespace IRaCIS.Core.Application.Service
|
|||
CreateMap<TrialEmailNoticeConfig, TrialEmailNoticeConfigView>()
|
||||
|
||||
.ForMember(d => d.TrialCriterionName, c => c.MapFrom(t => t.TrialReadingCriterion.CriterionName))
|
||||
.ForMember(d => d.TrialEmailNoticeUserList, c => c.MapFrom(t => t.TrialEmailNoticeUserList));
|
||||
.ForMember(d => d.TrialEmailNoticeUserList, c => c.MapFrom(t => t.TrialEmailNoticeUserList))
|
||||
.ForMember(d => d.BlackUserIdList, c => c.MapFrom(t => t.TrialEmailBlackUserList.Select(c=>c.UserId)));
|
||||
|
||||
CreateMap<TrialEmailNoticeConfigAddOrEdit, TrialEmailNoticeConfig>();
|
||||
|
||||
|
|
|
@ -36,11 +36,11 @@ namespace IRaCIS.Core.Domain.Models
|
|||
|
||||
public string FromEmail { get; set; } = string.Empty;
|
||||
|
||||
|
||||
[JsonIgnore]
|
||||
public List<TrialEmailNoticeUser> TrialEmailNoticeUserList { get; set; } = new List<TrialEmailNoticeUser>();
|
||||
|
||||
|
||||
|
||||
public List<TrialEmailBlackUser> TrialEmailBlackUserList { get; set; } = new List<TrialEmailBlackUser>();
|
||||
|
||||
|
||||
/// <summary> 业务模块 /// </summary>
|
||||
public int BusinessModuleEnum { get; set; }
|
||||
|
@ -80,7 +80,7 @@ namespace IRaCIS.Core.Domain.Models
|
|||
|
||||
|
||||
|
||||
|
||||
public Guid? SysEmailNoticeConfigId { get; set; }
|
||||
|
||||
|
||||
[Required]
|
||||
|
@ -118,4 +118,19 @@ namespace IRaCIS.Core.Domain.Models
|
|||
|
||||
}
|
||||
|
||||
public class TrialEmailBlackUser:Entity
|
||||
{
|
||||
[JsonIgnore]
|
||||
public TrialEmailNoticeConfig TrialEmailNoticeConfig { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public User User { get; set; }
|
||||
|
||||
|
||||
public Guid TrialEmailNoticeConfigId { get; set; }
|
||||
|
||||
|
||||
public Guid UserId { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -755,8 +755,9 @@ namespace IRaCIS.Core.Infra.EFCore
|
|||
public virtual DbSet<PIAudit> PIAudit { get; set; }
|
||||
|
||||
public virtual DbSet<EmailNoticeUserType> EmailNoticeUserType { get; set; }
|
||||
|
||||
public virtual DbSet<TrialEmailBlackUser> TrialEmailBlackUser { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class MySequentialGuidValueGenerator : ValueGenerator<Guid>
|
||||
|
|
Loading…
Reference in New Issue