From 7aa5e843f6cf4b887be159b985d45e37e7c71615 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 24 Jun 2022 14:20:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/UploadDownLoadController.cs | 30 +++++++++++++ IRaCIS.Core.API/IRaCIS.Core.API.xml | 7 ++++ .../Helper/FileStoreHelper.cs | 21 ++++++++++ .../IRaCIS.Core.Application.xml | 40 ++++++++++++++++++ .../Service/Reading/ClinicalDataSetService.cs | 2 + .../Dto/ClinicalDataServiceViewModel.cs | 42 ++++++++++++++++++- .../Reading/ReadingClinicalDataService.cs | 1 + .../Reading/ClinicalDataSystemSet.cs | 11 ++++- .../Reading/ClinicalDataTrialSet.cs | 10 +++++ 9 files changed, 162 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs index 8c609d936..dcd3b0d0a 100644 --- a/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadDownLoadController.cs @@ -390,6 +390,36 @@ namespace IRaCIS.Core.API.Controllers } + /// + /// 上传临床数据模板 + /// + /// + /// + [HttpPost("ClinicalData/UploadClinicalTemplate/{trialId:guid}")] + [DisableRequestSizeLimit] + + public async Task>> UploadClinicalTemplate(Guid trialId=default(Guid)) + { + var filerelativePath = string.Empty; + List fileDtos = new List(); + await FileUploadAsync(async (fileName) => + { + var (serverFilePath, relativePath, fileRealName) = FileStoreHelper.GetClinicalTemplatePath(_hostEnvironment, fileName, trialId); + //插入临床pdf 路径 + filerelativePath = relativePath; + + fileDtos.Add(new FileDto() + { + FileName = fileName, + Path = relativePath + + }); + return serverFilePath; + }); + + return ResponseOutput.Ok(fileDtos); + } + /// diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml index befdd14f1..d04a542ef 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.xml +++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml @@ -192,6 +192,13 @@ + + + 上传临床数据模板 + + + + 上传阅片临床数据 diff --git a/IRaCIS.Core.Application/Helper/FileStoreHelper.cs b/IRaCIS.Core.Application/Helper/FileStoreHelper.cs index dead03be7..055907a1b 100644 --- a/IRaCIS.Core.Application/Helper/FileStoreHelper.cs +++ b/IRaCIS.Core.Application/Helper/FileStoreHelper.cs @@ -211,6 +211,27 @@ public static class FileStoreHelper } + public static (string PhysicalPath, string RelativePath, string FileRealName) GetClinicalTemplatePath(IWebHostEnvironment _hostEnvironment, string fileName,Guid trialId) + { + + var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment); + + string uploadFolderPath = Path.Combine(rootPath, StaticData.Folder.TrialDataFolder, "ClinicalTemplate", trialId.ToString(), StaticData.Folder.TreatmenthistoryFolder); + + if (!Directory.Exists(uploadFolderPath)) Directory.CreateDirectory(uploadFolderPath); + + var (trustedFileNameForFileStorage, fileRealName) = FileStoreHelper.GetStoreFileName(fileName); + + + var relativePath = $"/{StaticData.Folder.IRaCISDataFolder}/{StaticData.Folder.TrialDataFolder}/ClinicalTemplate/{trialId}/{StaticData.Folder.TreatmenthistoryFolder}/{trustedFileNameForFileStorage}"; + + var serverFilePath = Path.Combine(uploadFolderPath, trustedFileNameForFileStorage); + + return (serverFilePath, relativePath, fileRealName); + + } + + public static (string PhysicalPath, string RelativePath, string FileRealName) GetReadClinicalDataPath(IWebHostEnvironment _hostEnvironment, string fileName, Guid trialId, Guid siteId, Guid subjectId, Guid readingId) { var rootPath = FileStoreHelper.GetIRaCISRootDataFolder(_hostEnvironment); diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 19f5610d5..551e1a4e3 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -600,6 +600,16 @@ 是否勾选 + + + 模板文件名称 + + + + + 文件路径 + + 枚举 @@ -630,6 +640,16 @@ 是否启用 + + + 模板文件名称 + + + + + 文件路径 + + 名称 @@ -685,6 +705,16 @@ 是否使用 + + + 模板文件名称 + + + + + 文件路径 + + 枚举 @@ -725,6 +755,16 @@ 是否启用 + + + 模板文件名称 + + + + + 文件路径 + + 项目Id diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs index 505d5ec79..f41b305d7 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs @@ -122,6 +122,8 @@ namespace IRaCIS.Application.Services ClinicalDataLevel=x.ClinicalDataLevel, ClinicalUploadType=x.ClinicalUploadType, UploadRole=x.UploadRole, + FileName=x.FileName, + Path=x.Path, TrialId= trialId, }).ToList(); diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs index 5a6b1bb67..46a3103a1 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs @@ -51,6 +51,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// 是否勾选 /// public bool IsConfirm { get; set; } + + /// + /// 模板文件名称 + /// + public string FileName { get; set; } + + /// + /// 文件路径 + /// + public string Path { get; set; } } public class ClinicalDataSystemSetAddOrEdit @@ -89,7 +99,17 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public bool IsEnable { get; set; } - + /// + /// 模板文件名称 + /// + public string FileName { get; set; } + + /// + /// 文件路径 + /// + public string Path { get; set; } + + } @@ -161,6 +181,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// 是否使用 /// public bool IsUsed { get; set; } = false; + + /// + /// 模板文件名称 + /// + public string FileName { get; set; } + + /// + /// 文件路径 + /// + public string Path { get; set; } } @@ -210,6 +240,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public bool IsEnable { get; set; } + /// + /// 模板文件名称 + /// + public string FileName { get; set; } + + /// + /// 文件路径 + /// + public string Path { get; set; } + diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs index 359f1b2bc..41392d936 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs @@ -146,6 +146,7 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task> GetTrialClinicalDataSelect(GetTrialClinicalDataSelectIndto inDto) { + var usedIdsQuery = _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.ReadingId && x.Id != inDto.ReadingClinicalDataId).Select(x => x.ClinicalDataTrialSetId); List clinicalList = await _clinicalDataTrialSetRepository.Where(x=>x.TrialId==inDto.TrialId&&x.IsConfirm) .WhereIf(inDto.UploadRole!=null,x=>x.UploadRole==inDto.UploadRole) diff --git a/IRaCIS.Core.Domain/Reading/ClinicalDataSystemSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalDataSystemSet.cs index 0dda8fd5f..a3830141f 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalDataSystemSet.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalDataSystemSet.cs @@ -50,12 +50,21 @@ namespace IRaCIS.Core.Domain.Models /// public bool IsEnable { get; set; } - /// /// 上传角色 /// public UploadRole UploadRole { get; set; } + /// + /// 模板文件名称 + /// + public string FileName { get; set; } + + /// + /// 文件路径 + /// + public string Path { get; set; } + } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalDataTrialSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalDataTrialSet.cs index efb5d9bb8..9c0cdaa1d 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalDataTrialSet.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalDataTrialSet.cs @@ -62,6 +62,16 @@ namespace IRaCIS.Core.Domain.Models /// public UploadRole UploadRole { get; set; } + /// + /// 模板文件名称 + /// + public string FileName { get; set; } + + /// + /// 文件路径 + /// + public string Path { get; set; } + /// /// ///