From d900c368e22dd649670bb7e010602a8c558f3022 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Mon, 25 Mar 2024 17:52:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Allocation/TaskMedicalReviewService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs index 3832948ec..4ba6e48ed 100644 --- a/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/TaskMedicalReviewService.cs @@ -230,7 +230,7 @@ namespace IRaCIS.Core.Application.Service .WhereIf(inQuery.IsInvalid != null, t => t.IsInvalid == inQuery.IsInvalid) .WhereIf(inQuery.IsGetBeRead,x=>!x.IsInvalid&&x.AuditState!= MedicalReviewAuditState.HaveSigned) .WhereIf(inQuery.TrialReadingCriterionId != null, t => t.VisitTask.TrialReadingCriterionId == inQuery.TrialReadingCriterionId) - .OrderBy(x => x.AuditState!= MedicalReviewAuditState.WaitAudit&& x.AuditState != MedicalReviewAuditState.Auditing).ThenBy(x=>x.VisitTask.SubjectId).ThenBy(x=>x.VisitTask.ArmEnum).ThenBy(x=>x.VisitTask.VisitTaskNum) + .OrderBy(x=>x.VisitTask.SubjectId).ThenBy(x=>x.VisitTask.ArmEnum).ThenBy(x=>x.VisitTask.VisitTaskNum) .ProjectTo(_mapper.ConfigurationProvider); From ce8e0e397289e8e75430d9235a18f9aa01d760d4 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 26 Mar 2024 14:57:06 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ClinicalData/ClinicalDataSetService.cs | 21 ++++++++++++------- .../Dto/ClinicalDataServiceViewModel.cs | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs index 799f3126f..45ef36335 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalDataSetService.cs @@ -18,7 +18,8 @@ namespace IRaCIS.Application.Services public IRepository _subjectVisitRepository; private readonly IRepository _clinicalDataTrialSetRepository; - private readonly IRepository _clinicalDataSystemSetRepository; + private readonly IRepository _iReadingQuestionCriterionTrialRepository; + private readonly IRepository _clinicalDataSystemSetRepository; private readonly IRepository _previousPDFRepository; private readonly IRepository _dictionaryRepository; private readonly IRepository _trialRepository; @@ -29,7 +30,8 @@ namespace IRaCIS.Application.Services public ClinicalDataSetService(IRepository subjectVisitRepository, IClinicalQuestionService iClinicalQuestionService, IRepository ClinicalDataTrialSetRepository, - IRepository ClinicalDataSystemSetRepository, + IRepository iReadingQuestionCriterionTrialRepository, + IRepository ClinicalDataSystemSetRepository, IRepository previousPDFRepository, IRepository dictionaryRepository, IRepository trialClinicalQuestionRepository, @@ -45,7 +47,8 @@ namespace IRaCIS.Application.Services _trialClinicalQuestionRepository = trialClinicalQuestionRepository; _systemClinicalQuestionRepository = systemClinicalQuestionRepository; _clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository; - _clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; + this._iReadingQuestionCriterionTrialRepository = iReadingQuestionCriterionTrialRepository; + _clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository; this._previousPDFRepository = previousPDFRepository; this._dictionaryRepository = dictionaryRepository; this._trialRepository = trialRepository; @@ -271,11 +274,15 @@ namespace IRaCIS.Application.Services public async Task> GetTrialClinicalDataTrialSetList(GetTrialClinicalDataTrialIndto inDto) { await this.AddTrialClinicalDataTrialSet(inDto.TrialId); - - - var trialClinicalDataList = await _clinicalDataTrialSetRepository.AsQueryable() + List criterionTypes = new List(); + 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() .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.ClinicalUploadType != null, x => x.ClinicalUploadType == inDto.ClinicalUploadType) .WhereIf(inDto.ClinicalDataSetName != String.Empty, x => x.ClinicalDataSetName.Contains(inDto.ClinicalDataSetName)) diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs index 4be0b57d8..5f67adb1f 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalDataServiceViewModel.cs @@ -312,7 +312,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public ClinicalUploadType? ClinicalUploadType { get; set; } - public List? CriterionTypes { get; set; } + public List? CriterionIds { get; set; } }