From 0acb7ca987600c4f99052ac5541297f7c34cf3ba Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 26 Aug 2024 15:35:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=B1=E5=83=8F=E4=B8=8A=E4=BC=A0=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=96=87=E4=BB=B6=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRC.Core.SCP/Service/CStoreSCPService.cs | 2 +- IRC.Core.SCP/Service/DicomArchiveService.cs | 10 +++++++--- IRC.Core.SCP/Service/Interface/IDicomArchiveService.cs | 2 +- .../Controllers/UploadDownLoadController.cs | 4 ++-- .../Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs | 6 ++++-- .../{QC => ImageAndDoc}/NoneDicomStudyService.cs | 0 IRaCIS.Core.Domain/Image/DicomInstance.cs | 2 ++ IRaCIS.Core.Domain/Image/DicomStudy.cs | 2 ++ IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs | 2 +- .../{QC/NoneDicom => Image}/NoneDicomStudy.cs | 0 .../{QC/NoneDicom => Image}/NoneDicomStudyFile.cs | 2 ++ IRaCIS.Core.Domain/Image/SCPInstance.cs | 2 ++ IRaCIS.Core.Domain/Image/TaskInstance.cs | 2 ++ 13 files changed, 26 insertions(+), 10 deletions(-) rename IRaCIS.Core.Application/Service/{QC => ImageAndDoc}/NoneDicomStudyService.cs (100%) rename IRaCIS.Core.Domain/{QC/NoneDicom => Image}/NoneDicomStudy.cs (100%) rename IRaCIS.Core.Domain/{QC/NoneDicom => Image}/NoneDicomStudyFile.cs (95%) diff --git a/IRC.Core.SCP/Service/CStoreSCPService.cs b/IRC.Core.SCP/Service/CStoreSCPService.cs index 6cfb381ad..86c09af4e 100644 --- a/IRC.Core.SCP/Service/CStoreSCPService.cs +++ b/IRC.Core.SCP/Service/CStoreSCPService.cs @@ -301,7 +301,7 @@ namespace IRaCIS.Core.SCP.Service { try { - var scpStudyId = await dicomArchiveService.ArchiveDicomFileAsync(request.Dataset, _trialId, _trialSiteId, storeRelativePath, Association.CallingAE, Association.CalledAE); + var scpStudyId = await dicomArchiveService.ArchiveDicomFileAsync(request.Dataset, _trialId, _trialSiteId, storeRelativePath, Association.CallingAE, Association.CalledAE,fileSize); if (!_SCPStudyIdList.Contains(scpStudyId)) { diff --git a/IRC.Core.SCP/Service/DicomArchiveService.cs b/IRC.Core.SCP/Service/DicomArchiveService.cs index ee456af4a..ac0edd173 100644 --- a/IRC.Core.SCP/Service/DicomArchiveService.cs +++ b/IRC.Core.SCP/Service/DicomArchiveService.cs @@ -12,6 +12,7 @@ using IRaCIS.Core.SCP.Service; using IRaCIS.Core.Infra.EFCore; using MassTransit; using System.Runtime.Intrinsics.X86; +using Serilog.Sinks.File; namespace IRaCIS.Core.SCP.Service { @@ -51,7 +52,7 @@ namespace IRaCIS.Core.SCP.Service /// /// /// - public async Task ArchiveDicomFileAsync(DicomDataset dataset, Guid trialId, Guid trialSiteId, string fileRelativePath, string callingAE, string calledAE) + public async Task ArchiveDicomFileAsync(DicomDataset dataset, Guid trialId, Guid trialSiteId, string fileRelativePath, string callingAE, string calledAE,long fileSize) { string studyInstanceUid = dataset.GetString(DicomTag.StudyInstanceUID); string seriesInstanceUid = dataset.GetString(DicomTag.SeriesInstanceUID); @@ -270,7 +271,10 @@ namespace IRaCIS.Core.SCP.Service WindowCenter = dataset.GetSingleValueOrDefault(DicomTag.WindowCenter, string.Empty), WindowWidth = dataset.GetSingleValueOrDefault(DicomTag.WindowWidth, string.Empty), - Path = fileRelativePath + Path = fileRelativePath, + + FileSize= fileSize, + }; ++findStudy.InstanceCount; @@ -300,7 +304,7 @@ namespace IRaCIS.Core.SCP.Service } else { - await _instanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == instanceId, u => new SCPInstance() { Path = fileRelativePath }); + await _instanceRepository.BatchUpdateNoTrackingAsync(t => t.Id == instanceId, u => new SCPInstance() { Path = fileRelativePath,FileSize=fileSize }); } //await _studyRepository.SaveChangesAsync(); diff --git a/IRC.Core.SCP/Service/Interface/IDicomArchiveService.cs b/IRC.Core.SCP/Service/Interface/IDicomArchiveService.cs index 1c107e94b..99312ef4f 100644 --- a/IRC.Core.SCP/Service/Interface/IDicomArchiveService.cs +++ b/IRC.Core.SCP/Service/Interface/IDicomArchiveService.cs @@ -5,7 +5,7 @@ namespace IRaCIS.Core.SCP.Service { public interface IDicomArchiveService { - Task ArchiveDicomFileAsync(DicomDataset dicomDataset,Guid trialId,Guid trialSiteId, string fileRelativePath,string callingAE,string calledAE); + Task ArchiveDicomFileAsync(DicomDataset dicomDataset,Guid trialId,Guid trialSiteId, string fileRelativePath,string callingAE,string calledAE,long fileSize); } } diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index 2e9f81109..5f25482bc 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -368,7 +368,7 @@ namespace IRaCIS.Core.API.Controllers throw new BusinessValidationFailedException(_localizer["UploadDownLoad_RequestError"]); } - studyMonitor.FileSize = (decimal)HttpContext.Request.ContentLength; + studyMonitor.FileSize = (long)HttpContext.Request.ContentLength; studyMonitor.FileCount = archiveResult.ReceivedFileCount; studyMonitor.FailedFileCount = archiveResult.ErrorFiles.Count; studyMonitor.IsDicomReUpload = archiveStudyCommand.AbandonStudyId != null; @@ -471,7 +471,7 @@ namespace IRaCIS.Core.API.Controllers foreach (var item in incommand.UploadedFileList) { - await _noneDicomStudyFileRepository.AddAsync(new NoneDicomStudyFile() { FileName = item.FileName, Path = item.FilePath, NoneDicomStudyId = noneDicomStudyId,FileType=item.FileType }); + await _noneDicomStudyFileRepository.AddAsync(new NoneDicomStudyFile() { FileName = item.FileName, Path = item.FilePath, NoneDicomStudyId = noneDicomStudyId,FileType=item.FileType,FileSize=item.FileFize }); } var uploadFinishedTime = DateTime.Now; diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs index 24982f635..be29c21d3 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DTO/UnionStudyViewDodel.cs @@ -184,7 +184,7 @@ namespace IRaCIS.Core.Application.Contracts [NotDefault] public Guid SubjectVisitId { get; set; } - public decimal FileSize { get; set; } + public long FileSize { get; set; } public bool IsDicomReUpload { get; set; } @@ -206,7 +206,7 @@ namespace IRaCIS.Core.Application.Contracts public Guid SubjectVisitId { get; set; } - public decimal FileSize { get; set; } + public long FileSize { get; set; } public bool IsDicomReUpload { get; set; } @@ -360,5 +360,7 @@ namespace IRaCIS.Core.Application.Contracts public string Path { get; set; } = string.Empty; public string HtmlPath { get; set; } = string.Empty; + + public decimal FileFize { get; set; } } } diff --git a/IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs similarity index 100% rename from IRaCIS.Core.Application/Service/QC/NoneDicomStudyService.cs rename to IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs diff --git a/IRaCIS.Core.Domain/Image/DicomInstance.cs b/IRaCIS.Core.Domain/Image/DicomInstance.cs index 758ff13cf..3096a0046 100644 --- a/IRaCIS.Core.Domain/Image/DicomInstance.cs +++ b/IRaCIS.Core.Domain/Image/DicomInstance.cs @@ -53,5 +53,7 @@ namespace IRaCIS.Core.Domain.Models public string HtmlPath { get; set; }=string.Empty; + public long? FileSize { get; set; } + } } diff --git a/IRaCIS.Core.Domain/Image/DicomStudy.cs b/IRaCIS.Core.Domain/Image/DicomStudy.cs index b17d275b1..ede2cf307 100644 --- a/IRaCIS.Core.Domain/Image/DicomStudy.cs +++ b/IRaCIS.Core.Domain/Image/DicomStudy.cs @@ -93,6 +93,8 @@ namespace IRaCIS.Core.Domain.Models public bool IsFromPACS { get; set; } + + } } diff --git a/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs b/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs index dc83b79f4..29d084dbe 100644 --- a/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs +++ b/IRaCIS.Core.Domain/Image/DicomStudyMonitor.cs @@ -61,7 +61,7 @@ namespace IRaCIS.Core.Domain.Models public int FailedFileCount { get; set; } - public decimal FileSize { get; set; } + public long FileSize { get; set; } public string IP { get; set; } diff --git a/IRaCIS.Core.Domain/QC/NoneDicom/NoneDicomStudy.cs b/IRaCIS.Core.Domain/Image/NoneDicomStudy.cs similarity index 100% rename from IRaCIS.Core.Domain/QC/NoneDicom/NoneDicomStudy.cs rename to IRaCIS.Core.Domain/Image/NoneDicomStudy.cs diff --git a/IRaCIS.Core.Domain/QC/NoneDicom/NoneDicomStudyFile.cs b/IRaCIS.Core.Domain/Image/NoneDicomStudyFile.cs similarity index 95% rename from IRaCIS.Core.Domain/QC/NoneDicom/NoneDicomStudyFile.cs rename to IRaCIS.Core.Domain/Image/NoneDicomStudyFile.cs index 138bf1427..199aad976 100644 --- a/IRaCIS.Core.Domain/QC/NoneDicom/NoneDicomStudyFile.cs +++ b/IRaCIS.Core.Domain/Image/NoneDicomStudyFile.cs @@ -31,6 +31,8 @@ namespace IRaCIS.Core.Domain.Models public string FileType { get; set; } + public decimal? FileSize { get; set; } + } } diff --git a/IRaCIS.Core.Domain/Image/SCPInstance.cs b/IRaCIS.Core.Domain/Image/SCPInstance.cs index 115656f04..844283149 100644 --- a/IRaCIS.Core.Domain/Image/SCPInstance.cs +++ b/IRaCIS.Core.Domain/Image/SCPInstance.cs @@ -46,6 +46,8 @@ namespace IRaCIS.Core.Domain.Models public bool Anonymize { get; set; } public string Path { get; set; } = string.Empty; + public long? FileSize { get; set; } + } diff --git a/IRaCIS.Core.Domain/Image/TaskInstance.cs b/IRaCIS.Core.Domain/Image/TaskInstance.cs index ea1035483..7276c500b 100644 --- a/IRaCIS.Core.Domain/Image/TaskInstance.cs +++ b/IRaCIS.Core.Domain/Image/TaskInstance.cs @@ -52,5 +52,7 @@ namespace IRaCIS.Core.Domain.Models public string HtmlPath { get; set; }=string.Empty; + public long? FileSize { get; set; } + } }