From 64b2b7850f94e2eb2b45cbc7f3a2756becbdc043 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Mon, 10 Jul 2023 16:50:46 +0800 Subject: [PATCH] S-38 --- .../ReadingClinicalDataService.cs | 48 ++++++++----------- .../Reading/Dto/ReadingClinicalDataDto.cs | 9 ++-- 2 files changed, 26 insertions(+), 31 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index 28ec4830b..b0d80ad4d 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -181,12 +181,6 @@ namespace IRaCIS.Application.Services [HttpPost] public async Task> GetCRCClinicalData(GetCRCClinicalDataInDto inDto) { - //if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator) - //{ - // await this.AddCRCClinicalData(inDto); - //} - - List cRCClinicalDataList = await _readingClinicalDataRepository.Where(x => x.ReadingId == inDto.SubjectVisitId) .WhereIf(inDto.IsBaseline, x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject || x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit) .WhereIf(!inDto.IsBaseline, x => x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.SubjectVisit) @@ -217,20 +211,12 @@ namespace IRaCIS.Application.Services }).ToListAsync(); - List clinicalData = (await this.GetReadingClinicalDataList(new GetReadingClinicalDataListIndto() - { - SubjectId = inDto.SubjectId, - ReadingId = inDto.SubjectVisitId, - TrialId = inDto.TrialId, - })).Item1; - var previousHistoryList = await _previousHistoryRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); var previousOtherList = await _previousOtherRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); var previousSurgeryList = await _previousSurgeryRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); foreach (var item in cRCClinicalDataList) { - //item.PDFFileList = clinicalData.Where(y => y.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).SelectMany(x => x.FileList).ToList(); item.ClinicalTableData = new ClinicalDataTable() { PreviousHistoryList = previousHistoryList.Where(x => x.ClinicalDataTrialSetId == item.ClinicalDataTrialSetId).ToList(), @@ -613,10 +599,6 @@ namespace IRaCIS.Application.Services var clinicalDataList = await this.GetTrialClinicalDataSelect(getTrialClinicalDataSelectIndto); - if (_userInfo.UserTypeEnumInt == (int)UserTypeEnum.ClinicalResearchCoordinator || _userInfo.UserTypeEnumInt == (int)UserTypeEnum.IQC) - { - inDto.UploadRole = UploadRole.CRC; - } var isBaseLine = await _subjectVisitRepository.AnyAsync(x => x.Id == inDto.ReadingId && x.IsBaseLine); @@ -793,14 +775,8 @@ namespace IRaCIS.Application.Services [NonDynamicMethod] public async Task> GetReadingClinicalList(GetReadingClinicalDataListIndto inDto) { - - //var criterionType = await _readingQuestionCriterionTrialRepository.Where(x => x.Id == inDto.TrialReadingCriterionId).Select(x => x.CriterionType).FirstNotNullAsync(); - - var resultQuery = _readingClinicalDataRepository.Where(x => x.SubjectId == inDto.SubjectId) - .Where(x => x.ReadingId == inDto.ReadingId || (x.SubjectId == inDto.SubjectId && x.ClinicalDataTrialSet.ClinicalDataLevel == ClinicalLevel.Subject)) - //.WhereIf(inDto.UploadRole == UploadRole.CRC, x => x.ClinicalDataTrialSet.UploadRole == UploadRole.CRC) - + .Where(x => x.ReadingId == inDto.ReadingId) .Where(x => x.ClinicalDataTrialSet.TrialClinicalDataSetCriteriaList.Any(t=>t.TrialReadingCriterionId==inDto.TrialReadingCriterionId)) .Select(x => new GetReadingClinicalDataListOutDto() { @@ -889,16 +865,32 @@ namespace IRaCIS.Application.Services }).ToList(); - x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked; + x.IsSign = readModule.IsPMConfirm ?true : false; + x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked; }); result.AddRange(clinicalresult); } - - //result = result.Where(x => !(x.UploadRole == UploadRole.CRC && x.ClinicalUploadType == ClinicalUploadType.PDF && x.FileList.Count() == 0)).ToList(); + if (inDto.GetClinicalType != null) + { + switch (inDto.GetClinicalType) + { + case 1: + result = result.Where(x => x.UploadRole == UploadRole.PM).ToList(); + break; + case 2: + result = result.Where(x => x.UploadRole == UploadRole.CRC).ToList(); + break; + case 3: + result = result.Where(x => x.IsSign).ToList(); + break; + } + } + + return result; } diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs index a03e15f41..557a9af8c 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ReadingClinicalDataDto.cs @@ -208,10 +208,13 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public Guid SubjectId { get; set; } [NotDefault] public Guid ReadingId { get; set; } + + /// + /// 1 PM上传的所有的 2CRC上传的所有已确认的 3 所有已经签名的 + /// + public int? GetClinicalType { get; set; } - public UploadRole? UploadRole { get; set; } - - [NotDefault] + [NotDefault] public Guid TrialReadingCriterionId { get; set; } public Guid TrialId { get; set; }