Compare commits

..

No commits in common. "52d64682cbe2d6c7fdc4107d1166c0bbda155b7d" and "f7525942e78b59e4657771f49418260f0fbe723f" have entirely different histories.

2 changed files with 49 additions and 45 deletions

View File

@ -1367,8 +1367,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
{ {
var subjectVisitIdList = list.Select(t => t.SourceSubjectVisitId).Distinct().ToList(); var subjectVisitIdList = list.Select(t => t.SourceSubjectVisitId).Distinct().ToList();
//var preDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).SelectMany(t => t.TaskStudyList) var preDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)).SelectMany(t => t.TaskStudyList)
// .ProjectTo<DicomStudyBasicInfo>(_mapper.ConfigurationProvider).ToList(); .ProjectTo<DicomStudyBasicInfo>(_mapper.ConfigurationProvider).ToList();
var preNoneDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id)) var preNoneDicomStudyList = _subjectVisitRepository.Where(t => subjectVisitIdList.Contains(t.Id))
.SelectMany(t => t.NoneDicomStudyList) .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(); 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; item.DicomStudyList = dicomList;
@ -1627,32 +1627,32 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
}).ToList() }).ToList()
}).ToList(), }).ToList(),
//TaskStudyList = TaskStudyList =
//sv.TaskStudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false) sv.TaskStudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
////.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true) //.Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|") : true)
//.Select(u => new DownloadDicomStudyDto() .Select(u => new DownloadDicomStudyDto()
//{ {
// PatientId = u.PatientId, PatientId = u.PatientId,
// StudyTime = u.StudyTime, StudyTime = u.StudyTime,
// StudyCode = u.StudyCode, StudyCode = u.StudyCode,
// StudyInstanceUid = u.StudyInstanceUid, StudyInstanceUid = u.StudyInstanceUid,
// StudyDIRPath = u.StudyDIRPath, StudyDIRPath = u.StudyDIRPath,
// SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto() SeriesList = u.SeriesList.Select(z => new DownloadDicomSeriesDto()
// { {
// Modality = z.Modality, Modality = z.Modality,
// InstanceList = z.InstanceList.Select(k => new DownloadDicomInstanceDto() InstanceList = z.InstanceList.Select(k => new DownloadDicomInstanceDto()
// { {
// IsEncapsulated = k.IsEncapsulated, IsEncapsulated = k.IsEncapsulated,
// InstanceId = k.Id, InstanceId = k.Id,
// FileName = string.Empty, FileName = string.Empty,
// Path = k.Path, Path = k.Path,
// FileSize = k.FileSize FileSize = k.FileSize
// }).ToList() }).ToList()
// }).ToList() }).ToList()
//}).ToList() }).ToList()
//, ,
NoneDicomStudyList = inQuery.IsImageSegmentLabel != false ? sv.NoneDicomStudyList.Where(t => isQueryNoneDicom ? inQuery.NoneDicomStudyIdList.Contains(t.Id) : false) 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) .Where(t => info.IsImageFilter ? ("|" + info.CriterionModalitys + "|").Contains("|" + t.Modality + "|") : true)
@ -1699,7 +1699,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
//靶段标注处理 //靶段标注处理
if (inQuery.IsImageSegmentLabel == false) 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)) foreach (var item in result.StudyList.SelectMany(t => t.SeriesList).SelectMany(t => t.InstanceList))

View File

@ -305,18 +305,18 @@ namespace IRaCIS.Core.Application.Services
//预览靶段标注上传的影像 //预览靶段标注上传的影像
if (isImageSegmentLabel == true && isVisitTask) if (isImageSegmentLabel == true && isVisitTask)
{ {
//var taskStudyList = await _taskStudyRepository.Where(t => t.SubjectVisitId == sujectVisitId) var taskStudyList = await _taskStudyRepository.Where(t => t.SubjectVisitId == sujectVisitId)
// .WhereIf(isImageFilter, t => ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) .WhereIf(isImageFilter, t => ("|" + criterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
// .ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync(); .ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();
//foreach (var study in taskStudyList) foreach (var study in taskStudyList)
//{ {
// study.SeriesList = study.SeriesList.OrderBy(s => s.SeriesNumber).ThenBy(s => s.SeriesTime).ToList(); 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检查 //是否有了后处理的NoneDicom检查
IsHaveTaskNoneDicomStudyFile = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.TaskNoneDicomFileList.Where(t => t.VisitTaskId == indto.VisitTaskId)).Any(), IsHaveTaskNoneDicomStudyFile = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.TaskNoneDicomFileList.Where(t => t.VisitTaskId == indto.VisitTaskId)).Any(),
//是否有了标注的dicom检查 //是否有了标注的dicom检查
//IsMarkDicomStudy = t.SourceSubjectVisit.TaskStudyList.Any(), IsMarkDicomStudy = t.SourceSubjectVisit.TaskStudyList.Any(),
//是否有了标注的NoneDicom检查 //是否有了标注的NoneDicom检查
IsMarkNoneDicomStudy = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.ImageLabelNoneDicomFileList).Any() IsMarkNoneDicomStudy = t.SourceSubjectVisit.NoneDicomStudyList.SelectMany(c => c.ImageLabelNoneDicomFileList).Any()
@ -533,15 +533,19 @@ namespace IRaCIS.Core.Application.Services
.WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) .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)) .WhereIf(isManualGenerate, t => t.SubjectCriteriaEvaluationVisitStudyFilterList.Any(t => t.TrialReadingCriterionId == taskInfo.TrialReadingCriterionId && t.IsConfirmed && t.IsReading))
//影像后处理 上传了新的影像 还要原始dsa //影像后处理 上传了新的影像 还要原始dsa
.WhereIf(taskInfo.IsHaveTaskStudy && taskInfo.CriterionType == CriterionType.OCT, .WhereIf(taskInfo.IsHaveTaskStudy
&& (taskInfo.CriterionType == CriterionType.OCT || taskInfo.CriterionType == CriterionType.IVUS),
t => t.ModalityForEdit == "XA") t => t.ModalityForEdit == "XA")
.WhereIf(taskInfo.CriterionType == CriterionType.IVUS, .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy && taskInfo.CriterionType == CriterionType.IVUS,
t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "IVUS") t => t.ModalityForEdit == "XA" )
.WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.CriterionType == CriterionType.OCT, .WhereIf(taskInfo.IsHaveTaskStudy == false && taskInfo.IsMarkDicomStudy && taskInfo.CriterionType == CriterionType.OCT,
t => t.ModalityForEdit == "XA" || t.ModalityForEdit == "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) .WhereIf(taskInfo.IsHaveTaskStudy && (taskInfo.CriterionType != CriterionType.OCT && taskInfo.CriterionType != CriterionType.IVUS), t => false)
@ -607,12 +611,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) var taskStudyList = await _taskStudyRepository.Where(t => t.TrialId == indto.TrialId)
.WhereIf(taskInfo.IsHaveTaskStudy, t => t.VisitTaskId == indto.VisitTaskId) .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 + "|")) .WhereIf(taskInfo.IsImageFilter == true, t => ("|" + taskInfo.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|"))
.ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync(); .ProjectTo<VisitStudyDTO>(_mapper.ConfigurationProvider).ToListAsync();