From 4b92874ca6e5810accc31e4c58d4ca1f4650964d Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Tue, 19 Mar 2024 11:33:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Interface/IReadingImageTaskService.cs | 2 ++ .../Service/Visit/DTO/VisitPointViewModel.cs | 2 +- .../Service/Visit/SubjectVisitService.cs | 25 ++++++++++++++----- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs index 5ad43cb66..95c4bac51 100644 --- a/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs +++ b/IRaCIS.Core.Application/Service/Reading/Interface/IReadingImageTaskService.cs @@ -39,5 +39,7 @@ namespace IRaCIS.Core.Application.Contracts Task ResetReadingRestTime(Guid? userId); + Task> GetReadingPastResultList(GetReadingPastResultListInDto inDto); + } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs index 799a3f754..2765e84f2 100644 --- a/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs +++ b/IRaCIS.Core.Application/Service/Visit/DTO/VisitPointViewModel.cs @@ -216,7 +216,7 @@ namespace IRaCIS.Core.Application.Contracts public class GetPTAndCtSeriesInDto { - public List VisitTaskIds { get; set; } + public Guid VisitTaskId { get; set; } } public class VisitStudyDTO diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 33714e927..8e51d7b3a 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -11,6 +11,7 @@ using IRaCIS.Core.Application.Auth; using IRaCIS.Core.Infra.EFCore.Common; using MassTransit; using IRaCIS.Core.Application.Service.Reading.Dto; +using IRaCIS.Application.Services; namespace IRaCIS.Core.Application.Services { @@ -22,7 +23,8 @@ namespace IRaCIS.Core.Application.Services private readonly IRepository _readingClinicalDataRepository; private readonly IRepository _readModuleRepository; private readonly IRepository _trialRepository; - private readonly IRepository _readingPeriodSetRepository; + private readonly IReadingImageTaskService _ireadingImageTaskService; + private readonly IRepository _readingPeriodSetRepository; private readonly IRepository _noneDicomStudyRepository; private readonly IRepository _dicomInstanceRepository; private readonly IRepository _visitTaskRepository; @@ -39,7 +41,8 @@ namespace IRaCIS.Core.Application.Services IRepository readingClinicalDataRepository, IRepository readModuleRepository, IRepository trialRepository, - IRepository readingPeriodSetRepository, + IReadingImageTaskService ireadingImageTaskService, + IRepository readingPeriodSetRepository, IRepository noneDicomStudyRepository, IRepository dicomInstanceRepository, IRepository visitTaskRepository, @@ -57,7 +60,8 @@ namespace IRaCIS.Core.Application.Services this._readingClinicalDataRepository = readingClinicalDataRepository; this._readModuleRepository = readModuleRepository; this._trialRepository = trialRepository; - this._readingPeriodSetRepository = readingPeriodSetRepository; + this._ireadingImageTaskService = ireadingImageTaskService; + this._readingPeriodSetRepository = readingPeriodSetRepository; this._noneDicomStudyRepository = noneDicomStudyRepository; this._dicomInstanceRepository = dicomInstanceRepository; this._visitTaskRepository = visitTaskRepository; @@ -328,8 +332,17 @@ namespace IRaCIS.Core.Application.Services /// [HttpPost] public async Task> GetPTAndCtSeries(GetPTAndCtSeriesInDto inDto) - { - var visitSeriesList=await _readingTableAnswerRowInfoRepository.Where(x => inDto.VisitTaskIds.Contains(x.VisitTaskId)) + { + + + + var pastResultList= await this._ireadingImageTaskService.GetReadingPastResultList(new GetReadingPastResultListInDto() + { + VisitTaskId = inDto.VisitTaskId + }) ; + + var visitTaskIds = pastResultList.Select(x => x.VisitTaskId).ToList(); + var visitSeriesList=await _readingTableAnswerRowInfoRepository.Where(x => visitTaskIds.Contains(x.VisitTaskId)) .Where(x => x.PTSeriesId != null && x.CTSeriesId != null) .Select(x => new { @@ -345,7 +358,7 @@ namespace IRaCIS.Core.Application.Services List seriesIds = new List(); - foreach (var item in inDto.VisitTaskIds) + foreach (var item in visitTaskIds) { var visitSeries = visitSeriesList.Where(x => x.VisitTaskId == item).OrderByDescending(x => x.UpdateTime).FirstOrDefault(); if (visitSeries != null)