diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs index d9fef6059..3305e04d3 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs @@ -8,6 +8,7 @@ using IRaCIS.Core.Infrastructure; using System.Linq; using System.Linq.Expressions; using System; +using MathNet.Numerics.Optimization.LineSearch; namespace IRaCIS.Application.Services { @@ -281,11 +282,12 @@ namespace IRaCIS.Application.Services if (inDto.CriterionIds != null) { - - predicate = x => x.IsConfirm || x.SystemClinicalDataSetId == null; - foreach (var item in inDto.CriterionIds) + List criterionTypes = (await _iReadingQuestionCriterionTrialRepository.Where(x => inDto.CriterionIds.Contains(x.Id)).Select(x => x.CriterionType).ToListAsync()) + .Select(x => ((int)x).ToString()).ToList(); + predicate = x => x.IsConfirm || x.SystemClinicalDataSetId == null; + foreach (var item in criterionTypes) { - Expression> typeExpression = x => x.TrialClinicalDataSetCriteriaList.Any(x=>x.TrialReadingCriterionId== item); + Expression> typeExpression = x =>x.ClinicalDataSystemSet==null|| x.ClinicalDataSystemSet.CriterionEnumListStr.Contains(item); predicate = predicate.Or(typeExpression); } diff --git a/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs index 4eb814256..c358e751c 100644 --- a/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs +++ b/IRaCIS.Core.Domain/Reading/ClinicalData/ClinicalDataTrialSet.cs @@ -48,10 +48,15 @@ namespace IRaCIS.Core.Domain.Models /// public Guid? SystemClinicalDataSetId { get; set; } - /// - /// 创建时间 - /// - public DateTime CreateTime { get; set; } + /// + /// 系统的ClinicalDataSet + /// + public ClinicalDataSystemSet? ClinicalDataSystemSet { get; set; } + + /// + /// 创建时间 + /// + public DateTime CreateTime { get; set; } /// /// 创建人