From 4f91874b829125423150bff81779b5a1831900a4 Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Thu, 27 Nov 2025 10:38:48 +0800 Subject: [PATCH] =?UTF-8?q?uat-=E6=A0=87=E6=B3=A8-15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ImageAndDoc/DownloadAndUploadService.cs | 24 +++++++++---------- .../ImageAndDoc/NoneDicomStudyService.cs | 7 +++--- .../Service/Visit/SubjectVisitService.cs | 4 ++-- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs index 7088fe68c..9453074da 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/DownloadAndUploadService.cs @@ -174,8 +174,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc .Select(t => new StudyBasicInfo() { Id = t.Id, - SubjectVisitId=t.SubjectVisitId, - + SubjectVisitId = t.SubjectVisitId, + StudyInstanceUid = t.StudyInstanceUid, ModalityForEdit = t.ModalityForEdit, BodyPartExamined = t.BodyPartExamined, @@ -196,7 +196,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc UploadStudyList = u.TaskStudyList.Select(t => new StudyBasicInfo() { Id = t.Id, - SubjectVisitId=t.SubjectVisitId, + SubjectVisitId = t.SubjectVisitId, StudyInstanceUid = t.StudyInstanceUid, ModalityForEdit = t.ModalityForEdit, BodyPartExamined = t.BodyPartExamined, @@ -255,7 +255,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc OrginalStudyList = u.SourceSubjectVisit.StudyList .Where(t => u.TrialReadingCriterion.IsImageFilter ? ("|" + u.TrialReadingCriterion.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) - .Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" : true) + .Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true) .Select(t => new StudyBasicInfo() { Id = t.Id, @@ -1346,7 +1346,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc foreach (var item in list) { - var dicomList = item.DicomStudyList.Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" : true).ToList(); + 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()); @@ -1446,7 +1446,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc var dirInfolist = _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => subjectVisitIdList.Contains(t.Id))).SelectMany(t => t.StudyList) .Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) .Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) - .Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" : true) + .Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true) .SelectMany(t => t.InstanceList.Where(t => t.IsReading && t.DicomSerie.IsReading)) .Select(t => new StudyDIRInfo() { @@ -1489,7 +1489,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc var taskDirInfolist = _taskInstanceRepository.Where(t => t.SubjectVisitId != null) .Where(t => subjectVisitIdList.Contains((Guid)t.SubjectVisitId)).Select(t => new StudyDIRInfo() { - IsTaskStudy=true, + IsTaskStudy = true, SubjectVisitId = (Guid)t.SubjectVisitId, DicomStudyId = t.TaskStudy.Id, @@ -1573,7 +1573,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc TaskBlindName = leftVisitTask.TaskBlindName, StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) .Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) - .Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" : true) + .Where(t => inQuery.IsImageSegmentLabel == false ? t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT" : true) .Select(u => new DownloadDicomStudyDto() { PatientId = u.PatientId, @@ -1722,9 +1722,9 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc .Select(t => new { t.TrialReadingCriterion.IsImageFilter, t.TrialReadingCriterion.CriterionModalitys }).FirstNotNullAsync(); var query = _taskStudyRepository - .WhereIf(inQuery.VisitTaskId != null, t => t.Id == inQuery.VisitTaskId)//正常后处理 - .WhereIf(inQuery.SubjectVisitId != null, t => t.SubjectVisitId == inQuery.SubjectVisitId)//靶段标注处理的影像 - .WhereIf( info.IsImageFilter && inQuery.VisitTaskId != null, t => ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") ) + .WhereIf(inQuery.VisitTaskId != null, t => t.VisitTaskId == inQuery.VisitTaskId)//正常后处理 + .WhereIf(inQuery.VisitTaskId == null && inQuery.SubjectVisitId != null, t => t.SubjectVisitId == inQuery.SubjectVisitId)//靶段标注处理的影像 + .WhereIf(info.IsImageFilter && inQuery.VisitTaskId != null, t => ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) .Select(t => new { StudyId = t.Id, @@ -2226,7 +2226,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc [HttpPost] public async Task>> GetTrialSubjectVisitMarkList(SubjectVisitMarkQuery inQuery) { - var list = await _subjectRepository.Where(t => t.TrialId == inQuery.TrialId) + var list = await _subjectRepository.Where(t => t.TrialId == inQuery.TrialId && t.SubjectDoctorList.Any()) .WhereIf(inQuery.SubjectCode.IsNotNullOrEmpty(), t => t.Code.Contains(inQuery.SubjectCode)) .WhereIf(inQuery.IsUrgent != null, t => t.IsUrgent == inQuery.IsUrgent) .Select(t => new SubjectVisitMarkDTO() diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs index 67e38daa5..bf23ed095 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/NoneDicomStudyService.cs @@ -62,7 +62,7 @@ namespace IRaCIS.Core.Application.Contracts { //靶段标注上传后查看影像 - noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => true, ignoreQueryFilters: isViewDelete) + noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId, ignoreQueryFilters: isViewDelete) .WhereIf(isReading, t => t.IsReading && t.IsDeleted == false) .WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId) .ProjectTo(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip, isReading = isReading }); @@ -75,12 +75,13 @@ namespace IRaCIS.Core.Application.Contracts { var taskinfo = await _visitTaskRepository.Where(x => x.Id == visitTaskId).Select(t => new { t.BlindSubjectCode, t.TrialReadingCriterionId, t.TrialReadingCriterion.CriterionType, t.TrialReadingCriterion.IsImageFilter, t.TrialReadingCriterion.CriterionModalitys }).FirstNotNullAsync(); - if (taskinfo.CriterionType == CriterionType.IVUS || taskinfo.CriterionType == CriterionType.OCT && isImageSegmentLabel == true) + if ((taskinfo.CriterionType == CriterionType.IVUS || taskinfo.CriterionType == CriterionType.OCT) && isImageSegmentLabel == false) { //后处理原始影像预览 - noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => true, ignoreQueryFilters: isViewDelete) + noneDicomStudyQueryable = _noneDicomStudyRepository.Where(t => t.SubjectVisitId == subjectVisitId, ignoreQueryFilters: isViewDelete) .WhereIf(isReading, t => t.IsReading && t.IsDeleted == false) .WhereIf(nonedicomStudyId != null, t => t.Id == nonedicomStudyId) + .Where(t => taskinfo.IsImageFilter ? ("|" + taskinfo.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true) .ProjectTo(_mapper.ConfigurationProvider, new { isFilterZip = isFilterZip, visiTaskId = visitTaskId, isReading = isReading }); } else diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 15c906698..e353005a0 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -251,7 +251,7 @@ namespace IRaCIS.Core.Application.Services .Where(t => isImageFilter ? ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) .WhereIf(isReading == 1 || isQCFinished, s => s.IsDeleted == false) //预览靶段标注上传的影像 影像后处理 上传了新的影像 还要原始dsa - .WhereIf(isImageSegmentLabel == true && isVisitTask && (criterionType == CriterionType.OCT || criterionType == CriterionType.IVUS), t => t.ModalityForEdit == "XA") + .WhereIf(isImageSegmentLabel == true && isVisitTask && (criterionType == CriterionType.OCT || criterionType == CriterionType.IVUS), t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT") .Select(k => new VisitStudyDTO() { InstanceCount = k.InstanceCount, @@ -516,7 +516,7 @@ 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.TaskStudyCount > 0 && (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS), t => t.ModalityForEdit == "XA") + .WhereIf(taskInfo.TaskStudyCount > 0 && (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS), t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "OCT") .WhereIf(taskInfo.TaskStudyCount > 0 && (taskInfo.CriterionType != CriterionType.OCT || taskInfo.CriterionType != CriterionType.IVUS), t => false) .Select(k => new VisitStudyDTO() {