修改筛选bug
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
b219e4a055
commit
afa2b50951
|
@ -541,11 +541,19 @@ namespace IRaCIS.Core.Application.Contracts
|
||||||
[NotDefault]
|
[NotDefault]
|
||||||
public string SubjectCode { get; set; }
|
public string SubjectCode { get; set; }
|
||||||
|
|
||||||
public List<Guid> SubjectVisitIdList { get; set; }
|
public List<SubjectVisitTaskInfo> SubjectVisitTaskList { get; set; }
|
||||||
|
|
||||||
public List<Guid> DicomStudyIdList { get; set; }
|
public List<Guid> DicomStudyIdList { get; set; }
|
||||||
|
|
||||||
public List<Guid> NoneDicomStudyIdList { get; set; }
|
public List<Guid> NoneDicomStudyIdList { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public class SubjectVisitTaskInfo
|
||||||
|
{
|
||||||
|
public Guid SubjectVisitId { get; set; }
|
||||||
|
|
||||||
|
public Guid VisitTaskId { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
using FellowOakDicom;
|
using Amazon.Runtime.EventStreams.Internal;
|
||||||
|
using DocumentFormat.OpenXml.EMMA;
|
||||||
|
using FellowOakDicom;
|
||||||
using IRaCIS.Application.Contracts;
|
using IRaCIS.Application.Contracts;
|
||||||
using IRaCIS.Core.Application.Contracts;
|
using IRaCIS.Core.Application.Contracts;
|
||||||
using IRaCIS.Core.Application.Contracts.Dicom.DTO;
|
using IRaCIS.Core.Application.Contracts.Dicom.DTO;
|
||||||
|
@ -356,7 +358,7 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
if (studyMonitor.IsDicomReUpload == false)
|
if (studyMonitor.IsDicomReUpload == false)
|
||||||
{
|
{
|
||||||
//目前不考虑重传的问题,后面的直接覆盖前面的,全部删除
|
//目前不考虑重传的问题,后面的直接覆盖前面的,全部删除
|
||||||
if(_taskStudyRepository.Any(t=>t.VisitTaskId==visiTaskId && t.StudyInstanceUid == incommand.Study.StudyInstanceUid))
|
if (_taskStudyRepository.Any(t => t.VisitTaskId == visiTaskId && t.StudyInstanceUid == incommand.Study.StudyInstanceUid))
|
||||||
{
|
{
|
||||||
await _taskStudyRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visiTaskId);
|
await _taskStudyRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visiTaskId);
|
||||||
await _taskSeriesRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visiTaskId);
|
await _taskSeriesRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visiTaskId);
|
||||||
|
@ -559,8 +561,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
await _taskStudyRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id== dicomStudyId);
|
await _taskStudyRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id == dicomStudyId);
|
||||||
await _taskSeriesRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id== dicomStudyId);
|
await _taskSeriesRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id == dicomStudyId);
|
||||||
await _taskInstanceRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id == dicomStudyId);
|
await _taskInstanceRepository.BatchDeleteNoTrackingAsync(t => t.VisitTaskId == visitTaskId && t.Id == dicomStudyId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -723,6 +725,16 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
|
|
||||||
var list = await query.Where(t => t.SubjectCode == inQuery.SubjectCode).ToListAsync();
|
var list = await query.Where(t => t.SubjectCode == inQuery.SubjectCode).ToListAsync();
|
||||||
|
|
||||||
|
foreach (var item in list)
|
||||||
|
{
|
||||||
|
if (item.IsImageFilter)
|
||||||
|
{
|
||||||
|
item.DicomStudyList = item.DicomStudyList.Where(t => ("|" + item.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")).ToList();
|
||||||
|
item.NoneDicomStudyList = item.NoneDicomStudyList.Where(t => ("|" + item.CriterionModalitys + "|").Contains("|" + t.Modality + "|")).ToList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#region 将任务级别转为检查级别
|
#region 将任务级别转为检查级别
|
||||||
|
|
||||||
var result = new List<SubjectCRCImageUploadedStudyDto>();
|
var result = new List<SubjectCRCImageUploadedStudyDto>();
|
||||||
|
@ -783,14 +795,17 @@ 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 query = from sv in _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => inQuery.SubjectVisitIdList.Contains(t.Id)))
|
var subjectVisitIdList = inQuery.SubjectVisitTaskList.Select(t => t.SubjectVisitId).ToList();
|
||||||
|
|
||||||
|
var query = from sv in _subjectRepository.Where(t => t.Id == inQuery.SubjectId).SelectMany(t => t.SubjectVisitList.Where(t => subjectVisitIdList.Contains(t.Id)))
|
||||||
|
join visitTask in _visitTaskRepository.Where() on sv.Id equals visitTask.SourceSubjectVisitId
|
||||||
select new
|
select new
|
||||||
{
|
{
|
||||||
SubjectCode = inQuery.SubjectCode,
|
SubjectCode = inQuery.SubjectCode,
|
||||||
VisitName = sv.VisitName,
|
VisitName = sv.VisitName,
|
||||||
|
TaskBlindName = visitTask.TaskBlindName,
|
||||||
StudyList = sv.StudyList.Where(t => isQueryDicom ? inQuery.DicomStudyIdList.Contains(t.Id) : false)
|
StudyList = sv.StudyList.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
|
.Select(u => new
|
||||||
{
|
{
|
||||||
u.PatientId,
|
u.PatientId,
|
||||||
|
@ -830,6 +845,8 @@ namespace IRaCIS.Core.Application.Service.ImageAndDoc
|
||||||
|
|
||||||
var result = await query.ToListAsync();
|
var result = await query.ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return ResponseOutput.Ok(result);
|
return ResponseOutput.Ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -139,8 +139,8 @@ namespace IRaCIS.Core.Application.Service
|
||||||
.ForMember(d => d.IsImageFilter, u => u.MapFrom(s => s.TrialReadingCriterion.IsImageFilter))
|
.ForMember(d => d.IsImageFilter, u => u.MapFrom(s => s.TrialReadingCriterion.IsImageFilter))
|
||||||
.ForMember(d => d.CriterionModalitys, u => u.MapFrom(s => s.TrialReadingCriterion.CriterionModalitys))
|
.ForMember(d => d.CriterionModalitys, u => u.MapFrom(s => s.TrialReadingCriterion.CriterionModalitys))
|
||||||
.ForMember(d => d.SubjectCode, u => u.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code))
|
.ForMember(d => d.SubjectCode, u => u.MapFrom(u => u.IsSelfAnalysis == true ? u.BlindSubjectCode : u.Subject.Code))
|
||||||
.ForMember(d => d.DicomStudyList, u => u.MapFrom(s => s.TrialReadingCriterion.IsImageFilter? s.SourceSubjectVisit.StudyList.Where(t=> ("|" + s.TrialReadingCriterion.CriterionModalitys + "|").Contains("|" + t.ModalityForEdit + "|")) : s.SourceSubjectVisit.StudyList))
|
.ForMember(d => d.DicomStudyList, u => u.MapFrom(s => s.SourceSubjectVisit.StudyList))
|
||||||
.ForMember(d => d.NoneDicomStudyList, u => u.MapFrom(s => s.TrialReadingCriterion.IsImageFilter ? s.SourceSubjectVisit.NoneDicomStudyList.Where(t => ("|" + s.TrialReadingCriterion.CriterionModalitys + "|").Contains("|" + t.Modality + "|")) : s.SourceSubjectVisit.NoneDicomStudyList))
|
.ForMember(d => d.NoneDicomStudyList, u => u.MapFrom(s => s.SourceSubjectVisit.NoneDicomStudyList))
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue