From 780f6451c389a5c2fdbd661ae1702c0dcf113844 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 3 Sep 2025 16:25:47 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A8=BD=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRC.Core.SCP/Service/CStoreSCPService.cs | 2 ++ IRaCIS.Core.Application/Service/Visit/PatientService.cs | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/IRC.Core.SCP/Service/CStoreSCPService.cs b/IRC.Core.SCP/Service/CStoreSCPService.cs index 19a47ac0a..38d8892bd 100644 --- a/IRC.Core.SCP/Service/CStoreSCPService.cs +++ b/IRC.Core.SCP/Service/CStoreSCPService.cs @@ -371,6 +371,8 @@ namespace IRaCIS.Core.SCP.Service dicomFile.Save(ms); ms.Position = 0; + + #endregion diff --git a/IRaCIS.Core.Application/Service/Visit/PatientService.cs b/IRaCIS.Core.Application/Service/Visit/PatientService.cs index 22feb2f36..35531a08c 100644 --- a/IRaCIS.Core.Application/Service/Visit/PatientService.cs +++ b/IRaCIS.Core.Application/Service/Visit/PatientService.cs @@ -1411,7 +1411,7 @@ namespace IRaCIS.Application.Services // 预先处理1: 删除未提交的所有绑定的检查记录,所有检查一起考虑绑定 - await _studySubjectVisitRepository.BatchDeleteNoTrackingAsync(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState != SubmitStateEnum.Submitted); + await _studySubjectVisitRepository.DeleteFromQueryAsync(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState != SubmitStateEnum.Submitted); //预处理2 找到该subjecct 已提交的访视的最大检查时间,绑定的检查时间要比这个时间要大 @@ -1531,7 +1531,7 @@ namespace IRaCIS.Application.Services inCommand.PatientIdList = dbPatientIdList.Union(inCommand.PatientIdList).Distinct().ToList(); // 预先处理2: 删除未提交的所有绑定的检查记录,所有检查一起考虑绑定 - await _studySubjectVisitRepository.BatchDeleteNoTrackingAsync(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState != SubmitStateEnum.Submitted); + await _studySubjectVisitRepository.DeleteFromQueryAsync(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState != SubmitStateEnum.Submitted); //预处理3 找到该subjecct 已提交的访视的最大检查时间,绑定的检查时间要比这个时间要大 @@ -1581,7 +1581,7 @@ namespace IRaCIS.Application.Services { await _subjectPatientRepository.DeleteAsync(find); - await _studySubjectVisitRepository.BatchDeleteNoTrackingAsync(t => t.SubjectId == find.SubjectId && t.SCPStudy.PatientId == patientId); + //await _studySubjectVisitRepository.BatchDeleteNoTrackingAsync(t => t.SubjectId == find.SubjectId && t.SCPStudy.PatientId == patientId); await _subjectPatientRepository.SaveChangesAsync(); @@ -1594,7 +1594,7 @@ namespace IRaCIS.Application.Services var dbPatientIdList = _subjectPatientRepository.Where(t => t.SubjectId == subjectId).Select(t => t.PatientId).ToList(); // 预先处理2: 删除未提交的所有绑定的检查记录,所有检查一起考虑绑定 - await _studySubjectVisitRepository.BatchDeleteNoTrackingAsync(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState != SubmitStateEnum.Submitted); + await _studySubjectVisitRepository.DeleteFromQueryAsync(t => t.SubjectId == subjectId && t.SubjectVisit.SubmitState != SubmitStateEnum.Submitted); //预处理3 找到该subjecct 已提交的访视的最大检查时间,绑定的检查时间要比这个时间要大 From ba12a2977bf2698f86408b450e5528c6ad6b88fd Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Wed, 3 Sep 2025 16:32:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=98=E5=82=A8?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=AD=98=E5=82=A8=E9=9D=9E=E5=B0=81=E8=A3=85?= =?UTF-8?q?=E7=9A=84=E5=BD=B1=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRC.Core.SCP/Service/CStoreSCPService.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/IRC.Core.SCP/Service/CStoreSCPService.cs b/IRC.Core.SCP/Service/CStoreSCPService.cs index 38d8892bd..7f55d3ed3 100644 --- a/IRC.Core.SCP/Service/CStoreSCPService.cs +++ b/IRC.Core.SCP/Service/CStoreSCPService.cs @@ -364,15 +364,16 @@ namespace IRaCIS.Core.SCP.Service // 替换原 PixelData dicomFile.Dataset.AddOrUpdate(newFragments); + + + // 重新保存 dicom 到流 + ms.SetLength(0); + dicomFile.Save(ms); } - // 重新保存 dicom 到流 - ms.SetLength(0); - dicomFile.Save(ms); + ms.Position = 0; - - #endregion