using IRaCIS.Application.Interfaces; using IRaCIS.Core.Infra.EFCore; using IRaCIS.Core.Domain.Share; using IRaCIS.Core.Application.Filter; using Microsoft.AspNetCore.Mvc; using IRaCIS.Core.Application.Service.WorkLoad.DTO; using Microsoft.AspNetCore.Authorization; using IRaCIS.Core.Application.Auth; using IRaCIS.Core.Application.Service.Reading.Dto; using MassTransit; using IRaCIS.Core.Application.Service.Reading; using IRaCIS.Core.Infra.EFCore.Common; using Panda.DynamicWebApi.Attributes; namespace IRaCIS.Application.Services { /// /// IR影像阅片 /// [ApiExplorerSettings(GroupName = "Reading")] public class ReadingImageTaskService : BaseService { private readonly IRepository _noneDicomStudyRepository; private readonly IRepository _visitTaskRepository; private readonly IRepository _readingQuestionCriterionTrialRepository; private readonly IRepository _readingQuestionTrialRepository; public ReadingImageTaskService( IRepository noneDicomStudyRepository, IRepository visitTaskRepository, IRepository readingQuestionCriterionTrialRepository, IRepository readingQuestionTrialRepository ) { this._noneDicomStudyRepository = noneDicomStudyRepository; this._visitTaskRepository = visitTaskRepository; this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository; this._readingQuestionTrialRepository = readingQuestionTrialRepository; } /// /// 获取阅片非Dicom文件 /// /// /// [HttpPost] public async Task> GetReadingImageFile(GetReadingImgInDto inDto) { List imgList =await _noneDicomStudyRepository.Where(x => x.SubjectVisitId == inDto.SubjectVisitId) .SelectMany(x => x.NoneDicomFileList).Select(x=> new GetReadingImgOutDto() { FileName=x.FileName, Path=x.Path }).ToListAsync(); return imgList; } /// /// 获取项目已确认的标准 /// /// /// [HttpPost] public async Task> GetTrialConfirmCriterionList(GetConfirmCriterionInDto inDto) { var result= await _readingQuestionCriterionTrialRepository.Where(x => x.TrialId == inDto.TrialId&&x.IsConfirm) .Select(x => new GetTrialConfirmCriterionListOutDto() { CriterionId = x.Id, CriterionName = x.CriterionName }).ToListAsync(); return result; } /// /// 获取项目的阅片问题 /// /// /// [HttpPost] public async Task> GetTrialReadingQuestion(GetTrialReadingQuestionInDto inDto) { var qusetionList = await _readingQuestionTrialRepository.Where(x => x.Id == inDto.CriterionId).ToListAsync(); //List groupNames var result = await _readingQuestionTrialRepository.Where(x => x.Id == inDto.CriterionId) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); return result; } ///// ///// ///// ///// ///// //public async Task SubmitVisitTaskQuestions(SubmitVisitTaskQuestionsInDto InDto) //{ //} } }