修改一版
parent
cb78bd6a66
commit
6b0eed3fb7
|
@ -440,6 +440,13 @@
|
||||||
TrialEmailNoticeConfigService
|
TrialEmailNoticeConfigService
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:IRaCIS.Core.Application.Service.TrialEmailNoticeConfigService.GetTrialEmailSet(IRaCIS.Core.Application.ViewModel.GetTrialEmailSetInDto)">
|
||||||
|
<summary>
|
||||||
|
设置项目邮箱
|
||||||
|
</summary>
|
||||||
|
<param name="inDto"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:IRaCIS.Core.Application.Service.TrialEmailNoticeConfigService.SyncSystemEmainCofigDocListAsync(System.Guid,System.Nullable{IRaCIS.Core.Domain.Share.CriterionType})">
|
<member name="M:IRaCIS.Core.Application.Service.TrialEmailNoticeConfigService.SyncSystemEmainCofigDocListAsync(System.Guid,System.Nullable{IRaCIS.Core.Domain.Share.CriterionType})">
|
||||||
<summary>
|
<summary>
|
||||||
同步系统配置的文档到想项目中
|
同步系统配置的文档到想项目中
|
||||||
|
@ -5982,6 +5989,31 @@
|
||||||
<member name="T:IRaCIS.Core.Application.ViewModel.TrialEmailNoticeConfigView">
|
<member name="T:IRaCIS.Core.Application.ViewModel.TrialEmailNoticeConfigView">
|
||||||
<summary> TrialEmailNoticeConfigView 列表视图模型 </summary>
|
<summary> TrialEmailNoticeConfigView 列表视图模型 </summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.ViewModel.GetTrialEmailSetOutDto.EmailFromEmail">
|
||||||
|
<summary>
|
||||||
|
发件箱账号
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.ViewModel.GetTrialEmailSetOutDto.EmailFromName">
|
||||||
|
<summary>
|
||||||
|
发件人
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.ViewModel.GetTrialEmailSetOutDto.EmailAuthorizationCode">
|
||||||
|
<summary>
|
||||||
|
密码/授权码
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.ViewModel.GetTrialEmailSetOutDto.EmailSMTPServerAddress">
|
||||||
|
<summary>
|
||||||
|
SMTP服务器
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:IRaCIS.Core.Application.ViewModel.GetTrialEmailSetOutDto.EmailSMTPServerPort">
|
||||||
|
<summary>
|
||||||
|
SMTP端口
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="T:IRaCIS.Core.Application.ViewModel.TrialEmailNoticeConfigQuery">
|
<member name="T:IRaCIS.Core.Application.ViewModel.TrialEmailNoticeConfigQuery">
|
||||||
<summary>TrialEmailNoticeConfigQuery 列表查询参数模型</summary>
|
<summary>TrialEmailNoticeConfigQuery 列表查询参数模型</summary>
|
||||||
</member>
|
</member>
|
||||||
|
|
|
@ -48,7 +48,44 @@ namespace IRaCIS.Core.Application.ViewModel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class GetTrialEmailSetOutDto
|
||||||
|
{
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发件箱账号
|
||||||
|
/// </summary>
|
||||||
|
public string EmailFromEmail { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发件人
|
||||||
|
/// </summary>
|
||||||
|
public string EmailFromName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 密码/授权码
|
||||||
|
/// </summary>
|
||||||
|
public string EmailAuthorizationCode { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SMTP服务器
|
||||||
|
/// </summary>
|
||||||
|
public string EmailSMTPServerAddress { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SMTP端口
|
||||||
|
/// </summary>
|
||||||
|
public int? EmailSMTPServerPort { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class SetTrialEmailInDto : GetTrialEmailSetOutDto
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public class GetTrialEmailSetInDto
|
||||||
|
{
|
||||||
|
public Guid TrialId { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
///<summary>TrialEmailNoticeConfigQuery 列表查询参数模型</summary>
|
///<summary>TrialEmailNoticeConfigQuery 列表查询参数模型</summary>
|
||||||
public class TrialEmailNoticeConfigQuery
|
public class TrialEmailNoticeConfigQuery
|
||||||
|
|
|
@ -26,17 +26,79 @@ namespace IRaCIS.Core.Application.Service
|
||||||
{
|
{
|
||||||
|
|
||||||
private readonly IRepository<TrialEmailNoticeConfig> _trialEmailNoticeConfigRepository;
|
private readonly IRepository<TrialEmailNoticeConfig> _trialEmailNoticeConfigRepository;
|
||||||
|
private readonly IRepository<Trial> _trialRepository;
|
||||||
|
|
||||||
public IRepository<VisitTask> _visitTaskRepository { get; }
|
public IRepository<VisitTask> _visitTaskRepository { get; }
|
||||||
public IRepository<TrialUser> _trialUserRepository { get; }
|
public IRepository<TrialUser> _trialUserRepository { get; }
|
||||||
|
|
||||||
public TrialEmailNoticeConfigService(IRepository<TrialEmailNoticeConfig> trialEmailNoticeConfigRepository, IRepository<VisitTask> visitTaskRepository, IRepository<TrialUser> trialUserRepository)
|
public TrialEmailNoticeConfigService(IRepository<TrialEmailNoticeConfig> trialEmailNoticeConfigRepository, IRepository<VisitTask> visitTaskRepository,
|
||||||
|
IRepository<Trial> trialRepository,
|
||||||
|
IRepository<TrialUser> trialUserRepository)
|
||||||
{
|
{
|
||||||
_trialEmailNoticeConfigRepository = trialEmailNoticeConfigRepository;
|
_trialEmailNoticeConfigRepository = trialEmailNoticeConfigRepository;
|
||||||
_visitTaskRepository = visitTaskRepository;
|
_visitTaskRepository = visitTaskRepository;
|
||||||
|
this._trialRepository = trialRepository;
|
||||||
_trialUserRepository = trialUserRepository;
|
_trialUserRepository = trialUserRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 设置项目邮箱
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="inDto"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost]
|
||||||
|
public async Task<GetTrialEmailSetOutDto> GetTrialEmailSet(GetTrialEmailSetInDto inDto)
|
||||||
|
{
|
||||||
|
return await _trialRepository.Where(x => x.Id == inDto.TrialId).Select(x => new GetTrialEmailSetOutDto()
|
||||||
|
{
|
||||||
|
TrialId = inDto.TrialId,
|
||||||
|
EmailAuthorizationCode = x.EmailAuthorizationCode,
|
||||||
|
EmailSMTPServerAddress = x.EmailSMTPServerAddress,
|
||||||
|
EmailFromEmail = x.EmailFromEmail,
|
||||||
|
EmailFromName = x.EmailFromEmail,
|
||||||
|
EmailSMTPServerPort = x.EmailSMTPServerPort
|
||||||
|
|
||||||
|
}).FirstNotNullAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public async Task<IResponseOutput> SetTrialEmail(SetTrialEmailInDto inDto)
|
||||||
|
{
|
||||||
|
|
||||||
|
await TestEmailConfigAsync(new TrialEmailNoticeConfigAddOrEdit() {
|
||||||
|
|
||||||
|
AuthorizationCode=inDto.EmailAuthorizationCode,
|
||||||
|
FromEmail=inDto.EmailFromEmail,
|
||||||
|
FileName=inDto.EmailFromName,
|
||||||
|
SMTPServerAddress=inDto.EmailSMTPServerAddress,
|
||||||
|
SMTPServerPort= inDto.EmailSMTPServerPort.Value,
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
await _trialRepository.UpdatePartialFromQueryAsync(inDto.TrialId, x => new Trial()
|
||||||
|
{
|
||||||
|
|
||||||
|
EmailFromEmail = inDto.EmailFromEmail,
|
||||||
|
EmailFromName = inDto.EmailFromName,
|
||||||
|
EmailAuthorizationCode = inDto.EmailAuthorizationCode,
|
||||||
|
EmailSMTPServerAddress = inDto.EmailSMTPServerAddress,
|
||||||
|
EmailSMTPServerPort = inDto.EmailSMTPServerPort
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
await _trialEmailNoticeConfigRepository.BatchUpdateNoTrackingAsync(x => x.TrialId == inDto.TrialId, x => new TrialEmailNoticeConfig()
|
||||||
|
{
|
||||||
|
AuthorizationCode = inDto.EmailAuthorizationCode,
|
||||||
|
FromEmail = inDto.EmailFromEmail,
|
||||||
|
FileName = inDto.EmailFromName,
|
||||||
|
SMTPServerAddress = inDto.EmailSMTPServerAddress,
|
||||||
|
SMTPServerPort = inDto.EmailSMTPServerPort.Value,
|
||||||
|
});
|
||||||
|
|
||||||
|
await _trialRepository.SaveChangesAsync();
|
||||||
|
return ResponseOutput.Ok();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 同步系统配置的文档到想项目中
|
/// 同步系统配置的文档到想项目中
|
||||||
|
@ -750,6 +812,7 @@ namespace IRaCIS.Core.Application.Service
|
||||||
|
|
||||||
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId)
|
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId)
|
||||||
.WhereIf(inQuery.CriterionTypeEnum != null, t => t.CriterionTypeEnum == inQuery.CriterionTypeEnum)
|
.WhereIf(inQuery.CriterionTypeEnum != null, t => t.CriterionTypeEnum == inQuery.CriterionTypeEnum)
|
||||||
|
.WhereIf(inQuery.CriterionTypeEnum == null, t => t.CriterionTypeEnum == null)
|
||||||
.WhereIf(inQuery.BusinessScenarioEnum != null, t => t.BusinessScenarioEnum == inQuery.BusinessScenarioEnum)
|
.WhereIf(inQuery.BusinessScenarioEnum != null, t => t.BusinessScenarioEnum == inQuery.BusinessScenarioEnum)
|
||||||
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
||||||
|
|
||||||
|
|
|
@ -135,7 +135,16 @@ namespace IRaCIS.Application.Services
|
||||||
x.TaskBlindName,
|
x.TaskBlindName,
|
||||||
} ).ToListAsync();
|
} ).ToListAsync();
|
||||||
|
|
||||||
|
var globalVisitTwoTaskIds = await _visitTaskRepository.Where(x => x.Id == taskList[1].Id).Select(x => x.RelatedVisitTaskIdList).FirstNotNullAsync();
|
||||||
|
|
||||||
|
// 找到所有的的任务
|
||||||
|
var globalVisitTwoTasks = await _visitTaskRepository.Where(x => globalVisitTwoTaskIds.Contains(x.Id)).Select(x => new {
|
||||||
|
x.Id,
|
||||||
|
x.ArmEnum,
|
||||||
|
x.VisitTaskNum,
|
||||||
|
x.SourceSubjectVisitId,
|
||||||
|
x.TaskBlindName,
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
var taskNum = globalVisitTasks.Select(x => x.VisitTaskNum).Distinct().OrderBy(x=>x).ToList();
|
var taskNum = globalVisitTasks.Select(x => x.VisitTaskNum).Distinct().OrderBy(x=>x).ToList();
|
||||||
|
|
||||||
|
@ -153,6 +162,19 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
|
|
||||||
|
var judgeQuestionTwoAnswer = await _readingTaskQuestionAnswerRepository.Where(x => globalVisitTwoTaskIds.Contains(x.VisitTaskId) && x.ReadingQuestionTrial.IsJudgeQuestion).OrderBy(x => x.ReadingQuestionTrial.ShowOrder)
|
||||||
|
.Select(x => new GlobalVisitJudgeQuestion()
|
||||||
|
{
|
||||||
|
Answer = x.Answer,
|
||||||
|
ShowOrder = x.ReadingQuestionTrial.ShowOrder,
|
||||||
|
VisitTaskId = x.VisitTaskId,
|
||||||
|
QuestionId = x.ReadingQuestionTrial.Id,
|
||||||
|
QuestionName = x.ReadingQuestionTrial.QuestionName.LanguageName(x.ReadingQuestionTrial.QuestionEnName, _userInfo.IsEn_Us),
|
||||||
|
QuestionGenre = x.ReadingQuestionTrial.QuestionGenre,
|
||||||
|
DictionaryCode = x.ReadingQuestionTrial.DictionaryCode,
|
||||||
|
|
||||||
|
}).ToListAsync();
|
||||||
|
|
||||||
foreach (var item in taskNum)
|
foreach (var item in taskNum)
|
||||||
{
|
{
|
||||||
var globalTaskInfos = globalVisitTasks.Where(x => x.VisitTaskNum == item).OrderBy(x => x.ArmEnum).ToList();
|
var globalTaskInfos = globalVisitTasks.Where(x => x.VisitTaskNum == item).OrderBy(x => x.ArmEnum).ToList();
|
||||||
|
@ -181,6 +203,25 @@ namespace IRaCIS.Application.Services
|
||||||
|
|
||||||
}).ToList(),
|
}).ToList(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var towtask = globalVisitTwoTasks.Where(x => x.VisitTaskNum == globalitem.VisitTaskNum).FirstOrDefault();
|
||||||
|
|
||||||
|
judgeReadingInfoDto.VisitTaskInfoList.Add(new JudgeReadingQuestion()
|
||||||
|
{
|
||||||
|
ArmEnum = towtask.ArmEnum,
|
||||||
|
VisitTaskId = towtask.Id,
|
||||||
|
JudgeQuestionList = judgeQuestionTwoAnswer.Where(x => x.VisitTaskId == towtask.Id).OrderBy(x => x.ShowOrder)
|
||||||
|
.Select(x => new JudgeQuestion()
|
||||||
|
{
|
||||||
|
Answer = x.Answer,
|
||||||
|
QuestionId = x.QuestionId,
|
||||||
|
QuestionName = x.QuestionName,
|
||||||
|
QuestionGenre = x.QuestionGenre,
|
||||||
|
DictionaryCode = x.DictionaryCode,
|
||||||
|
|
||||||
|
}).ToList(),
|
||||||
|
});
|
||||||
}
|
}
|
||||||
judgeInfo.VisitInfoList.Add(judgeReadingInfoDto);
|
judgeInfo.VisitInfoList.Add(judgeReadingInfoDto);
|
||||||
}
|
}
|
||||||
|
@ -521,7 +562,7 @@ namespace IRaCIS.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else if(!criterionInfo.IsReadingPeriod)
|
||||||
{
|
{
|
||||||
var query = from questionAnswet in _readingTaskQuestionAnswerRepository.Where(x => visitTaskids.Contains(x.VisitTaskId))
|
var query = from questionAnswet in _readingTaskQuestionAnswerRepository.Where(x => visitTaskids.Contains(x.VisitTaskId))
|
||||||
join question in _readingQuestionTrialRepository.Where(x => x.IsJudgeQuestion) on new { ReadingQuestionTrialId = questionAnswet.ReadingQuestionTrialId } equals new { ReadingQuestionTrialId = question.Id }
|
join question in _readingQuestionTrialRepository.Where(x => x.IsJudgeQuestion) on new { ReadingQuestionTrialId = questionAnswet.ReadingQuestionTrialId } equals new { ReadingQuestionTrialId = question.Id }
|
||||||
|
|
|
@ -71,7 +71,7 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public CommonDocumentBusinessScenario BusinessScenarioEnum { get; set; }
|
public CommonDocumentBusinessScenario BusinessScenarioEnum { get; set; }
|
||||||
|
|
||||||
public CriterionType CriterionTypeEnum { get; set; }
|
public CriterionType? CriterionTypeEnum { get; set; }
|
||||||
|
|
||||||
[Required]
|
[Required]
|
||||||
public string FilePath { get; set; } = string.Empty;
|
public string FilePath { get; set; } = string.Empty;
|
||||||
|
|
|
@ -325,6 +325,33 @@ namespace IRaCIS.Core.Domain.Models
|
||||||
|
|
||||||
public string BlindFollowUpPrefix { get; set; } = "Follow-up";
|
public string BlindFollowUpPrefix { get; set; } = "Follow-up";
|
||||||
|
|
||||||
|
#region 邮件配置
|
||||||
|
/// <summary>
|
||||||
|
/// 发件箱账号
|
||||||
|
/// </summary>
|
||||||
|
public string EmailFromEmail { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 发件人
|
||||||
|
/// </summary>
|
||||||
|
public string EmailFromName { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 密码/授权码
|
||||||
|
/// </summary>
|
||||||
|
public string EmailAuthorizationCode { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SMTP服务器
|
||||||
|
/// </summary>
|
||||||
|
public string EmailSMTPServerAddress { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// SMTP端口
|
||||||
|
/// </summary>
|
||||||
|
public int? EmailSMTPServerPort { get; set; }
|
||||||
|
#endregion
|
||||||
|
|
||||||
///// <summary>
|
///// <summary>
|
||||||
///// 图像是否有标注
|
///// 图像是否有标注
|
||||||
///// </summary>
|
///// </summary>
|
||||||
|
|
Loading…
Reference in New Issue