diff --git a/IRC.Core.SCP/Service/CStoreSCPService.cs b/IRC.Core.SCP/Service/CStoreSCPService.cs index 19a47ac0a..7f55d3ed3 100644 --- a/IRC.Core.SCP/Service/CStoreSCPService.cs +++ b/IRC.Core.SCP/Service/CStoreSCPService.cs @@ -364,11 +364,14 @@ 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 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 已提交的访视的最大检查时间,绑定的检查时间要比这个时间要大