diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs
index 7b48775da..5ef44eb2c 100644
--- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs
+++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs
@@ -856,7 +856,18 @@ namespace IRaCIS.Core.API.Controllers
_userInfo = userInfo;
}
+ /// 通用文件下载
+ [AllowAnonymous]
+ [HttpGet("CommonDocument/DownloadCommonDoc")]
+ public async Task DownloadCommonFile(string code, [FromServices] IRepository _commonDocumentRepository)
+ {
+ var (filePath, fileName) = await FileStoreHelper.GetCommonDocPhysicalFilePathAsync(_hostEnvironment, _commonDocumentRepository, code);
+ new FileExtensionContentTypeProvider().Mappings.TryGetValue(Path.GetExtension(filePath), out var contentType);
+
+ return File(System.IO.File.OpenRead(filePath), contentType ?? "application/octet-stream", fileName);
+
+ }
///
/// 上传通用文档 比如一致性核查的 比如导出的excel 模板
diff --git a/IRaCIS.Core.Application/Service/Third-partyProject/DTO/UltrasonicDicomViewModel.cs b/IRaCIS.Core.Application/Service/Third-partyProject/DTO/UltrasonicDicomViewModel.cs
index a59bc54b2..3d5b5abea 100644
--- a/IRaCIS.Core.Application/Service/Third-partyProject/DTO/UltrasonicDicomViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Third-partyProject/DTO/UltrasonicDicomViewModel.cs
@@ -117,6 +117,12 @@ namespace IRaCIS.Core.Application.Service.Third_partyProject.DTO
public string Modality { get; set; }
}
+ public class InstancePathDTO
+ {
+ public string StudyCode { get; set; }
+ public string InstancePath { get; set; }
+ }
+
}
diff --git a/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs b/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs
index 51fb1ceea..b030987e2 100644
--- a/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs
+++ b/IRaCIS.Core.Application/Service/Third-partyProject/UltrasonicDicomService.cs
@@ -192,9 +192,9 @@ namespace IRaCIS.Core.Application.Service.Third_partyProject
///
///
[HttpPost]
- public async Task> GetStudyModalityOSSPath(List seriesIdList, [FromServices] IRepository _dicomSeriesRepository)
+ public async Task> GetStudyModalityOSSPath(List seriesIdList, [FromServices] IRepository _dicomSeriesRepository)
{
- return await _dicomSeriesRepository.Where(t => seriesIdList.Contains(t.Id)).SelectMany(t => t.DicomInstanceList).Select(t => t.Path).ToListAsync();
+ return await _dicomSeriesRepository.Where(t => seriesIdList.Contains(t.Id)).SelectMany(t => t.DicomInstanceList).Select(t => new InstancePathDTO() {InstancePath= t.Path,StudyCode=t.DicomStudy.StudyCode } ).ToListAsync();
}
diff --git a/IRaCIS.Core.Domain/Image/DicomInstance.cs b/IRaCIS.Core.Domain/Image/DicomInstance.cs
index a05f3bbf0..bce1777cf 100644
--- a/IRaCIS.Core.Domain/Image/DicomInstance.cs
+++ b/IRaCIS.Core.Domain/Image/DicomInstance.cs
@@ -11,6 +11,10 @@ namespace IRaCIS.Core.Domain.Models
[ForeignKey("SeriesId")]
public DicomSeries DicomSerie { get; set; }
+ [JsonIgnore]
+ [ForeignKey("StudyId")]
+ public DicomStudy DicomStudy { get; set; }
+
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid SeqId { get; set; }