HIR dir 修改
continuous-integration/drone/push Build is passing Details

Test_HIR_Net8
hang 2026-01-20 09:30:09 +08:00
parent af691d155d
commit 179017fa2c
2 changed files with 10 additions and 3 deletions

View File

@ -57,6 +57,8 @@ namespace IRaCIS.Core.Application.Helper
int index = 1; int index = 1;
// 全局关闭所有 VR 字段验证 // 全局关闭所有 VR 字段验证
var studyUid = list.FirstOrDefault()?.StudyInstanceUid;
var dicomDir = new DicomDirectory(); var dicomDir = new DicomDirectory();
foreach (var item in list.OrderBy(t => t.SeriesNumber).ThenBy(t => t.InstanceNumber)) foreach (var item in list.OrderBy(t => t.SeriesNumber).ThenBy(t => t.InstanceNumber))
@ -129,7 +131,8 @@ namespace IRaCIS.Core.Application.Helper
var relativePath = await _oSSService.UploadToOSSAsync(memoryStream, ossFolder, "DICOMDIR", true); var relativePath = await _oSSService.UploadToOSSAsync(memoryStream, ossFolder, "DICOMDIR", true);
dic.Add("DICOMDIR", relativePath.Split('/').Last());
dic.Add($"{studyUid}_DICOMDIR", relativePath.Split('/').Last());
} }
//清理临时文件 //清理临时文件

View File

@ -3370,13 +3370,15 @@ namespace IRaCIS.Application.Services
foreach (var item in list.GroupBy(t => new { t.StudyInstanceUid, t.DicomStudyId })) foreach (var item in list.GroupBy(t => new { t.StudyInstanceUid, t.DicomStudyId }))
{ {
var studyUid = item.Key.StudyInstanceUid;
var ossFolder = $"DicomDIR/{item.Key.StudyInstanceUid}"; var ossFolder = $"DicomDIR/{item.Key.StudyInstanceUid}";
var isSucess = await SafeBussinessHelper.RunAsync(async () => await DicomDIRHelper.GenerateStudyDIRAndUploadAsync(item.ToList(), dirDic, ossFolder, _oSSService)); var isSucess = await SafeBussinessHelper.RunAsync(async () => await DicomDIRHelper.GenerateStudyDIRAndUploadAsync(item.ToList(), dirDic, ossFolder, _oSSService));
if (isSucess) if (isSucess)
{ {
await _SCPStudyRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Key.DicomStudyId, u => new SCPStudy() { StudyDIRPath = $"/{ossFolder}/{dirDic["DICOMDIR"]}" }); await _SCPStudyRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Key.DicomStudyId, u => new SCPStudy() { StudyDIRPath = $"/{ossFolder}/{dirDic[$"{studyUid}_DICOMDIR"]}" });
} }
} }
@ -3515,6 +3517,8 @@ namespace IRaCIS.Application.Services
foreach (var item in list.GroupBy(t => new { t.StudyInstanceUid, t.DicomStudyId, t.SubjectVisitId, t.TrialId, t.SubjectId })) foreach (var item in list.GroupBy(t => new { t.StudyInstanceUid, t.DicomStudyId, t.SubjectVisitId, t.TrialId, t.SubjectId }))
{ {
var studyUid = item.Key.StudyInstanceUid;
var ossFolder = $"{item.Key.TrialId}/Image/{item.Key.SubjectId}/{item.Key.SubjectVisitId}/{item.Key.StudyInstanceUid}"; var ossFolder = $"{item.Key.TrialId}/Image/{item.Key.SubjectId}/{item.Key.SubjectVisitId}/{item.Key.StudyInstanceUid}";
var isSucess = await SafeBussinessHelper.RunAsync(async () => await DicomDIRHelper.GenerateStudyDIRAndUploadAsync(item.ToList(), dirDic, ossFolder, _oSSService)); var isSucess = await SafeBussinessHelper.RunAsync(async () => await DicomDIRHelper.GenerateStudyDIRAndUploadAsync(item.ToList(), dirDic, ossFolder, _oSSService));
@ -3522,7 +3526,7 @@ namespace IRaCIS.Application.Services
if (isSucess) if (isSucess)
{ {
await _dicomStudyRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Key.DicomStudyId, u => new DicomStudy() { StudyDIRPath = $"/{ossFolder}/{dirDic["DICOMDIR"]}" }); await _dicomStudyRepository.BatchUpdateNoTrackingAsync(t => t.Id == item.Key.DicomStudyId, u => new DicomStudy() { StudyDIRPath = $"/{ossFolder}/{dirDic[$"{studyUid}_DICOMDIR"]}" });
} }
} }