From a7042ba8a693202359872dbdb194f5b37a7c42cd Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 10 Jul 2023 14:46:23 +0800 Subject: [PATCH] S-36 --- .../ReadingClinicalDataService.cs | 7 ++++- .../Reading/Dto/ReadingClinicalDataDto.cs | 6 +++-- .../ClinicalData/ReadingClinicalData.cs | 8 +++++- .../ClinicalQuestionAnswer/ClinicalForm.cs | 6 ++++- .../ClinicalFromConfigration.cs | 27 +++++++++++++++++++ 5 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 IRaCIS.Core.Infra.EFCore/EntityConfigration/ClinicalFromConfigration.cs diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index bcfedcfd5..28ec4830b 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -203,13 +203,18 @@ namespace IRaCIS.Application.Services Path = x.ClinicalDataTrialSet.Path, IsBlind = x.IsBlind, IsComplete = x.IsComplete, + ClinicalFromList=x.ClinicalFormList.Select(y=> new ClinicalFromData() { + CheckDate=y.CheckDate, + ClinicalFormId=y.Id + }).ToList(), PDFFileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto() { Id = y.Id, FileName = y.FileName, Path = y.Path, CreateTime = y.CreateTime, - }).ToList() + }).ToList(), + }).ToListAsync(); List clinicalData = (await this.GetReadingClinicalDataList(new GetReadingClinicalDataListIndto() diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index fa2660ab5..a03e15f41 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -113,9 +113,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public bool? IsComplete { get; set; } - //public List ReadingClinicalDataList { get; set; } + public List ClinicalFromList { get; set; } - public List PDFFileList { get; set; } = new List(); + //public List ReadingClinicalDataList { get; set; } + + public List PDFFileList { get; set; } = new List(); public ClinicalDataTable ClinicalTableData { get; set; } } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs index db9e8f70a..ce3380c9b 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ReadingClinicalData.cs @@ -96,8 +96,14 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public List ReadingClinicalDataPDFList { get; set; } + /// + /// 临床数据表单 + /// + [JsonIgnore] + public List ClinicalFormList { get; set; } - } + + } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs index 1d052b9f9..294097af3 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalQuestionAnswer/ClinicalForm.cs @@ -54,6 +54,10 @@ namespace IRaCIS.Core.Domain.Models [ForeignKey("ClinicalDataTrialSetId")] public ClinicalDataTrialSet ClinicalDataTrialSet { get; set; } - } + [JsonIgnore] + + public ReadingClinicalData ReadingClinicalData { get; set; } + + } } diff --git a/IRaCIS.Core.Infra.EFCore/EntityConfigration/ClinicalFromConfigration.cs b/IRaCIS.Core.Infra.EFCore/EntityConfigration/ClinicalFromConfigration.cs new file mode 100644 index 000000000..e8c5b5d15 --- /dev/null +++ b/IRaCIS.Core.Infra.EFCore/EntityConfigration/ClinicalFromConfigration.cs @@ -0,0 +1,27 @@ +using IRaCIS.Core.Domain.Models; +using Microsoft.EntityFrameworkCore.Metadata.Builders; +using Microsoft.EntityFrameworkCore; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace IRaCIS.Core.Infra.EFCore.EntityConfigration +{ + public class ClinicalFromConfigration : IEntityTypeConfiguration + { + + + public void Configure(EntityTypeBuilder builder) + { + builder + .HasOne(s => s.ReadingClinicalData) + .WithMany(c => c.ClinicalFormList) + .HasForeignKey(s => new { s.SubjectId, s.ReadingId }) + .HasPrincipalKey(c => new { c.Subject, c.ReadingId }); + } + + + } +}