From a6fcf3421c609593c5118bf2edd43b4de4825f61 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Tue, 11 Jul 2023 11:49:48 +0800 Subject: [PATCH] S-40 --- .../ClinicalData/ReadingClinicalDataService.cs | 7 ++++++- .../Service/Reading/Dto/ReadingClinicalDataDto.cs | 15 ++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 900d57eff..05dbab942 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -691,6 +691,7 @@ namespace IRaCIS.Application.Services var setIds = moduleCriterionFromList.Select(x=>x.ClinicalDataTrialSetId).Distinct().ToList(); var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead)) .Where(x => setIds.Contains(x.Id)) + .Select(x => new GetReadingClinicalDataListOutDto() { @@ -794,6 +795,7 @@ namespace IRaCIS.Application.Services { var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId) .Where(x => x.ReadingId == inDto.ReadingId) + .WhereIf(inDto.ClinicalDataTrialSetId!=null, x=>x.ClinicalDataTrialSetId==inDto.TrialReadingCriterionId) .Where(x => x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t=>t.TrialReadingCriterionId==inDto.TrialReadingCriterionId)) .Select(x => new GetReadingClinicalDataListOutDto() { @@ -831,7 +833,10 @@ namespace IRaCIS.Application.Services .FirstOrDefaultAsync(); if (readModule != null) { - var moduleCriterionFromList = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id).Select(x => new { + var moduleCriterionFromList = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id) + + .WhereIf(inDto.ClinicalDataTrialSetId != null, x => x.ClinicalForm.ClinicalDataTrialSetId == inDto.TrialReadingCriterionId) + .Select(x => new { ClinicalFormId = x.ClinicalFormId, CheckDate = x.ClinicalForm.CheckDate, ClinicalDataTrialSetId = x.ClinicalForm.ClinicalDataTrialSetId diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index 6825d0851..c20cff244 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -213,11 +213,16 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid SubjectId { get; set; } [NotDefault] public Guid ReadingId { get; set; } - - /// - /// 1 PM上传的所有的 2CRC上传的所有已确认的 3 所有已经签名的 - /// - public GetClinicalType? GetClinicalType { get; set; } + + /// + /// 临床数据类型Id + /// + public Guid? ClinicalDataTrialSetId { get; set; } + + /// + /// 1 PM上传的所有的 2CRC上传的所有已确认的 3 所有已经签名的 + /// + public GetClinicalType? GetClinicalType { get; set; } [NotDefault] public Guid TrialReadingCriterionId { get; set; }