diff --git a/IRaCIS.Core.Application/Triggers/SubjectVisitFinalVisitTrigger.cs b/IRaCIS.Core.Application/Triggers/SubjectVisitFinalVisitTrigger.cs index 6d6f467f7..efbcce8e5 100644 --- a/IRaCIS.Core.Application/Triggers/SubjectVisitFinalVisitTrigger.cs +++ b/IRaCIS.Core.Application/Triggers/SubjectVisitFinalVisitTrigger.cs @@ -30,7 +30,7 @@ namespace IRaCIS.Core.Application.Triggers // 修改了IsFinalVisit if (context.UnmodifiedEntity?.IsFinalVisit != subjectVisit.IsFinalVisit) { - if (context.Entity.IsFinalVisit) + if (subjectVisit.IsFinalVisit) { if (await _subjectVisitRepository.AnyAsync(t => t.SubjectId == subjectVisit.SubjectId && t.VisitNum > subjectVisit.VisitNum && (t.SubmitState == SubmitStateEnum.ToSubmit|| t.SubmitState==SubmitStateEnum.Submitted))) @@ -39,7 +39,7 @@ namespace IRaCIS.Core.Application.Triggers } await _subjectRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisit.SubjectId, - u => new Subject() { Status = SubjectStatus.OutOfVisit }); + u => new Subject() { Status = SubjectStatus.OutOfVisit,FinalSubjectVisitId=subjectVisit.Id }); //末次访视后的 访视设置为不可用 @@ -51,7 +51,7 @@ namespace IRaCIS.Core.Application.Triggers //回退 await _subjectRepository.BatchUpdateNoTrackingAsync(t => t.Id == subjectVisit.SubjectId, - u => new Subject() { Status = SubjectStatus.OnVisit }); + u => new Subject() { Status = SubjectStatus.OnVisit, FinalSubjectVisitId =null }); await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == subjectVisit.SubjectId && t.VisitExecuted == VisitExecutedEnum.Unavailable, u => new SubjectVisit() { VisitExecuted = VisitExecutedEnum.UnExecuted }); }