diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index 89e4f3774..18f0e24d7 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -302,6 +302,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public bool IsVisit { get; set; } + /// + /// 是否是基线 + /// + public bool IsBaseLine { get; set; } + } public class GetTrialClinicalDataSelectOutDto diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs index 954a5f2b7..18e2ab898 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingClinicalDataService.cs @@ -151,9 +151,9 @@ namespace IRaCIS.Application.Services var usedIdsQuery = _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.ReadingId && x.Id != inDto.ReadingClinicalDataId).Select(x => x.ClinicalDataTrialSetId); List clinicalList = await _clinicalDataTrialSetRepository.Where(x=>x.TrialId==inDto.TrialId&&x.IsConfirm&&x.ClinicalDataSetName!= "既往局部治疗史") .Where(x=> !usedIdsQuery.Contains(x.Id)) - .WhereIf(inDto.IsVisit,x=>x.ClinicalDataLevel == ClinicalLevel.Subject||x.ClinicalDataLevel== ClinicalLevel.SubjectVisit) - .WhereIf(inDto.IsVisit, x => x.ClinicalDataLevel == ClinicalLevel.Subject || x.ClinicalDataLevel == ClinicalLevel.Read) - + .WhereIf(inDto.IsVisit&&inDto.IsBaseLine,x=>x.ClinicalDataLevel == ClinicalLevel.Subject||x.ClinicalDataLevel== ClinicalLevel.SubjectVisit) + .WhereIf(inDto.IsVisit&&! inDto.IsBaseLine, x => x.ClinicalDataLevel == ClinicalLevel.SubjectVisit) + .WhereIf(!inDto.IsVisit, x => x.ClinicalDataLevel == ClinicalLevel.Read) .Select(x => new GetTrialClinicalDataSelectOutDto() { ClinicalDataLevel = x.ClinicalDataLevel,