From 53129d2fcba47e8c73548b3e0ca48ec8f8b08308 Mon Sep 17 00:00:00 2001 From: he <10978375@qq.com> Date: Fri, 7 Jul 2023 09:24:20 +0800 Subject: [PATCH] S-30 --- .../ReadingClinicalDataService.cs | 57 ++++++++++++++++++- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs index c6a0f8d26..d4245e786 100644 --- a/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ClinicalData/ReadingClinicalDataService.cs @@ -678,9 +678,62 @@ namespace IRaCIS.Application.Services }); + var result = await resultQuery.ToListAsync(); - // 根据标准 - if (inDto.VisitTaskId != null) + + + + // 这里处理CRC上传 阅片期的临床数据 + var readModule = await _readModuleRepository.Where(x => x.Id == inDto.ReadingId).FirstOrDefaultAsync(); + if (readModule != null && readModule.IsCRCConfirm) + { + var clinicalDataTrialSetIds = await _readModuleCriterionFromRepository.Where(x => x.ReadModuleId == readModule.Id).Select(x => x.ClinicalForm.ClinicalDataTrialSetId).ToListAsync(); + + var setIds = clinicalDataTrialSetIds.Distinct().ToList(); + var clinicalresult = await _clinicalDataTrialSetRepository.Where(x => x.UploadRole == UploadRole.CRC && (x.ClinicalDataLevel == ClinicalLevel.OncologyRead || x.ClinicalDataLevel == ClinicalLevel.ImageRead)) + .Where(x => setIds.Contains(x.Id)) + .Select(x => new GetReadingClinicalDataListOutDto() + { + + ClinicalDataLevel = x.ClinicalDataLevel, + SubjectId = inDto.SubjectId, + ReadingId = default(Guid), + ClinicalDataSetName = x.ClinicalDataSetName.LanguageName(x.ClinicalDataSetEnName, _userInfo.IsEn_Us), + ClinicalDataSetEnName = x.ClinicalDataSetEnName, + ClinicalDataTrialSetId = x.Id, + IsSign = readModule.IsPMConfirm, + ClinicalUploadType = x.ClinicalUploadType, + Id = default(Guid), + UploadRole = x.UploadRole, + IsCRCUpload = x.UploadRole == UploadRole.CRC, + IsNeedMerge = true, + ReadModuleId = readModule.Id, + //FileCount = x.FileCount, + + //ReadingClinicalDataState = x.ReadingClinicalDataState, + + //FileList = x.ReadingClinicalDataPDFList.Select(y => new GetFileDto() + //{ + // Id = y.Id, + // FileName = y.FileName, + // Path = y.Path, + // CreateTime = y.CreateTime, + //}).ToList() + + }).ToListAsync(); + + clinicalresult.ForEach(x => + { + x.FileCount = setIds.Where(y => y == x.ClinicalDataTrialSetId).Count(); + x.ReadingClinicalDataState = readModule.IsPMConfirm ? ReadingClinicalDataStatus.HaveSigned : ReadingClinicalDataStatus.HaveChecked; + + }); + } + + + + // 根据标准 + if (inDto.VisitTaskId != null) { var visitTaskInfo = await _visitTaskRepository.FirstOrDefaultAsync(x => x.Id == inDto.VisitTaskId);