From c2aefebedc18f95e3ec6be6e5397aed455fe4161 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 15 Apr 2024 11:19:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=92=E5=BA=8F=E5=92=8C?= =?UTF-8?q?=E6=A0=87=E5=87=86=E7=A1=AE=E8=AE=A4=E7=94=9F=E6=88=90=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DTO/TrialEmailNoticeConfigViewModel.cs | 3 +++ .../Document/TrialEmailNoticeConfigService.cs | 16 ++++++++++------ .../Triggers/TrialCriterionSignTrigger.cs | 4 ++-- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Document/DTO/TrialEmailNoticeConfigViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/TrialEmailNoticeConfigViewModel.cs index 652d381a6..76982a056 100644 --- a/IRaCIS.Core.Application/Service/Document/DTO/TrialEmailNoticeConfigViewModel.cs +++ b/IRaCIS.Core.Application/Service/Document/DTO/TrialEmailNoticeConfigViewModel.cs @@ -108,6 +108,9 @@ namespace IRaCIS.Core.Application.ViewModel public bool IsDistinguishCriteria { get; set; } + public string SortField { get; set; } = string.Empty; + + public bool Asc { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index 0e6b6667c..a8d0398d0 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -26,6 +26,8 @@ using System; using System.Runtime.InteropServices; using SharpCompress.Common; using SkiaSharp; +using DocumentFormat.OpenXml.Bibliography; +using System.Linq.Dynamic.Core; namespace IRaCIS.Core.Application.Service { @@ -316,13 +318,13 @@ namespace IRaCIS.Core.Application.Service }; - var (trialEmailConfig, sendEmailConfig) = await _emailSendService.BuildEmailConfig(taskInfo.TrialId, businessScenarioEnum, topicAndHtmlFunc, taskInfo.SiteId,taskInfo.TrialReadingCriterionId); + var (trialEmailConfig, sendEmailConfig) = await _emailSendService.BuildEmailConfig(taskInfo.TrialId, businessScenarioEnum, topicAndHtmlFunc, taskInfo.SiteId, taskInfo.TrialReadingCriterionId); #endregion //自动发送 - if (sendEmailConfig != null && trialEmailConfig !=null) + if (sendEmailConfig != null && trialEmailConfig != null) { #region 不同标准 不同项目配置 发送邮件的时机 处理具体逻辑 @@ -679,8 +681,8 @@ namespace IRaCIS.Core.Application.Service } else { - var wordStoreServerPath = Path.Combine(Path.GetDirectoryName(serverFilePath), Path.GetFileNameWithoutExtension(serverFilePath)+".docx"); - + var wordStoreServerPath = Path.Combine(Path.GetDirectoryName(serverFilePath), Path.GetFileNameWithoutExtension(serverFilePath) + ".docx"); + using (FileStream fileStream = new FileStream(wordStoreServerPath, FileMode.Create, FileAccess.Write)) { wordMemoryStream.WriteTo(fileStream); @@ -718,7 +720,7 @@ namespace IRaCIS.Core.Application.Service Document document = new Document(); document.LoadFromStream(wordMemoryStream, FileFormat.Docx); document.SaveToStream(pdfMemoryStream, FileFormat.PDF); - + } else { @@ -1355,7 +1357,9 @@ namespace IRaCIS.Core.Application.Service .WhereIf(inQuery.BusinessScenarioEnum != null, t => t.BusinessScenarioEnum == inQuery.BusinessScenarioEnum) .ProjectTo(_mapper.ConfigurationProvider); - return await trialEmailNoticeConfigQueryable.ToListAsync(); + var sortField = string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialEmailNoticeConfigView.Code) : inQuery.SortField; + var orderQuery = inQuery.Asc ? trialEmailNoticeConfigQueryable.OrderBy(sortField) : trialEmailNoticeConfigQueryable.OrderBy(sortField + " desc"); + return await orderQuery.ToListAsync(); } diff --git a/IRaCIS.Core.Application/Triggers/TrialCriterionSignTrigger.cs b/IRaCIS.Core.Application/Triggers/TrialCriterionSignTrigger.cs index d0d21d603..ece0a42a3 100644 --- a/IRaCIS.Core.Application/Triggers/TrialCriterionSignTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/TrialCriterionSignTrigger.cs @@ -34,8 +34,8 @@ namespace IRaCIS.Core.Application.Triggers if (context.ChangeType == ChangeType.Modified) { - // 一致性核查通过 生成读片任务 - if (context.UnmodifiedEntity?.ReadingInfoSignTime != trialCriterion.ReadingInfoSignTime && trialCriterion.ReadingInfoSignTime != null) + // 一致性核查通过 生成读片任务 同时要是自动生成的才会触发 + if (context.UnmodifiedEntity?.ReadingInfoSignTime != trialCriterion.ReadingInfoSignTime && trialCriterion.ReadingInfoSignTime != null && trialCriterion.IsAutoCreate==true) {