IRC_NewDev
he 2024-03-26 14:57:06 +08:00
parent ed4192838d
commit ce8e0e3972
2 changed files with 15 additions and 8 deletions

View File

@ -18,6 +18,7 @@ namespace IRaCIS.Application.Services
public IRepository<SubjectVisit> _subjectVisitRepository; public IRepository<SubjectVisit> _subjectVisitRepository;
private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository; private readonly IRepository<ClinicalDataTrialSet> _clinicalDataTrialSetRepository;
private readonly IRepository<ReadingQuestionCriterionTrial> _iReadingQuestionCriterionTrialRepository;
private readonly IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository; private readonly IRepository<ClinicalDataSystemSet> _clinicalDataSystemSetRepository;
private readonly IRepository<PreviousPDF> _previousPDFRepository; private readonly IRepository<PreviousPDF> _previousPDFRepository;
private readonly IRepository<Dictionary> _dictionaryRepository; private readonly IRepository<Dictionary> _dictionaryRepository;
@ -29,6 +30,7 @@ namespace IRaCIS.Application.Services
public ClinicalDataSetService(IRepository<SubjectVisit> subjectVisitRepository, public ClinicalDataSetService(IRepository<SubjectVisit> subjectVisitRepository,
IClinicalQuestionService iClinicalQuestionService, IClinicalQuestionService iClinicalQuestionService,
IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository, IRepository<ClinicalDataTrialSet> ClinicalDataTrialSetRepository,
IRepository<ReadingQuestionCriterionTrial> iReadingQuestionCriterionTrialRepository,
IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository, IRepository<ClinicalDataSystemSet> ClinicalDataSystemSetRepository,
IRepository<PreviousPDF> previousPDFRepository, IRepository<PreviousPDF> previousPDFRepository,
IRepository<Dictionary> dictionaryRepository, IRepository<Dictionary> dictionaryRepository,
@ -45,6 +47,7 @@ namespace IRaCIS.Application.Services
_trialClinicalQuestionRepository = trialClinicalQuestionRepository; _trialClinicalQuestionRepository = trialClinicalQuestionRepository;
_systemClinicalQuestionRepository = systemClinicalQuestionRepository; _systemClinicalQuestionRepository = systemClinicalQuestionRepository;
_clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; _clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository;
this._iReadingQuestionCriterionTrialRepository = iReadingQuestionCriterionTrialRepository;
_clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; _clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository;
this._previousPDFRepository = previousPDFRepository; this._previousPDFRepository = previousPDFRepository;
this._dictionaryRepository = dictionaryRepository; this._dictionaryRepository = dictionaryRepository;
@ -271,11 +274,15 @@ namespace IRaCIS.Application.Services
public async Task<List<ClinicalDataTrialSetView>> GetTrialClinicalDataTrialSetList(GetTrialClinicalDataTrialIndto inDto) public async Task<List<ClinicalDataTrialSetView>> GetTrialClinicalDataTrialSetList(GetTrialClinicalDataTrialIndto inDto)
{ {
await this.AddTrialClinicalDataTrialSet(inDto.TrialId); await this.AddTrialClinicalDataTrialSet(inDto.TrialId);
List<int> criterionTypes = new List<int>();
if (inDto.CriterionIds != null)
{
criterionTypes =( await _iReadingQuestionCriterionTrialRepository.Where(x => inDto.CriterionIds.Contains(x.Id)).Select(x => x.CriterionType).ToListAsync())
.Select(x=>(int)x).ToList();
}
var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable() var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable()
.Where(x => x.TrialId == inDto.TrialId) .Where(x => x.TrialId == inDto.TrialId)
.WhereIf(inDto.CriterionTypes!=null,x=>x.IsConfirm||x.SystemClinicalDataSetId==null||inDto.CriterionTypes.Intersect(x.CriterionEnumList).Count()>0) .WhereIf(inDto.CriterionIds != null,x=>x.IsConfirm||x.SystemClinicalDataSetId==null|| criterionTypes.Intersect(x.CriterionEnumList).Count()>0)
.WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel) .WhereIf(inDto.ClinicalDataLevel != null, x => x.ClinicalDataLevel == inDto.ClinicalDataLevel)
.WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) .WhereIf(inDto.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType)
.WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName))

View File

@ -312,7 +312,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto
/// </summary> /// </summary>
public ClinicalUploadType? ClinicalUploadType { get; set; } public ClinicalUploadType? ClinicalUploadType { get; set; }
public List<int>? CriterionTypes { get; set; } public List<Guid>? CriterionIds { get; set; }
} }