修改绑定bug
continuous-integration/drone/push Build is passing Details

Test_HIR_Net8
hang 2025-08-29 18:09:59 +08:00
parent 5d1499025b
commit e143cb0e73
1 changed files with 21 additions and 2 deletions

View File

@ -1257,7 +1257,7 @@ namespace IRaCIS.Application.Services
MaxStudyTime = t.SCPStudySubjectVisitList.Max(t => t.SCPStudy.StudyTime),
MinStudyTime = t.SCPStudySubjectVisitList.Min(t => t.SCPStudy.StudyTime)
})
.ToListAsync();
.OrderBy(t => t.VisitNum).ToListAsync();
//2、获取项目配置
@ -1265,7 +1265,26 @@ namespace IRaCIS.Application.Services
//3、 未提交的最小的访视号 从这个访视开始绑定 因为重新开始绑定,所以将访视未提交的状态重置
var subjectMaxVisitNum = startBindVisitNum == null ? subjectAllVisitList.Where(t => t.SubmitState != SubmitStateEnum.Submitted).MinOrDefault(t => t.VisitNum) : startBindVisitNum.Value;
decimal subjectMaxVisitNum = 0;
if (startBindVisitNum == null)
{
if (subjectAllVisitList.Any(t => t.SubmitState != SubmitStateEnum.Submitted))
{
subjectMaxVisitNum = subjectAllVisitList.Where(t => t.SubmitState != SubmitStateEnum.Submitted).MinOrDefault(t => t.VisitNum);
}
else
{
//没有未提交的那么开始绑定的就是已提交的加1
subjectMaxVisitNum = subjectAllVisitList.Last().VisitNum + 1;
}
}
else
{
subjectMaxVisitNum = startBindVisitNum.Value;
}
//var subjectMaxVisitNum = startBindVisitNum == null ? subjectAllVisitList.Where(t => t.SubmitState != SubmitStateEnum.Submitted).MinOrDefault(t => t.VisitNum) : startBindVisitNum.Value;
await _subjectVisitRepository.BatchUpdateNoTrackingAsync(t => t.SubjectId == subjectId && t.SubmitState != SubmitStateEnum.Submitted && t.VisitNum > subjectMaxVisitNum, c => new SubjectVisit() { SubmitState = SubmitStateEnum.None });