diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 868b8eabd..c00af0a22 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -2476,12 +2476,22 @@ PreviousOtherQuery 列表查询参数模型 + + + 临床数据类型Id + + PreviousSurgeryView 列表视图模型 PreviousSurgeryQuery 列表查询参数模型 + + + 临床数据类型Id + + 是否是访视 diff --git a/IRaCIS.Core.Application/Service/QC/DTO/PreviousHistoryViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/PreviousHistoryViewModel.cs index de1af6bb8..00fdb7598 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/PreviousHistoryViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/PreviousHistoryViewModel.cs @@ -69,6 +69,8 @@ namespace IRaCIS.Core.Application.Contracts public Guid CreateUserId { get; set; } + public Guid ClinicalDataTrialSetId { get; set; } + public string FullFilePath => Path; @@ -97,6 +99,8 @@ namespace IRaCIS.Core.Application.Contracts public string Path { get; set; } = String.Empty; public string FileName { get; set; } = String.Empty; public string Position { get; set; } = String.Empty; + + public Guid ClinicalDataTrialSetId { get; set; } //public Guid SubjectId { get; set; } } diff --git a/IRaCIS.Core.Application/Service/QC/DTO/PreviousOtherViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/PreviousOtherViewModel.cs index a57697c3c..3c3532748 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/PreviousOtherViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/PreviousOtherViewModel.cs @@ -24,6 +24,8 @@ namespace IRaCIS.Core.Application.Contracts //public Guid SubjectId { get; set; } public Guid CreateUserId { get; set; } + public Guid ClinicalDataTrialSetId { get; set; } + public string FullFilePath => Path; } @@ -48,6 +50,12 @@ namespace IRaCIS.Core.Application.Contracts public string Path { get; set; }=String.Empty; public string FileName { get; set; } = String.Empty; public string TreatmentType { get; set; } = String.Empty; + + + /// + /// 临床数据类型Id + /// + public Guid ClinicalDataTrialSetId { get; set; } //public Guid SubjectId { get; set; } } diff --git a/IRaCIS.Core.Application/Service/QC/DTO/PreviousSurgeryViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/PreviousSurgeryViewModel.cs index 2a7f39643..568418849 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/PreviousSurgeryViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/PreviousSurgeryViewModel.cs @@ -22,6 +22,8 @@ namespace IRaCIS.Core.Application.Contracts //public Guid SubjectId { get; set; } public Guid CreateUserId { get; set; } + public Guid ClinicalDataTrialSetId { get; set; } + public string FullFilePath => Path; } @@ -43,6 +45,12 @@ namespace IRaCIS.Core.Application.Contracts public string Path { get; set; } = String.Empty; public string FileName { get; set; } = String.Empty; public string OperationName { get; set; } = string.Empty; + + + /// + /// 临床数据类型Id + /// + public Guid ClinicalDataTrialSetId { get; set; } //public Guid SubjectId { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index 2d7bc4930..589486076 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -1,4 +1,5 @@ -using IRaCIS.Core.Domain.Share; +using IRaCIS.Core.Application.Contracts; +using IRaCIS.Core.Domain.Share; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; @@ -72,6 +73,12 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string ClinicalDataSetName { get; set; } + + /// + /// 上传方式 + /// + public ClinicalUploadType ClinicalUploadType { get; set; } + /// /// 模板文件名称 /// @@ -83,6 +90,20 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string Path { get; set; } public List ReadingClinicalDataList { get; set; } + + public ClinicalDataTable ClinicalTableData { get; set; } + } + + + public class ClinicalDataTable + { + public List PreviousHistoryList { get; set; } + + public List PreviousOtherList { get; set; } + + public List PreviousSurgeryList{ get; set; } + + } diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs index 919b1a680..20dc06817 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs @@ -28,12 +28,18 @@ namespace IRaCIS.Application.Services private readonly IRepository _previousPDFRepository; private readonly IRepository _subjectVisitRepository; + private readonly IRepository _previousHistoryRepository; + private readonly IRepository _previousOtherRepository; + private readonly IRepository _previousSurgeryRepository; private readonly IRepository _readingClinicalDataPDFRepository; public ReadingClinicalDataService(IRepository readingClinicalDataRepository, IRepository clinicalDataTrialSetRepository, IRepository previousPDFRepository, - IRepository subjectVisitRepository, + IRepository subjectVisitRepository, + IRepository previousHistoryRepository, + IRepository previousOtherRepository, + IRepository previousSurgeryRepository, IRepository readingClinicalDataPDFRepository ) { @@ -41,6 +47,9 @@ namespace IRaCIS.Application.Services this._clinicalDataTrialSetRepository = clinicalDataTrialSetRepository; this._previousPDFRepository = previousPDFRepository; this._subjectVisitRepository = subjectVisitRepository; + this._previousHistoryRepository = previousHistoryRepository; + this._previousOtherRepository = previousOtherRepository; + this._previousSurgeryRepository = previousSurgeryRepository; this._readingClinicalDataPDFRepository = readingClinicalDataPDFRepository; } @@ -124,6 +133,7 @@ namespace IRaCIS.Application.Services .Select(x => new GetCRCClinicalDataOutDto() { ClinicalDataSetName = x.ClinicalDataSetName, + ClinicalUploadType=x.ClinicalUploadType, ClinicalDataTrialSetId = x.Id, FileName=x.FileName, Path=x.Path, @@ -138,10 +148,23 @@ namespace IRaCIS.Application.Services }); - cRCClinicalDataList.ForEach(x => + var previousHistoryList = await _previousHistoryRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var previousOtherList = await _previousOtherRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + var previousSurgeryList = await _previousSurgeryRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + + foreach (var item in cRCClinicalDataList) { - x.ReadingClinicalDataList = clinicalData.CurrentPageData.Where(y => y.ClinicalDataTrialSetId == x.ClinicalDataTrialSetId).ToList(); - }); + item.ReadingClinicalDataList = clinicalData.CurrentPageData.Where(y => y.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(); + item.ClinicalTableData = new ClinicalDataTable() + { + PreviousHistoryList = previousHistoryList.Where(x => x.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(), + PreviousOtherList = previousOtherList.Where(x => x.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(), + PreviousSurgeryList = previousSurgeryList.Where(x => x.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(), + }; + + } + + return cRCClinicalDataList; diff --git a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousHistory.cs b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousHistory.cs index b35626de6..a89108e35 100644 --- a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousHistory.cs +++ b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousHistory.cs @@ -80,6 +80,13 @@ namespace IRaCIS.Core.Domain.Models public string Position { get; set; } = String.Empty; + /// + /// 临床数据类型Id + /// + [Required] + public Guid ClinicalDataTrialSetId { get; set; } + + //[Required] //public Guid SubjectId { get; set; } } diff --git a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousOther.cs b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousOther.cs index 04e33a0b4..ebc99613a 100644 --- a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousOther.cs +++ b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousOther.cs @@ -81,6 +81,12 @@ namespace IRaCIS.Core.Domain.Models [Required] public string TreatmentType { get; set; } = String.Empty; + /// + /// 临床数据类型Id + /// + [Required] + public Guid ClinicalDataTrialSetId { get; set; } + //public Guid SubjectId { get; set; } diff --git a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousSurgery.cs b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousSurgery.cs index db4ba9cc3..a8c30982e 100644 --- a/IRaCIS.Core.Domain/QC/ClinicalData/PreviousSurgery.cs +++ b/IRaCIS.Core.Domain/QC/ClinicalData/PreviousSurgery.cs @@ -71,6 +71,12 @@ namespace IRaCIS.Core.Domain.Models public string OperationName { get; set; } = String.Empty; + /// + /// 临床数据类型Id + /// + [Required] + public Guid ClinicalDataTrialSetId { get; set; } + //[Required] //public Guid SubjectId { get; set; }