diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.csproj b/IRaCIS.Core.API/IRaCIS.Core.API.csproj index 18b7d2ed3..54e7374c1 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.csproj +++ b/IRaCIS.Core.API/IRaCIS.Core.API.csproj @@ -79,6 +79,10 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/IRaCIS.Core.Application/Service/Document/DTO/TrialEmailNoticeConfigViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/TrialEmailNoticeConfigViewModel.cs index 7fcef3201..cc46adb34 100644 --- a/IRaCIS.Core.Application/Service/Document/DTO/TrialEmailNoticeConfigViewModel.cs +++ b/IRaCIS.Core.Application/Service/Document/DTO/TrialEmailNoticeConfigViewModel.cs @@ -143,7 +143,7 @@ namespace IRaCIS.Core.Application.ViewModel public List CopyUserTypeList { get; set; } - + public bool IsEnable { get; set; } public bool IsAutoSend { get; set; } diff --git a/IRaCIS.Core.Application/Service/Document/EmailSendService.cs b/IRaCIS.Core.Application/Service/Document/EmailSendService.cs index c2e72c4dd..ba91be6d2 100644 --- a/IRaCIS.Core.Application/Service/Document/EmailSendService.cs +++ b/IRaCIS.Core.Application/Service/Document/EmailSendService.cs @@ -190,7 +190,7 @@ namespace IRaCIS.Core.Application.Service ReUploadTobeDealedCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList) .Where(u => u.CreateUserId == userId && u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator && u.ReuploadEnum == QCChanllengeReuploadEnum.CRCRequestReupload).Count(), - //质疑待处理 + //质疑待处理 发送邮件的时候 需要减去ReUploadTobeDealedCount ToBeDealedCount = t.SubjectVisitList.SelectMany(c => c.QCChallengeList) .Where(u => u.CreateUserId == userId && u.IsClosed == false && u.LatestReplyUser.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).Count(), }); @@ -205,7 +205,8 @@ namespace IRaCIS.Core.Application.Service { var topicStr = string.Format(_userInfo.IsEn_Us ? trialEmailConfig.EmailTopic : trialEmailConfig.EmailTopicCN, trialInfo.ResearchProgramNo); var htmlBodyStr = string.Format(_userInfo.IsEn_Us ? trialEmailConfig.EmailHtmlContent : trialEmailConfig.EmailHtmlContentCN, - user.FullName, DateTime.Now, sendStat.ToBeDealedCount, sendStat.ReUploadTobeDealedCount, _SystemEmailSendConfig.CurrentValue.SiteUrl); + + user.FullName, DateTime.Now, sendStat.ToBeDealedCount- sendStat.ReUploadTobeDealedCount, sendStat.ReUploadTobeDealedCount, _SystemEmailSendConfig.CurrentValue.SiteUrl); return (topicStr, htmlBodyStr); }; diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index cbf6299b7..cf403409a 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -1600,7 +1600,7 @@ namespace IRaCIS.Core.Application.Service item.FromName=emailConfig.EmailFromName; item.SMTPServerPort = emailConfig.EmailSMTPServerPort; item.IsAutoSend = false; - + item.IsEnable = false; item.TrialReadingCriterionId = list.FirstOrDefault(t => t.CriterionType == item.CriterionTypeEnum)?.TrialReadingCriterionId; diff --git a/IRaCIS.Core.Domain/Document/TrialEmailNoticeConfig.cs b/IRaCIS.Core.Domain/Document/TrialEmailNoticeConfig.cs index 66e9f453b..d04a6137c 100644 --- a/IRaCIS.Core.Domain/Document/TrialEmailNoticeConfig.cs +++ b/IRaCIS.Core.Domain/Document/TrialEmailNoticeConfig.cs @@ -95,9 +95,11 @@ namespace IRaCIS.Core.Domain.Models public bool IsReturnRequired { get; set; } [Required] public bool IsAutoSend { get; set; } - - public EmailBusinessScenario BusinessScenarioEnum { get; set; } + public bool IsEnable { get; set; } + + + public EmailBusinessScenario BusinessScenarioEnum { get; set; } public CriterionType? CriterionTypeEnum { get; set; } diff --git a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs index 7901898af..b40cd5ddf 100644 --- a/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs +++ b/IRaCIS.Core.Infra.EFCore/Common/AuditingData.cs @@ -919,10 +919,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common .Where(t => t.TrialEmailNoticeConfigId == entity.Id).Select(t => new { t.TrialEmailNoticeConfigId, t.EmailUserType, t.UserType }).ToList(); - if (_userInfo.RequestUrl == "TrialEmailNoticeConfig/getTrialEmailNoticeConfigList") - { - extraIdentification = "/Auto"; - } + await InsertInspection(entity, type, x => new InspectionConvertDTO() { @@ -1367,6 +1364,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common } #endregion + #region 中心调研 + + // 中心调研表 foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialSiteSurvey))) { @@ -1408,78 +1408,10 @@ namespace IRaCIS.Core.Infra.EFCore.Common }); } + #endregion - // 既往手术史 - foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(PreviousSurgery))) - { - var type = GetEntityAuditOpt(item); - var entity = item.Entity as PreviousSurgery; - - await InsertInspection(entity, type, x => new InspectionConvertDTO() - { - IsDistinctionInterface = false, - - SubjectVisitId = x.SubjectVisitId, - - ObjectRelationParentId = x.SubjectVisitId, - - ObjectRelationParentId2 = x.ClinicalDataTrialSetId, - - }, new - { - Type = ClinicalFileType.PreviousSurgery - }); - } - - // 既往放疗史 - foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(PreviousHistory))) - { - - var type = GetEntityAuditOpt(item); - - var entity = item.Entity as PreviousHistory; - - await InsertInspection(entity, type, x => new InspectionConvertDTO() - { - - - IsDistinctionInterface = false, - - SubjectVisitId = x.SubjectVisitId, - - ObjectRelationParentId2 = x.ClinicalDataTrialSetId, - - ObjectRelationParentId = x.SubjectVisitId, - }, new - { - Type = ClinicalFileType.PreviousHistory - }); - } - - // 其他治疗史 - foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(PreviousOther))) - { - var type = GetEntityAuditOpt(item); - - var entity = item.Entity as PreviousOther; - - await InsertInspection(entity, type, x => new InspectionConvertDTO() - { - - IsDistinctionInterface = false, - - SubjectVisitId = x.SubjectVisitId, - - ObjectRelationParentId2 = x.ClinicalDataTrialSetId, - - ObjectRelationParentId = x.SubjectVisitId, - }, new - { - Type = ClinicalFileType.PreviousOther - }); - } //系统 Qc 问题 foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(QCQuestion))) @@ -1567,6 +1499,9 @@ namespace IRaCIS.Core.Infra.EFCore.Common } + #region 项目参与人员 项目site + + // 项目中心 Site未稽查 foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(TrialSite))) @@ -1636,6 +1571,7 @@ namespace IRaCIS.Core.Infra.EFCore.Common }); } + #endregion // 受试者 foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(Subject))) @@ -1778,6 +1714,8 @@ namespace IRaCIS.Core.Infra.EFCore.Common ); } + #region Dicom 非Dicom 既往手术史..临床数据 + // Dicom foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(DicomStudy))) { @@ -1828,6 +1766,78 @@ namespace IRaCIS.Core.Infra.EFCore.Common }); } + // 既往手术史 + foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(PreviousSurgery))) + { + var type = GetEntityAuditOpt(item); + + var entity = item.Entity as PreviousSurgery; + + await InsertInspection(entity, type, x => new InspectionConvertDTO() + { + IsDistinctionInterface = false, + + SubjectVisitId = x.SubjectVisitId, + + ObjectRelationParentId = x.SubjectVisitId, + + ObjectRelationParentId2 = x.ClinicalDataTrialSetId, + + }, new + { + Type = ClinicalFileType.PreviousSurgery + }); + } + + // 既往放疗史 + foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(PreviousHistory))) + { + + var type = GetEntityAuditOpt(item); + + var entity = item.Entity as PreviousHistory; + + await InsertInspection(entity, type, x => new InspectionConvertDTO() + { + + + IsDistinctionInterface = false, + + SubjectVisitId = x.SubjectVisitId, + + ObjectRelationParentId2 = x.ClinicalDataTrialSetId, + + ObjectRelationParentId = x.SubjectVisitId, + }, new + { + Type = ClinicalFileType.PreviousHistory + }); + } + + // 其他治疗史 + foreach (var item in entitys.Where(x => x.Entity.GetType() == typeof(PreviousOther))) + { + var type = GetEntityAuditOpt(item); + + var entity = item.Entity as PreviousOther; + + await InsertInspection(entity, type, x => new InspectionConvertDTO() + { + + IsDistinctionInterface = false, + + SubjectVisitId = x.SubjectVisitId, + + ObjectRelationParentId2 = x.ClinicalDataTrialSetId, + + ObjectRelationParentId = x.SubjectVisitId, + }, new + { + Type = ClinicalFileType.PreviousOther + }); + } + + #endregion #region 阅片人入组 diff --git a/IRaCIS.Core.Infra.EFCore/IRaCIS.Core.Infra.EFCore.csproj b/IRaCIS.Core.Infra.EFCore/IRaCIS.Core.Infra.EFCore.csproj index 4baefc5d5..1521ce957 100644 --- a/IRaCIS.Core.Infra.EFCore/IRaCIS.Core.Infra.EFCore.csproj +++ b/IRaCIS.Core.Infra.EFCore/IRaCIS.Core.Infra.EFCore.csproj @@ -22,6 +22,10 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive +