diff --git a/IRaCIS.Core.Application/Triggers/SubjectTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectTrigger.cs index ed9d2b31f..9252cca39 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectTrigger.cs @@ -56,10 +56,10 @@ namespace IRaCIS.Core.Application.Triggers // 出组 状态发生了变更 - if (context.Entity.Status == SubjectStatus.OutOfVisit && context.Entity.Status != context.UnmodifiedEntity?.Status) + if ( context.Entity.Status != context.UnmodifiedEntity?.Status) { //设置末次方式 - if (context.Entity.FinalSubjectVisitId != null) + if (context.Entity.Status == SubjectStatus.OutOfVisit && context.Entity.FinalSubjectVisitId != null ) { if (await _subjectVisitRepository.AnyAsync(t => t.SubjectId == dbSubject.Id && t.IsFinalVisit && t.Id != dbSubject.FinalSubjectVisitId)) { @@ -87,9 +87,9 @@ namespace IRaCIS.Core.Application.Triggers await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == dbSubject.Id && t.VisitNum > sv.VisitNum, u => new SubjectVisit() { VisitExecuted = VisitExecutedEnum.Unavailable }); } //撤销状态 - else + else if(context.UnmodifiedEntity?.Status== SubjectStatus.OutOfVisit && context.UnmodifiedEntity.FinalSubjectVisitId != null) { - var sv = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == dbSubject.FinalSubjectVisitId).IfNullThrowException(); + var sv = await _subjectVisitRepository.FirstOrDefaultAsync(t => t.Id == context.UnmodifiedEntity.FinalSubjectVisitId).IfNullThrowException(); sv.IsFinalVisit = false; @@ -100,6 +100,9 @@ namespace IRaCIS.Core.Application.Triggers } } + + + } }