Uat_Study
he 2022-11-09 14:28:07 +08:00
parent f1768d5bd9
commit 4b50216206
2 changed files with 35 additions and 30 deletions

View File

@ -192,7 +192,7 @@ namespace IRaCIS.Core.Application.Contracts
public int SeriesCount { get; set; }
public int InstanceCount { get; set; }
public bool IsDicom { get; set; } = true;
public List<DicomSeriesDTO> SeriesList { get; set; } = new List<DicomSeriesDTO>();
}

View File

@ -268,46 +268,51 @@ namespace IRaCIS.Core.Application.Services
// 非Dicom
List<DicomSeriesDTO> noDicomStudyList =await _noneDicomStudyRepository.Where(x => x.TrialId == trialId && x.SubjectVisitId == sujectVisitId).Select(x => new DicomSeriesDTO()
var noDicomList = await _noneDicomStudyRepository.Where(x => x.TrialId == trialId && x.SubjectVisitId == sujectVisitId).ToListAsync();
List<VisitStudyDTO> noDicomStudyList = noDicomList.Select(x => new VisitStudyDTO()
{
InstanceCount = x.FileCount,
Modality = x.Modality,
SiteId=x.SiteId,
TrialId=x.TrialId,
SubjectId=x.SubjectId,
SubjectVisitId=x.SubjectVisitId,
Id=x.Id,
StudyId = x.Id,
Modalities=x.Modality,
SeriesCount=1,
StudyCode=x.StudyCode,
IsDicom = false,
}).ToListAsync();
}).ToList();
foreach (var item in noDicomStudyList)
{
item.NoneDicomFileFirstFile = await _noneDicomStudyFileRepository.Where(x => x.NoneDicomStudyId == item.Id).Select(x => x.Path).FirstOrDefaultAsync();
}
if (studyList.Count > 0)
{
studyList[0].SeriesList.AddRange(noDicomStudyList);
}
else
{
studyList = new List<VisitStudyDTO>()
var nodicom = noDicomList.Where(x => x.Id == item.StudyId).FirstOrDefault();
item.SeriesList = new List<DicomSeriesDTO>()
{
new VisitStudyDTO(){
InstanceCount =noDicomStudyList.Count(),
Modalities = noDicomStudyList.Select(x=>x.Modality).FirstOrDefault(),
SeriesCount = noDicomStudyList.Count(),
StudyCode = noDicomStudyList.Select(x=>x.Modality).FirstOrDefault(),
StudyId = noDicomStudyList.Select(x=>x.Id).FirstOrDefault(),
SeriesList=noDicomStudyList,
},
new DicomSeriesDTO (){
IsDicom=false,
Id=item.StudyId,
InstanceCount=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).CountAsync(),
Modality=item.Modalities,
StudyId=item.StudyId,
TrialId=nodicom.TrialId,
SiteId=nodicom.SiteId,
SubjectVisitId=nodicom.SubjectVisitId,
SubjectId=nodicom.SubjectId,
NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).Select(x=>x.Path).FirstOrDefaultAsync(),
}
};
}
if (studyList==null||studyList.Count == 0)
{
studyList=new List<VisitStudyDTO>();
}
studyList.AddRange(noDicomStudyList);
return studyList;
//return ResponseOutput.Ok(studyList.Where(t => t.SeriesList.Count > 0).ToList());