修改受试者状态退回,逻辑判断
continuous-integration/drone/push Build is running Details

Uat_IRC_Net10
hang 2026-06-26 16:33:47 +08:00
parent 79aeb663c6
commit a4181f819b
1 changed files with 7 additions and 4 deletions

View File

@ -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)) 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 }); 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; sv.IsFinalVisit = false;
@ -100,6 +100,9 @@ namespace IRaCIS.Core.Application.Triggers
} }
} }
} }
} }