From 2d681ce6bccd5f9244bb7c79469dc310443f22e1 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 12 Nov 2025 16:19:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/TrialSiteUser/DTO/TrialConfigDTO.cs | 16 ++++++++++++++++ .../Service/TrialSiteUser/TrialConfigService.cs | 17 ++++++++++++++++- .../Service/TrialSiteUser/_MapConfig.cs | 3 ++- .../ReadingQuestionCriterionTrial.cs | 4 ++++ .../ReadingCriterion/TrialCriterionKeyFile.cs | 9 ++++++++- 5 files changed, 46 insertions(+), 3 deletions(-) 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;