diff --git a/IRC.Core.SCP/Service/PatientStudyService.cs b/IRC.Core.SCP/Service/PatientStudyService.cs index f41366145..a809fd90c 100644 --- a/IRC.Core.SCP/Service/PatientStudyService.cs +++ b/IRC.Core.SCP/Service/PatientStudyService.cs @@ -78,7 +78,26 @@ namespace IRaCIS.Core.SCP.Service //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; List<(int VisitCount, Guid SCPStudyId)> visits = new List<(int, Guid)>();