using IRaCIS.Core.Domain.Share;
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Service.Reading.Dto;
using MassTransit;
using IRaCIS.Core.Infra.EFCore.Common;
using Panda.DynamicWebApi.Attributes;
using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Infrastructure;
using Newtonsoft.Json;
namespace IRaCIS.Application.Services
{
///
/// 阅片问题.标准
///
[ApiExplorerSettings(GroupName = "Reading")]
public class ReadingQuestionService : BaseService, IReadingQuestionService
{
private readonly IRepository _subjectVisitRepository;
private readonly IRepository _readingQuestionCriterionSystemRepository;
private readonly IRepository _readingQuestionCriterionTrialRepository;
private readonly IRepository _readingQuestionSystemRepository;
private readonly IRepository _readingQuestionTrialRepository;
private readonly IRepository _clinicalDataTrialSetRepository;
private readonly IRepository _clinicalDataSystemSetRepository;
private readonly IRepository _dictionaryRepository;
private readonly IReadingImageTaskService _iReadingImageTaskService;
private readonly IRepository _readingCriterionDictionaryRepository;
private readonly IRepository _readingTableQuestionTrialRepository;
private readonly IRepository _readingCriterionPageRepository;
private readonly IRepository _trialRepository;
private readonly IRepository _tumorAssessmentRepository;
private readonly IRepository _organInfoRepository;
private readonly IRepository _readingTableQuestionSystemRepository;
private readonly IRepository _readingTaskQuestionAnswer;
private readonly IRepository _previousPDFRepository;
public 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
)
{
this._subjectVisitRepository = subjectVisitRepository;
this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionSystemRepository = readingQuestionSystemRepository;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._clinicalDataTrialSetRepository = ClinicalDataTrialSetRepository;
this._clinicalDataSystemSetRepository = ClinicalDataSystemSetRepository;
this._dictionaryRepository = dictionaryRepository;
this._iReadingImageTaskService = iReadingImageTaskService;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
this._readingCriterionPageRepository = readingCriterionPageRepository;
this._trialRepository = trialRepository;
this._tumorAssessmentRepository = tumorAssessmentRepository;
this._organInfoRepository = organInfoRepository;
this._readingTableQuestionSystemRepository = readingTableQuestionSystemRepository;
this._readingTaskQuestionAnswer = readingTaskQuestionAnswer;
this._previousPDFRepository = previousPDFRepository;
}
#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