diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs index ca1f9af96..67f17a800 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ClinicalAnswerService.cs @@ -178,18 +178,14 @@ namespace IRaCIS.Core.Application.Service /// /// [HttpPost] - public async Task> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto) + public async Task> GetCRCSubjectClinicalList(GetCRCSubjectClinicalInDto inDto) { //await AutoAddCRCClinical(new AutoAddClinicalInDto() //{ - // TrialId = inDto.TrialId //}) ; - - - var subjects = await _subjectRepository.Where(x => x.TrialId == inDto.TrialId).Select(x => new GetCRCSubjectClinicalResultDto() { SubjectId = x.Id, @@ -197,7 +193,7 @@ namespace IRaCIS.Core.Application.Service }).ToListAsync(); - var clinicalData=await _readingClinicalDataRepository.Where(x=>x.TrialId == inDto.TrialId&&x.ClinicalDataTrialSet.UploadRole==UploadRole.CRC&&x.ClinicalDataTrialSet.ClinicalDataLevel!= ClinicalLevel.SubjectVisit) + var clinicalData= _readingClinicalDataRepository.Where(x=>x.TrialId == inDto.TrialId&&x.ClinicalDataTrialSet.UploadRole==UploadRole.CRC&&x.ClinicalDataTrialSet.ClinicalDataLevel!= ClinicalLevel.SubjectVisit) .Where(x=>!x.IsSign) .Include(x=>x.ClinicalDataTrialSet).Select(x=>new GetCRCSubjectClinicalOutDto() { SubjectId=x.SubjectId, @@ -206,24 +202,20 @@ namespace IRaCIS.Core.Application.Service ClinicalDataTrialSetId = x.ClinicalDataTrialSet.Id, ClinicalDataSetEnName= x.ClinicalDataTrialSet.ClinicalDataSetEnName, ClinicalDataSetName = x.ClinicalDataTrialSet.ClinicalDataSetName, - }).OrderBy(x=>x.SubjectCode).ToListAsync(); + }); - // 一次查询报错 分两次写 - clinicalData.ForEach(x => + var pageList = await clinicalData.ToPagedListAsync(inDto.PageIndex, inDto.PageSize, string.IsNullOrWhiteSpace(inDto.SortField) ? nameof(GetCRCSubjectClinicalOutDto.SubjectCode) : inDto.SortField, inDto.Asc); + // 一次查询报错 分两次写 + pageList.CurrentPageData.ForEach(x => { x.ClinicalDataSetEnName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us); - }); - - var clinicalFormData = await _clinicalFormRepository.Where(x => x.TrialId == inDto.TrialId).ToListAsync(); - clinicalData.ForEach(n => + pageList.CurrentPageData.ForEach(n => { n.ClinicalCount = clinicalFormData.Where(y => y.ClinicalDataTrialSetId == n.ClinicalDataTrialSetId && y.SubjectId == n.SubjectId).Count(); }); - - - return clinicalData; + return pageList; } /// diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs index b22cacbfd..ec8eceddd 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ClinicalAnswerDto.cs @@ -18,7 +18,7 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto } - public class GetCRCSubjectClinicalInDto + public class GetCRCSubjectClinicalInDto:PageInput { public Guid TrialId { get; set; } }