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; }
+
///
///
///