diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs index daa4f54f8..6d3695e2b 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs @@ -51,20 +51,21 @@ namespace IRaCIS.Core.Application.Services .SelectMany(u => { - if (u.NumberOfFrames == 1) - { - return new List{u.Path}; - } - else + if (u.NumberOfFrames > 1) { var pathList = new List(); for (int i = 1; i <= u.NumberOfFrames; i++) { - pathList.Add(u.Path+ "?frame=" + (i - 1)); + pathList.Add(u.Path + "?frame=" + (i - 1)); } return pathList; } + else + { + return new List { u.Path }; + + } }) .ToList(); } diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 702e4c8cf..1c37f91c3 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -316,18 +316,16 @@ namespace IRaCIS.Core.Application.Services { item.SeriesInstanceUid = string.Empty; - item.InstanceList = thisRowinfo.Where(y => y.InstanceId != null).Select(y => y.InstanceId.Value).Distinct().ToList(); - var tempInstanceList = await _dicomInstanceRepository.Where(x => item.InstanceList.Contains(x.Id)).OrderBy(t => t.InstanceNumber).Select(x => new { x.Path, x.NumberOfFrames }).ToListAsync(); + var tempInstanceList = thisRowinfo.Where(y => y.InstanceId != null).Select(y => new { InstanceId = y.InstanceId.Value, y.Instance.Path, y.Instance.NumberOfFrames }).Distinct().ToList(); + + item.InstanceList = tempInstanceList.Select(y => y.InstanceId).ToList(); + item.InstancePathList = tempInstanceList.SelectMany(u => { - if (u.NumberOfFrames == 1) - { - return new List { u.Path }; - } - else + if (u.NumberOfFrames > 1) { var pathList = new List(); @@ -337,6 +335,11 @@ namespace IRaCIS.Core.Application.Services } return pathList; } + else + { + return new List { u.Path }; + + } }) .ToList(); @@ -392,11 +395,7 @@ namespace IRaCIS.Core.Application.Services .SelectMany(u => { - if (u.NumberOfFrames == 1) - { - return new List { u.Path }; - } - else + if (u.NumberOfFrames >1) { var pathList = new List(); @@ -406,6 +405,11 @@ namespace IRaCIS.Core.Application.Services } return pathList; } + else + { + return new List { u.Path }; + + } }) .ToList(); }); diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs index 4bb5f6ce3..9b945c222 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTableAnswerRowInfo.cs @@ -15,6 +15,10 @@ namespace IRaCIS.Core.Domain.Models [Table("ReadingTableAnswerRowInfo")] public class ReadingTableAnswerRowInfo : Entity, IAuditAdd { + [JsonIgnore] + [ForeignKey("InstanceId")] + public DicomInstance Instance { get; set; } + /// /// 第一层的Question ///