IRC_NewDev
he 2024-03-19 11:33:34 +08:00
parent 2d81b05fba
commit 4b92874ca6
3 changed files with 22 additions and 7 deletions

View File

@ -39,5 +39,7 @@ namespace IRaCIS.Core.Application.Contracts
Task ResetReadingRestTime(Guid? userId);
Task<List<GetReadingPastResultListOutDto>> GetReadingPastResultList(GetReadingPastResultListInDto inDto);
}
}

View File

@ -216,7 +216,7 @@ namespace IRaCIS.Core.Application.Contracts
public class GetPTAndCtSeriesInDto
{
public List<Guid> VisitTaskIds { get; set; }
public Guid VisitTaskId { get; set; }
}
public class VisitStudyDTO

View File

@ -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<ReadingClinicalData> _readingClinicalDataRepository;
private readonly IRepository<ReadModule> _readModuleRepository;
private readonly IRepository<Trial> _trialRepository;
private readonly IRepository<ReadingPeriodSet> _readingPeriodSetRepository;
private readonly IReadingImageTaskService _ireadingImageTaskService;
private readonly IRepository<ReadingPeriodSet> _readingPeriodSetRepository;
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
private readonly IRepository<DicomInstance> _dicomInstanceRepository;
private readonly IRepository<VisitTask> _visitTaskRepository;
@ -39,7 +41,8 @@ namespace IRaCIS.Core.Application.Services
IRepository<ReadingClinicalData> readingClinicalDataRepository,
IRepository<ReadModule> readModuleRepository,
IRepository<Trial> trialRepository,
IRepository<ReadingPeriodSet> readingPeriodSetRepository,
IReadingImageTaskService ireadingImageTaskService,
IRepository<ReadingPeriodSet> readingPeriodSetRepository,
IRepository<NoneDicomStudy> noneDicomStudyRepository,
IRepository<DicomInstance> dicomInstanceRepository,
IRepository<VisitTask> 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
/// <returns></returns>
[HttpPost]
public async Task<List<GetPTAndCtSeriesOutDto>> 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<Guid> seriesIds = new List<Guid>();
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)