From 6d538bf25012fe39d386230c622b4a59d7c403d3 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 15 Dec 2025 15:35:24 +0800 Subject: [PATCH] =?UTF-8?q?uat-ivus-oct-=E5=86=8D=E6=AC=A1=E4=BF=AE?= =?UTF-8?q?=E6=94=B91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ImageAndDoc/DownloadAndUploadService.cs | 56 +++++++++---------- .../Service/Visit/SubjectVisitService.cs | 38 ++++++------- 2 files changed, 45 insertions(+), 49 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index 88be734c7..bfa2e5479 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -1367,8 +1367,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc { var subjectVisitIdList = list.Select(t => t.SourceSubjectVisitId).Distinct().ToList(); - var preDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).SelectMany(t => t.TaskStudyList) - .ProjectTo(_mapper.ConfigurationProvider).ToList(); + //var preDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).SelectMany(t => t.TaskStudyList) + // .ProjectTo(_mapper.ConfigurationProvider).ToList(); var preNoneDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)) .SelectMany(t => t.NoneDicomStudyList) @@ -1378,7 +1378,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc { var dicomList = item.DicomStudyList.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true).ToList(); - dicomList.AddRange(preDicomStudyList.Where(t => t.SubjectVisitId == item.SourceSubjectVisitId).ToList()); + //dicomList.AddRange(preDicomStudyList.Where(t => t.SubjectVisitId == item.SourceSubjectVisitId).ToList()); item.DicomStudyList = dicomList; @@ -1627,32 +1627,32 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc }).ToList() }).ToList(), - TaskStudyList = - sv.TaskStudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) - //.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) - .Select(u => new DownloadDicomStudyDto() - { - PatientId = u.PatientId, - StudyTime = u.StudyTime, - StudyCode = u.StudyCode, - StudyInstanceUid = u.StudyInstanceUid, - StudyDIRPath = u.StudyDIRPath, + //TaskStudyList = + //sv.TaskStudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) + ////.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) + //.Select(u => new DownloadDicomStudyDto() + //{ + // PatientId = u.PatientId, + // StudyTime = u.StudyTime, + // StudyCode = u.StudyCode, + // StudyInstanceUid = u.StudyInstanceUid, + // StudyDIRPath = u.StudyDIRPath, - SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto() - { - Modality = z.Modality, + // SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto() + // { + // Modality = z.Modality, - InstanceList = z.InstanceList.Select(k => new DownloadDicomInstanceDto() - { - IsEncapsulated = k.IsEncapsulated, - InstanceId = k.Id, - FileName = string.Empty, - Path = k.Path, - FileSize = k.FileSize - }).ToList() - }).ToList() - }).ToList() - , + // InstanceList = z.InstanceList.Select(k => new DownloadDicomInstanceDto() + // { + // IsEncapsulated = k.IsEncapsulated, + // InstanceId = k.Id, + // FileName = string.Empty, + // Path = k.Path, + // FileSize = k.FileSize + // }).ToList() + // }).ToList() + //}).ToList() + //, NoneDicomStudyList = inQuery.IsImageSegmentLabel != false ? sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false) .Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true) @@ -1699,7 +1699,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc //靶段标注处理 if (inQuery.IsImageSegmentLabel == false) { - result.StudyList.AddRange(result.TaskStudyList); + //result.StudyList.AddRange(result.TaskStudyList); } foreach (var item in result.StudyList.SelectMany(t => t.SeriesList).SelectMany(t => t.InstanceList)) diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index f2663d7ec..fc4e11bfd 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -305,18 +305,18 @@ namespace IRaCIS.Core.Application.Services //预览靶段标注上传的影像 if (isImageSegmentLabel == true && isVisitTask) { - var taskStudyList = await _taskStudyRepository.Where(t => t.SubjectVisitId == sujectVisitId) - .WhereIf(isImageFilter, t => ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) - .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + //var taskStudyList = await _taskStudyRepository.Where(t => t.SubjectVisitId == sujectVisitId) + // .WhereIf(isImageFilter, t => ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) + // .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); - foreach (var study in taskStudyList) - { - study.SeriesList = study.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ToList(); + //foreach (var study in taskStudyList) + //{ + // study.SeriesList = study.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ToList(); - study.InstanceCount = study.SeriesList.SelectMany(t => t.InstanceInfoList).Count(); - } + // study.InstanceCount = study.SeriesList.SelectMany(t => t.InstanceInfoList).Count(); + //} - studyList.AddRange(taskStudyList); + //studyList.AddRange(taskStudyList); } @@ -515,7 +515,7 @@ namespace IRaCIS.Core.Application.Services //是否有了后处理的NoneDicom检查 IsHaveTaskNoneDicomStudyFile = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.TaskNoneDicomFileList.Where(t => t.VisitTaskId == indto.VisitTaskId)).Any(), //是否有了标注的dicom检查 - IsMarkDicomStudy = t.SourceSubjectVisit.TaskStudyList.Any(), + //IsMarkDicomStudy = t.SourceSubjectVisit.TaskStudyList.Any(), //是否有了标注的NoneDicom检查 IsMarkNoneDicomStudy = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.ImageLabelNoneDicomFileList).Any() @@ -533,19 +533,15 @@ namespace IRaCIS.Core.Application.Services .WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) .WhereIf(isManualGenerate, t => t.SubjectCriteriaEvaluationVisitStudyFilterList.Any(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.IsConfirmed && t.IsReading)) //影像后处理 上传了新的影像 还要原始dsa - .WhereIf(taskInfo.IsHaveTaskStudy - && (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS), + .WhereIf(taskInfo.IsHaveTaskStudy && taskInfo.CriterionType == CriterionType.OCT, t => t.ModalityForEdit == "XA") - .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy && taskInfo.CriterionType == CriterionType.IVUS, - t => t.ModalityForEdit == "XA" ) - - .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy && taskInfo.CriterionType == CriterionType.OCT, + .WhereIf(taskInfo.CriterionType == CriterionType.IVUS, + t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "IVUS") + + .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.CriterionType == CriterionType.OCT, t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT") - .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy == false - && (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS), - t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" || t.ModalityForEdit == "IVUS") //其他 不应该看原始影像 .WhereIf(taskInfo.IsHaveTaskStudy && (taskInfo.CriterionType != CriterionType.OCT && taskInfo.CriterionType != CriterionType.IVUS), t => false) @@ -611,12 +607,12 @@ namespace IRaCIS.Core.Application.Services } //影像后处理 上传了新的影像 - if (taskInfo.IsHaveTaskStudy || taskInfo.IsMarkDicomStudy || taskInfo.IsMarkNoneDicomStudy) + if (taskInfo.IsHaveTaskStudy /*|| taskInfo.IsMarkDicomStudy*/ || taskInfo.IsMarkNoneDicomStudy) { var taskStudyList = await _taskStudyRepository.Where(t => t.TrialId == indto.TrialId) .WhereIf(taskInfo.IsHaveTaskStudy, t => t.VisitTaskId == indto.VisitTaskId) - .WhereIf(taskInfo.IsHaveTaskStudy == false && (taskInfo.IsMarkDicomStudy || taskInfo.IsMarkNoneDicomStudy), t => t.SubjectVisitId == indto.SujectVisitId) + .WhereIf(taskInfo.IsHaveTaskStudy == false && (/*taskInfo.IsMarkDicomStudy ||*/ taskInfo.IsMarkNoneDicomStudy), t => t.SubjectVisitId == indto.SujectVisitId) .WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync();