Test.EIImageViewer
parent
748f8e34fd
commit
cd0093b8d8
|
@ -99,7 +99,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
throw new BusinessValidationFailedException("设置末次评估后,不允许添加计划外访视。");
|
throw new BusinessValidationFailedException("设置末次评估后,不允许添加计划外访视。");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (await _repository.AnyAsync<VisitTask>(t=>t.SubjectId==svCommand.SubjectId && t.TaskState==TaskState.Effect && t.VisitTaskNum > svCommand.VisitNum && t.SignTime != null && t.TrialReadingCriterion.IsReadingTaskViewInOrder))
|
if (await _repository.AnyAsync<VisitTask>(t => t.SubjectId == svCommand.SubjectId && t.TaskState == TaskState.Effect && t.VisitTaskNum > svCommand.VisitNum && t.SignTime != null && t.TrialReadingCriterion.IsReadingTaskViewInOrder))
|
||||||
{
|
{
|
||||||
throw new BusinessValidationFailedException("该受试者后续访视已有任务完成阅片(有序阅片标准),不允许在此添加,如果确实需要,请回退");
|
throw new BusinessValidationFailedException("该受试者后续访视已有任务完成阅片(有序阅片标准),不允许在此添加,如果确实需要,请回退");
|
||||||
}
|
}
|
||||||
|
@ -216,7 +216,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
var studyIds = studyList.Select(t => t.StudyId).ToList();
|
var studyIds = studyList.Select(t => t.StudyId).ToList();
|
||||||
|
|
||||||
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
|
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
|
||||||
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber,t.Path,t.NumberOfFrames }).ToListAsync();
|
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames }).ToListAsync();
|
||||||
|
|
||||||
foreach (var t in studyList)
|
foreach (var t in studyList)
|
||||||
{
|
{
|
||||||
|
@ -315,8 +315,31 @@ namespace IRaCIS.Core.Application.Services
|
||||||
if (item != null)
|
if (item != null)
|
||||||
{
|
{
|
||||||
item.SeriesInstanceUid = string.Empty;
|
item.SeriesInstanceUid = string.Empty;
|
||||||
|
|
||||||
item.InstanceList = thisRowinfo.Where(y => y.InstanceId != null).Select(y => y.InstanceId.Value).Distinct().ToList();
|
item.InstanceList = thisRowinfo.Where(y => y.InstanceId != null).Select(y => y.InstanceId.Value).Distinct().ToList();
|
||||||
item.InstancePathList = await _dicomInstanceRepository.Where(x => item.InstanceList.Contains(x.Id)).Select(x => x.Path).ToListAsync();
|
|
||||||
|
var tempInstanceList = await _dicomInstanceRepository.Where(x => item.InstanceList.Contains(x.Id)).OrderBy(t => t.InstanceNumber).Select(x => new { x.Path, x.NumberOfFrames }).ToListAsync();
|
||||||
|
|
||||||
|
item.InstancePathList = tempInstanceList.SelectMany(u =>
|
||||||
|
{
|
||||||
|
|
||||||
|
if (u.NumberOfFrames == 1)
|
||||||
|
{
|
||||||
|
return new List<string> { u.Path };
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var pathList = new List<string>();
|
||||||
|
|
||||||
|
for (int i = 1; i <= u.NumberOfFrames; i++)
|
||||||
|
{
|
||||||
|
pathList.Add(u.Path + "?frame=" + (i - 1));
|
||||||
|
}
|
||||||
|
return pathList;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.ToList();
|
||||||
|
|
||||||
item.InstanceCount = item.InstanceList.Count();
|
item.InstanceCount = item.InstanceList.Count();
|
||||||
|
|
||||||
thisVisitTaskStudy.SeriesList.Add(item);
|
thisVisitTaskStudy.SeriesList.Add(item);
|
||||||
|
@ -324,8 +347,6 @@ namespace IRaCIS.Core.Application.Services
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
result.Add(thisVisitTaskStudy);
|
result.Add(thisVisitTaskStudy);
|
||||||
|
|
||||||
|
@ -347,7 +368,7 @@ namespace IRaCIS.Core.Application.Services
|
||||||
var studyIds = studyList.Select(t => t.StudyId).ToList();
|
var studyIds = studyList.Select(t => t.StudyId).ToList();
|
||||||
|
|
||||||
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
|
var instanceList = await _repository.Where<DicomInstance>(t => studyIds.Contains(t.StudyId))
|
||||||
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber,t.Path,t.NumberOfFrames }).ToListAsync();
|
.Select(t => new { t.SeriesId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames }).ToListAsync();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -359,7 +380,8 @@ namespace IRaCIS.Core.Application.Services
|
||||||
t.SeriesList = seriesLists.Where(s => s.StudyId == t.StudyId).OrderBy(s => s.SeriesNumber).
|
t.SeriesList = seriesLists.Where(s => s.StudyId == t.StudyId).OrderBy(s => s.SeriesNumber).
|
||||||
ThenBy(s => s.SeriesTime).ToList();
|
ThenBy(s => s.SeriesTime).ToList();
|
||||||
|
|
||||||
t.SeriesList.ForEach(series => {
|
t.SeriesList.ForEach(series =>
|
||||||
|
{
|
||||||
series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList();
|
series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList();
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue