增加参数判断,是否导出阅片影像
continuous-integration/drone/push Build is running Details

Uat_IRC_Net8^2
hang 2026-05-26 13:34:44 +08:00
parent c901f0e3d1
commit 0f0c670ec8
2 changed files with 12 additions and 6 deletions

View File

@ -776,6 +776,9 @@ namespace IRaCIS.Core.Application.Contracts
public List<Guid> DicomStudyIdList { get; set; } public List<Guid> DicomStudyIdList { get; set; }
public List<Guid> NoneDicomStudyIdList { get; set; } public List<Guid> NoneDicomStudyIdList { get; set; }
// true 导出阅片null 就是所有影像
public bool? IsExportReading { get; set; }
} }
public class IRReadingDownloadQuery : SortInput public class IRReadingDownloadQuery : SortInput

View File

@ -1141,6 +1141,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
var isQueryDicom = inQuery.DicomStudyIdList.Count > 0; var isQueryDicom = inQuery.DicomStudyIdList.Count > 0;
var isQueryNoneDicom = inQuery.NoneDicomStudyIdList.Count > 0; var isQueryNoneDicom = inQuery.NoneDicomStudyIdList.Count > 0;
var isExportReading = inQuery.IsExportReading == true;
var imageType = (isQueryDicom && isQueryNoneDicom) ? ImageType.DicomAndNoneDicom : (isQueryDicom ? ImageType.Dicom : ImageType.NoneDicom); var imageType = (isQueryDicom && isQueryNoneDicom) ? ImageType.DicomAndNoneDicom : (isQueryDicom ? ImageType.Dicom : ImageType.NoneDicom);
var dirDic = new Dictionary<string, string>(); var dirDic = new Dictionary<string, string>();
@ -1150,11 +1152,12 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//有传输语法值的导出 才生成DIR //有传输语法值的导出 才生成DIR
//if (_subjectVisitRepository.Where(t => t.Id == inQuery.SubjectVisitId).SelectMany(t => t.StudyList.SelectMany(t => t.InstanceList)).All(c => c.TransferSytaxUID != string.Empty)) //if (_subjectVisitRepository.Where(t => t.Id == inQuery.SubjectVisitId).SelectMany(t => t.StudyList.SelectMany(t => t.InstanceList)).All(c => c.TransferSytaxUID != string.Empty))
if (!_instanceRepository.Where(t => inQuery.SubjectVisitId == t.SubjectVisitId).Any(c => c.TransferSytaxUID == string.Empty)) if (!_instanceRepository.Where(t => isExportReading ? (t.IsReading && t.DicomSerie.IsReading) : true)
.Where(t => inQuery.SubjectVisitId == t.SubjectVisitId).Any(c => c.TransferSytaxUID == string.Empty))
{ {
var list = _subjectVisitRepository.Where(t => t.Id == inQuery.SubjectVisitId).SelectMany(t => t.StudyList) var list = _subjectVisitRepository.Where(t => t.Id == inQuery.SubjectVisitId).SelectMany(t => t.StudyList)
.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) .Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
.SelectMany(t => t.InstanceList) .SelectMany(t => t.InstanceList.Where(t => isExportReading ? (t.IsReading && t.DicomSerie.IsReading) : true))
.Select(t => new StudyDIRInfo() .Select(t => new StudyDIRInfo()
{ {
@ -1235,11 +1238,11 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
StudyInstanceUid = u.StudyInstanceUid, StudyInstanceUid = u.StudyInstanceUid,
StudyDIRPath = u.StudyDIRPath, StudyDIRPath = u.StudyDIRPath,
SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto() SeriesList = u.SeriesList.Where(t => isExportReading ? t.IsReading : true).Select(z => new DownloadDicomSeriesDto()
{ {
Modality = z.Modality, Modality = z.Modality,
InstanceList = z.DicomInstanceList.Select(k => new DownloadDicomInstanceDto() InstanceList = z.DicomInstanceList.Where(t => isExportReading ? t.IsReading : true).Select(k => new DownloadDicomInstanceDto()
{ {
IsEncapsulated = k.IsEncapsulated, IsEncapsulated = k.IsEncapsulated,
InstanceId = k.Id, InstanceId = k.Id,
@ -1251,7 +1254,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}).ToList(), }).ToList(),
NoneDicomStudyList = sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false) NoneDicomStudyList = sv.NoneDicomStudyList.Where(t => isExportReading ? t.IsReading : true).Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false)
.Select(nd => new DownloadNoneDicomStudyDto() .Select(nd => new DownloadNoneDicomStudyDto()
{ {
@ -1259,7 +1262,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
StudyCode = nd.StudyCode, StudyCode = nd.StudyCode,
ImageDate = nd.ImageDate, ImageDate = nd.ImageDate,
FileList = nd.NoneDicomFileList.Select(file => new DownloadNoneDicomFileDto() FileList = nd.NoneDicomFileList.Where(t => isExportReading ? t.IsReading : true).Select(file => new DownloadNoneDicomFileDto()
{ {
FileName = file.FileName, FileName = file.FileName,
Path = file.Path, Path = file.Path,