diff --git a/IRaCIS.Core.Domain/_DomainEvent/ReUploadEvent.cs b/IRaCIS.Core.Domain/_DomainEvent/ReUploadEvent.cs index b42a75765..bcaeb2779 100644 --- a/IRaCIS.Core.Domain/_DomainEvent/ReUploadEvent.cs +++ b/IRaCIS.Core.Domain/_DomainEvent/ReUploadEvent.cs @@ -44,15 +44,7 @@ namespace IRaCIS.Core.Domain._DomainEvent } - /// - ///针对于未阅的任务 PM直接退回,通知CRC - /// - public class UnReadVisitTaskReReadingApproval : DomainEvent - { - public Guid SubjectVisitId { get; set; } - - } /// ///针对于已阅的任务 PM 申请, SPM/CPM审批,通知PM/阅片人 @@ -63,4 +55,14 @@ namespace IRaCIS.Core.Domain._DomainEvent public ReReadingApplyState ReReadingApplyState { get; set; } } + + /// + ///针对于未阅的任务 PM直接退回,通知CRC --这里废弃 ,没有审批流程,不做 + /// + public class UnReadVisitTaskReReadingApproval : DomainEvent + { + public Guid SubjectVisitId { get; set; } + + + } } diff --git a/IRaCIS.Core.Domain/_DomainEvent/ReviewerEvent.cs b/IRaCIS.Core.Domain/_DomainEvent/ReviewerEvent.cs index 02d21fbdf..f300d86ca 100644 --- a/IRaCIS.Core.Domain/_DomainEvent/ReviewerEvent.cs +++ b/IRaCIS.Core.Domain/_DomainEvent/ReviewerEvent.cs @@ -10,7 +10,7 @@ namespace IRaCIS.Core.Domain._DomainEvent { /// - /// SPM审批通过,通知PM; (在消费者中判断项目是否配置了SPM 并且有SPM,有的话才发邮件,因为没有SPM的时候,状态会跳的 ) Enroll表 + /// SPM审批通过,通知PM; Enroll表 /// public class ReviewerSPMApprovedEvent : DomainEvent { @@ -21,4 +21,12 @@ namespace IRaCIS.Core.Domain._DomainEvent /// //public EnrollStatus EnrollStatus { get; set; } } + + /// + /// PM 申请审批 Enroll表 + /// + public class ReviewerPMApplyEvent : DomainEvent + { + public List EnrollIdList { get; set; } + } } diff --git a/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs b/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs index 1ee430871..656a0e0d3 100644 --- a/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs +++ b/IRaCIS.Core.Infra.EFCore/Interceptor/AddDomainExt.cs @@ -425,7 +425,8 @@ public static class DBContext_Ext #region 阅片人筛选 - var enrollIdList = new List(); + var spmApproveEnrollIdList = new List(); + var pmApplyEnrollIdList = new List(); Enroll lastEnroll = null; foreach (var entry in changeTracker.Entries()) { @@ -435,15 +436,30 @@ public static class DBContext_Ext if (originEnrollStatus == EnrollStatus.HasCommittedToCRO && enroll.EnrollStatus == EnrollStatus.InviteIntoGroup) { - enrollIdList.Add(enroll.Id); + spmApproveEnrollIdList.Add(enroll.Id); lastEnroll = enroll; } + + if (originEnrollStatus == EnrollStatus.HasApplyDownloadResume && enroll.EnrollStatus == EnrollStatus.HasCommittedToCRO) + { + pmApplyEnrollIdList.Add(enroll.Id); + + lastEnroll = enroll; + } + + } - if (enrollIdList.Count > 0) + if (spmApproveEnrollIdList.Count > 0) { - lastEnroll.AddDomainEvent(new ReviewerSPMApprovedEvent() { EnrollIdList = enrollIdList }); + lastEnroll.AddDomainEvent(new ReviewerSPMApprovedEvent() { EnrollIdList = spmApproveEnrollIdList }); + + eventStoreList.AddRange(GetStoreEvents(lastEnroll.DomainEvents)); + } + if (pmApplyEnrollIdList.Count > 0) + { + lastEnroll.AddDomainEvent(new ReviewerPMApplyEvent() { EnrollIdList = spmApproveEnrollIdList }); eventStoreList.AddRange(GetStoreEvents(lastEnroll.DomainEvents)); }