diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
index 1e8101f2f..fb0545434 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialConfigDTO.cs
@@ -376,10 +376,24 @@ namespace IRaCIS.Core.Application.Contracts
public string SignCode { get; set; } = string.Empty;
}
+ public class KeyFile
+ {
+ ///
+ /// 文件名称
+ ///
+ public string FileName { get; set; } = string.Empty;
+
+ ///
+ /// 文件路径
+ ///
+ public string FilePath { get; set; } = string.Empty;
+ }
public class GetTrialReadingInfoOutDto
{
public ReadingVersion ReadingVersionEnum { get; set; }
+ public List KeyFileList { get; set; }
+
///
/// 阅片工具
///
@@ -915,6 +929,8 @@ namespace IRaCIS.Core.Application.Contracts
{
public List ReadingToolList { get; set; } = new List() { };
+ public List KeyFileList { get; set; }=new List() { };
+
public bool IsImageFilter { get; set; }
public string CriterionModalitys { get; set; }
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
index f650253da..b976f6291 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialConfigService.cs
@@ -31,7 +31,6 @@ namespace IRaCIS.Core.Application
IRepository _readingQuestionCriterionSystemRepository,
IRepository _clinicalDataTrialSetRepository,
IRepository _readingCriterionPageRepository,
-
IRepository _systemCriterionKeyFileRepository,
IOSSService oSSService,
IRepository _trialCriterionKeyFileRepository,
@@ -656,6 +655,22 @@ namespace IRaCIS.Core.Application
});
+ List keyFileList = new List();
+ await _trialCriterionKeyFileRepository.BatchDeleteNoTrackingAsync(t => t.TrialCriterionId == inDto.TrialReadingCriterionId);
+ if (inDto.KeyFileList != null && inDto.KeyFileList.Count > 0)
+ {
+ foreach (var keyFile in inDto.KeyFileList)
+ {
+ keyFileList.Add(new TrialCriterionKeyFile()
+ {
+ TrialCriterionId = inDto.TrialReadingCriterionId,
+ FileName = keyFile.FileName,
+ FilePath = keyFile.FilePath
+ });
+ }
+ await _trialCriterionKeyFileRepository.AddRangeAsync(keyFileList);
+ }
+
//判断是否存在附加评估
if (inDto.IsAdditionalAssessment)
{
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
index 6c81f90aa..babb7bfd2 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs
@@ -235,9 +235,10 @@ namespace IRaCIS.Core.Application.Service
.ForMember(t => t.TrialUserList, u => u.Ignore());
-
+ CreateMap();
CreateMap()
+ .ForMember(t => t.KeyFileList, u => u.MapFrom(c => c.KeyFileList))
.ForMember(t => t.TrialModalitys, u => u.MapFrom(c => c.Trial.Modalitys))
.ForMember(t => t.TrialReadingCriterionId, u => u.MapFrom(c => c.Id))
.ForMember(t => t.TrialReadingCriterionName, u => u.MapFrom(c => c.CriterionName));
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionTrial.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionTrial.cs
index 04f5ef2c3..a7eeb770e 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionTrial.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/ReadingQuestionCriterionTrial.cs
@@ -17,6 +17,10 @@ public class ReadingQuestionCriterionTrial : BaseAddAuditEntity
[JsonIgnore]
+ public List KeyFileList = new List();
+
+ [JsonIgnore]
+
public List TrialCriterionAdditionalAssessmentTypeList { get; set; } = new List();
[JsonIgnore]
diff --git a/IRaCIS.Core.Domain/Reading/ReadingCriterion/TrialCriterionKeyFile.cs b/IRaCIS.Core.Domain/Reading/ReadingCriterion/TrialCriterionKeyFile.cs
index 2cf732a2d..5352d3cc2 100644
--- a/IRaCIS.Core.Domain/Reading/ReadingCriterion/TrialCriterionKeyFile.cs
+++ b/IRaCIS.Core.Domain/Reading/ReadingCriterion/TrialCriterionKeyFile.cs
@@ -6,13 +6,20 @@ namespace IRaCIS.Core.Domain.Models;
[Table("TrialCriterionKeyFile")]
public class TrialCriterionKeyFile : BaseAddAuditEntity
{
+
+ #region 导航属性
+ [ForeignKey("TrialCriterionId")]
+ [JsonIgnore]
+ public ReadingQuestionCriterionTrial TrialReadingCriterion { get; set; }
+ #endregion
+
///
/// 姓名标准Id
///
public Guid TrialCriterionId { get; set; }
///
- /// 问价名称
+ /// 文件名称
///
public string FileName { get; set; } = string.Empty;