From 381e7b5046865b7e6e104bfcb8e6ca9226602365 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 19 Mar 2024 16:04:29 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Visit/DTO/VisitPointViewModel.cs | 3 +++ IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs index bfe3e47db..8b9dd8760 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs @@ -209,6 +209,9 @@ namespace IRaCIS.Core.Application.Contracts public Guid CTSeriesId { get; set; } public Guid PTSeriesId { get; set; } + + public Guid StudyId { get; set; } + public Guid? SubjectVisitId { get; set; } diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 3cf925bbe..2399c9410 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -451,7 +451,9 @@ namespace IRaCIS.Core.Application.Services foreach (var item in result) { - item.StudyInfoList = studyList.Where(x => x.SubjectVisitId == item.SubjectVisitId).ToList(); + item.StudyId = ptseriesLists.Where(x => x.Id == item.PTSeriesId).Select(x => x.StudyId).FirstOrDefault(); + + item.StudyInfoList = studyList.Where(x => x.SubjectVisitId == item.SubjectVisitId).ToList(); foreach (var study in item.StudyInfoList) { From b7761033286c9201f814557c2315b9dad10737d2 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 19 Mar 2024 16:43:02 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8E=B7=E5=8F=96Series?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Visit/DTO/VisitPointViewModel.cs | 8 ++- .../Service/Visit/SubjectVisitService.cs | 49 ++++++++++++++++++- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs index 8b9dd8760..b41ef7fd9 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs @@ -242,7 +242,13 @@ namespace IRaCIS.Core.Application.Contracts public List PTSeriesList { get; set; } } - public class GetPTAndCtSeriesInDto + public class GetDicomSeriesInfoInDto + { + public Guid SeriesId { get; set; } + } + + + public class GetPTAndCtSeriesInDto { public Guid VisitTaskId { get; set; } } diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 2399c9410..d8bd60a97 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -328,11 +328,58 @@ namespace IRaCIS.Core.Application.Services } /// - /// 获取PTAndCtSeries + /// 获取Series信息 /// /// /// [HttpPost] + public async Task GetDicomSeriesInfo(GetDicomSeriesInfoInDto inDto) + { + DicomSeriesDTO series = await _repository.Where(s =>s.Id==inDto.SeriesId).ProjectTo(_mapper.ConfigurationProvider).FirstNotNullAsync(); + + var instanceList = await _repository.Where(t => t.SeriesId==inDto.SeriesId) + .Select(t => new { t.SeriesId, t.StudyId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames, t.WindowCenter, t.WindowWidth, t.HtmlPath }).ToListAsync(); + series.InstanceList = instanceList.Where(t => t.SeriesId == series.Id).OrderBy(t => t.InstanceNumber).Select(k => k.Id).ToList(); + + + series.InstanceHtmlPathList = instanceList.Where(t => t.SeriesId == series.Id && t.HtmlPath != string.Empty).OrderBy(t => t.InstanceNumber).Select(k => k.HtmlPath).ToList(); + + //处理多帧 + series.InstancePathList = instanceList.Where(s => s.SeriesId == series.Id).OrderBy(t => t.InstanceNumber) + .SelectMany(u => + { + + if (u.NumberOfFrames > 1) + { + var pathList = new List(); + + for (int i = 1; i <= u.NumberOfFrames; i++) + { + pathList.Add(u.Path + "?frame=" + (i - 1)); + } + return pathList; + } + else + { + return new List { u.Path }; + + } + }) + .ToList(); + + series.WindowWidth = instanceList.FirstOrDefault()!.WindowWidth; + series.WindowCenter = instanceList.FirstOrDefault()!.WindowCenter; + + return series; + } + + + /// + /// 获取PTAndCtSeries + /// + /// + /// + [HttpPost] public async Task> GetPTAndCtSeries(GetPTAndCtSeriesInDto inDto) { From 702cd361fe157d5d1457ddab277032acabcf61a3 Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 19 Mar 2024 17:34:07 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- IRaCIS.Core.Application/IRaCIS.Core.Application.xml | 7 +++++++ .../Service/ReadingCalculate/LuganoCalculateService.cs | 10 ++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index cd0358230..f00c10d6d 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -11593,6 +11593,13 @@ + + + 获取Series信息 + + + + 获取PTAndCtSeries diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs index 022557e76..4777364ae 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/LuganoCalculateService.cs @@ -2075,7 +2075,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { return "NA"; } - + if (TaskAnswer.Count() == 0) + { + return "0"; + } var presentSpd = inDto.QuestionInfo.Where(x => x.QuestionType == QuestionType.SpleenLength).Select(x => x.Answer).FirstOrDefault().IsNullOrEmptyReturn0(); var lowSplenoncus = TaskAnswer.OrderBy(x => x.SpleenLength).Select(x => x.SpleenLength).FirstOrDefault(); return (presentSpd - lowSplenoncus).ToString(); @@ -2099,7 +2102,10 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { return "NA"; } - + if (taskAnswer.Count() == 0) + { + return "NA"; + } var lowSplenoncus = taskAnswer.OrderBy(x => x.SpleenLength).FirstOrDefault(); return lowSplenoncus.BlindName; From 4dfaf29f3d0793a605f7e9e589619543b5ba4c9e Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 20 Mar 2024 09:39:21 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Visit/DTO/VisitPointViewModel.cs | 2 +- IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs index b41ef7fd9..5e08a5994 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs @@ -215,7 +215,7 @@ namespace IRaCIS.Core.Application.Contracts public Guid? SubjectVisitId { get; set; } - public bool IsBaseLine { get; set; } + public bool IsBaseLineTask { get; set; } public string TaskBlindName { get; set; } = string.Empty; diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index d8bd60a97..d0e1a04eb 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -423,7 +423,7 @@ namespace IRaCIS.Core.Application.Services TaskBlindName=visitSeries.TaskBlindName, VisitTaskId= item, SubjectVisitId= visitSeries.SourceSubjectVisitId!.Value, - IsBaseLine=visitSeries.IsBaseLine, + IsBaseLineTask=visitSeries.IsBaseLine, }); From 40ec535e8a88fee9c7b42e267b1ee57b8f7ef08b Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Wed, 20 Mar 2024 10:02:04 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Reading/ReadingImageTask/ReadingImageTaskService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs index 63ab8a26a..2427928c1 100644 --- a/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/ReadingImageTask/ReadingImageTaskService.cs @@ -208,7 +208,7 @@ namespace IRaCIS.Application.Services } - return result; + return result.Where(x=>x.PicturePath!=string.Empty).ToList(); } ///