diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 25681f91d..e96e275db 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -1332,6 +1332,11 @@ OCT 导表模型 + + + 斑块到血管开口的距离 + + 靶段 @@ -2539,7 +2544,7 @@ - + IR 上传任务 nonedicom 列表 后处理的数据UploadedFileCount不能排序 --new diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 22b23a46e..e2e23f77c 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -4,6 +4,7 @@ using IRaCIS.Core.Application.Contracts.Dicom.DTO; using IRaCIS.Core.Application.Filter; using IRaCIS.Core.Application.Interfaces; using IRaCIS.Core.Application.Service.Reading.Dto; +using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Infrastructure; using IRaCIS.Core.Infrastructure.Extention; @@ -771,8 +772,8 @@ namespace IRaCIS.Core.Application.Services #region 非Dicom 检查查询 var noDicomList = await _noneDicomStudyRepository.Where(x => x.TrialId == indto.TrialId && x.SubjectVisitId == indto.SujectVisitId) - //iVUS 存在空检查 - .WhereIf(taskInfo.CriterionType != CriterionType.IVUS, x => x.NoneDicomFileList.Any(t => !t.FileType.Contains(StaticData.FileType.Zip))) + //iVUS 存在空检查 + .WhereIf(taskInfo.CriterionType != CriterionType.IVUS && taskInfo.CriterionType != CriterionType.OCT, x => x.NoneDicomFileList.Any(t => !t.FileType.Contains(StaticData.FileType.Zip))) .Where(t => t.IsReading) .WhereIf(taskInfo.IsImageFilter, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.Modality + "|")) .ToListAsync(); @@ -801,8 +802,9 @@ namespace IRaCIS.Core.Application.Services var instanceCount = await _noneDicomStudyFileRepository.Where(t => t.IsReading) .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile == false && taskInfo.IsMarkNoneDicomStudy == true, x => x.ImageLabelNoneDicomStudyId == item.StudyId) - .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile && taskInfo.IsMarkNoneDicomStudy, x => x.OriginNoneDicomStudyId == item.StudyId) + .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile && taskInfo.IsMarkNoneDicomStudy, x => x.OriginNoneDicomStudyId == item.StudyId && x.VisitTaskId==indto.VisitTaskId) .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile == false && taskInfo.IsMarkNoneDicomStudy == false, x => x.NoneDicomStudyId == item.StudyId) + .Where(t => !t.FileType.Contains(StaticData.FileType.Zip)) .CountAsync(); if (instanceCount == 0) @@ -813,25 +815,25 @@ namespace IRaCIS.Core.Application.Services else { item.SeriesList = new List() - { - new DicomSeriesDTO (){ - IsDicom=false, - Id=item.StudyId, - InstanceCount=instanceCount, - Modality=item.Modalities, - StudyId=item.StudyId, - TrialId=nodicom.TrialId, - SubjectVisitId=nodicom.SubjectVisitId, - SubjectId=nodicom.SubjectId, - SeriesNumber=1, - NoneDicomFileFirstFile=await _noneDicomStudyFileRepository - .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile == false && taskInfo.IsMarkNoneDicomStudy == true, x => x.ImageLabelNoneDicomStudyId == item.StudyId) - .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile && taskInfo.IsMarkNoneDicomStudy, x => x.OriginNoneDicomStudyId == item.StudyId) - .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile == false && taskInfo.IsMarkNoneDicomStudy == false, x => x.NoneDicomStudyId == item.StudyId) - .Where(x=> !x.FileType.Contains(StaticData.FileType.Zip)).Select(x=>x.Path).FirstOrDefaultAsync(), - } + { + new DicomSeriesDTO (){ + IsDicom=false, + Id=item.StudyId, + InstanceCount=instanceCount, + Modality=item.Modalities, + StudyId=item.StudyId, + TrialId=nodicom.TrialId, + SubjectVisitId=nodicom.SubjectVisitId, + SubjectId=nodicom.SubjectId, + SeriesNumber=1, + NoneDicomFileFirstFile=await _noneDicomStudyFileRepository + .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile == false && taskInfo.IsMarkNoneDicomStudy == true, x => x.ImageLabelNoneDicomStudyId == item.StudyId) + .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile && taskInfo.IsMarkNoneDicomStudy, x => x.OriginNoneDicomStudyId == item.StudyId && x.VisitTaskId==indto. VisitTaskId) + .WhereIf(taskInfo.IsHaveTaskNoneDicomStudyFile == false && taskInfo.IsMarkNoneDicomStudy == false, x => x.NoneDicomStudyId == item.StudyId) + .Where(x=> !x.FileType.Contains(StaticData.FileType.Zip)).Select(x=>x.Path).FirstOrDefaultAsync(), + } - }; + }; } }