diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index fd1a057a7..f6997c25a 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1825,6 +1825,11 @@ 父问题ID + + + 数据列 + + 类型值 diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs index cb4bfa541..edb4f6b54 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalDataSetService.cs @@ -115,7 +115,6 @@ namespace IRaCIS.Application.Services .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); return trialClinicalDataList; - } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs index 6a5e68f69..4d9116e15 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs @@ -217,10 +217,15 @@ namespace IRaCIS.Core.Application.ViewModel public class OrganInfoQuery { + ///// + ///// 病灶类型 + ///// + //public OrganType? OrganType { get; set; } + /// /// 病灶类型 /// - public OrganType? OrganType { get; set; } + public LesionType? LesionType { get; set; } public Guid SystemCriterionId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs index 70a3c8ee8..e35f5468d 100644 --- a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs +++ b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs @@ -11,6 +11,7 @@ using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Infra.EFCore.Common; using MassTransit; using IRaCIS.Core.Infrastructure; +using IRaCIS.Core.Domain.Share; namespace IRaCIS.Core.Application.Service { @@ -30,6 +31,7 @@ namespace IRaCIS.Core.Application.Service public OrganInfoService( IRepository organInfoRepository, IRepository dictionaryRepository, + IRepository organTrialInfoRepository, IRepository readingQuestionCriterionTrial, IRepository criterionNidusRepository @@ -120,9 +122,19 @@ namespace IRaCIS.Core.Application.Service [HttpPost] public async Task> GetOrganInfoList(OrganInfoQuery inQuery) { + + + List organs = new List(); + + if (inQuery.LesionType != null) + { + organs =await _criterionNidusRepository.Where(x => x.CriterionId == inQuery.SystemCriterionId && x.LesionType == inQuery.LesionType) + .Select(x => x.OrganType).ToListAsync(); + } + var organInfoQueryable = _organInfoRepository .Where(x=>x.SystemCriterionId==inQuery.SystemCriterionId) - .WhereIf(inQuery.OrganType != null, x => x.OrganType == inQuery.OrganType) + .WhereIf(inQuery.LesionType != null, x => organs.Contains(x.OrganType)) .ProjectTo(_mapper.ConfigurationProvider); return await organInfoQueryable.ToListAsync(); } diff --git a/IRaCIS.Core.Domain/Reading/CriterionLesion.cs b/IRaCIS.Core.Domain/Reading/CriterionNidus.cs similarity index 100% rename from IRaCIS.Core.Domain/Reading/CriterionLesion.cs rename to IRaCIS.Core.Domain/Reading/CriterionNidus.cs