using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Domain.Share;
using IRaCIS.Core.Infra.EFCore.Common;
using IRaCIS.Core.Infrastructure;
using MassTransit;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Panda.DynamicWebApi.Attributes;
namespace IRaCIS.Core.Application.Service
{
///
/// 阅片问题.标准
///
[ApiExplorerSettings(GroupName = "Reading")]
public class ReadingQuestionService(IRepository _subjectVisitRepository,
IRepository _readingQuestionCriterionSystemRepository,
IRepository _readingQuestionCriterionTrialRepository,
IRepository _readingQuestionSystemRepository,
IRepository _readingQuestionTrialRepository,
IRepository _clinicalDataTrialSetRepository,
IRepository _clinicalDataSystemSetRepository,
IRepository _dictionaryRepository,
IReadingImageTaskService _iReadingImageTaskService,
IRepository _readingCriterionDictionaryRepository,
IRepository _readingTableQuestionTrialRepository,
IRepository _readingCriterionPageRepository,
IRepository _trialRepository,
IRepository _tumorAssessmentRepository,
IRepository _organInfoRepository,
IRepository _readingTableQuestionSystemRepository,
IRepository _readingTaskQuestionAnswer,
IRepository _previousPDFRepository, IMapper _mapper, IUserInfo _userInfo, IStringLocalizer _localizer) : BaseService, IReadingQuestionService
{
#region 获取计算问题
/////
///// 获取自定义问题预览
/////
/////
//[HttpPost]
//public async Task<(List,bool)> GetCustomQuestionPreview(GetCustomQuestionPreviewInDto inDto)
//{
// return (await _iReadingImageTaskService.GetReadingQuestion(inDto.TrialReadingCriterionId, null),true);
//}
///
/// 获取自定义表格问题预览
///
///
[HttpPost]
public async Task<(GetReadingTableQuestionOutDto, bool)> GetCustomTableQuestionPreview(GetCustomQuestionPreviewInDto inDto)
{
List tableAnswers = new List();
List tableAnsweRowInfos = new List();
return (await _iReadingImageTaskService.GetReadingTableQuestion(
new GetReadingTableQuestionOrAnswerInDto()
{
TrialReadingCriterionId = inDto.TrialReadingCriterionId,
TableAnswers = tableAnswers,
TableAnsweRowInfos = tableAnsweRowInfos,
IsGetallQuestion = true,
IsGetPreview = true
}
), true);
}
public async Task