From e143cb0e738c0117c37fe1e3796742e5e8e26a08 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Fri, 29 Aug 2025 18:09:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=91=E5=AE=9Abug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Visit/PatientService.cs | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Visit/PatientService.cs b/IRaCIS.Core.Application/Service/Visit/PatientService.cs index 727f85b8d..4b9fe806c 100644 --- a/IRaCIS.Core.Application/Service/Visit/PatientService.cs +++ b/IRaCIS.Core.Application/Service/Visit/PatientService.cs @@ -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 });