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 AutoMapper;
using IRaCIS.Core.Application.Contracts;
using IRaCIS.Core.Infrastructure;
using IRaCIS.Core.Application.Service;
using IRaCIS.Core.Application.ViewModel;
using IRaCIS.Core.Application.Interfaces;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Microsoft.Extensions.Caching.Memory;
using IRaCIS.Core.Application.Filter;
using DocumentFormat.OpenXml.Drawing;
using EasyCaching.Core;
using DocumentFormat.OpenXml.Drawing.Charts;
using IRaCIS.Core.Application.Service.ReadingCalculate.Interface;
using AutoMapper.QueryableExtensions;
using IRaCIS.Application.Contracts;
using IRaCIS.Core.Domain.Models;
namespace IRaCIS.Application.Services
{
///
/// IR影像阅片
///
[ApiExplorerSettings(GroupName = "Reading")]
public partial class ReadingImageTaskService : BaseService, IReadingImageTaskService
{
private readonly IRepository _noneDicomStudyRepository;
private readonly IRepository _visitTaskRepository;
private readonly IRepository _trialRepository;
private readonly IRepository _readingTableQuestionAnswerRepository;
private readonly IRepository _readingOncologyTaskInfoRepository;
private readonly IVisitTaskHelpeService _visitTaskHelpeService;
private readonly IVisitTaskService _visitTaskService;
private readonly IReadingClinicalDataService _readingClinicalDataService;
private readonly IReadingCalculateService _readingCalculateService;
private readonly IRepository _subjectVisitRepository;
private readonly IRepository _subjectRepository;
private readonly IRepository _readingGlobalTaskInfoRepository;
private readonly IRepository _readingCriterionPageRepository;
private readonly IRepository _readingTaskRelationRepository;
private readonly IRepository _readingJudgeInfoRepository;
private readonly IRepository _readModuleRepository;
private readonly IRepository _dicomInstanceRepository;
private readonly IRepository _organInfoRepository;
private readonly IRepository _trialDocumentRepository;
private readonly IRepository _userRepository;
private readonly IEasyCachingProvider _provider;
private readonly ILuganoCalculateService _luganoCalculateService;
private readonly IRepository _readingCustomTagRepository;
private readonly IRepository _readingTaskQuestionMarkRepository;
private readonly IRepository _readingCriterionDictionaryRepository;
private readonly IRepository _readingTrialCriterionDictionaryRepository;
private readonly IRepository _tumorAssessmentRepository;
private readonly IRepository _readingTableAnswerRowInfoRepository;
private readonly IRepository _readingTableQuestionSystemRepository;
private readonly IRepository _readingTableQuestionTrialRepository;
private readonly IRepository _readingTaskQuestionAnswerRepository;
private readonly IRepository _readingQuestionCriterionTrialRepository;
private readonly IRepository _readingQuestionCriterionSystemRepository;
private readonly IRepository _readingQuestionSystem;
private readonly IRepository _noneDicomStudyFileSystem;
private readonly IGeneralCalculateService _generalCalculateService;
private readonly IRepository _readingQuestionTrialRepository;
private readonly ITrialEmailNoticeConfigService _trialEmailNoticeConfigService;
public ReadingImageTaskService(
IRepository noneDicomStudyRepository,
IRepository visitTaskRepository,
IRepository TrialRepository,
IRepository ReadingTableQuestionAnswerRepository,
IRepository ReadingOncologyTaskInfoRepository,
IVisitTaskHelpeService visitTaskHelpeService,
IVisitTaskService visitTaskService,
IReadingClinicalDataService readingClinicalDataService,
IReadingCalculateService readingCalculateService,
IRepository subjectVisitRepository,
IRepository subjectRepository,
IRepository readingGlobalTaskInfoRepository,
IRepository readingCriterionPageRepository,
IRepository readingTaskRelationRepository,
IRepository readingJudgeInfoRepository,
IRepository readModuleRepository,
IRepository dicomInstanceRepository,
IRepository organInfoRepository,
IRepository trialDocumentRepository,
IRepository userRepository,
IEasyCachingProvider provider,
ILuganoCalculateService luganoCalculateService,
IRepository readingCustomTagRepository,
IRepository readingTaskQuestionMarkRepository,
IRepository readingCriterionDictionaryRepository,
IRepository readingTrialCriterionDictionaryRepository,
IRepository tumorAssessmentRepository,
IRepository readingTableAnswerRowInfoRepository,
IRepository readingTableQuestionSystemRepository,
IRepository readingTableQuestionTrialRepository,
IRepository readingTaskQuestionAnswerRepository,
IRepository readingQuestionCriterionTrialRepository,
IRepository readingQuestionCriterionSystemRepository,
IRepository ReadingQuestionSystem,
ITrialEmailNoticeConfigService trialEmailNoticeConfigService,
IRepository noneDicomStudyFileSystem,
IGeneralCalculateService generalCalculateService,
IRepository readingQuestionTrialRepository
)
{
this._noneDicomStudyRepository = noneDicomStudyRepository;
this._visitTaskRepository = visitTaskRepository;
this._trialRepository = TrialRepository;
this._readingTableQuestionAnswerRepository = ReadingTableQuestionAnswerRepository;
this._readingOncologyTaskInfoRepository = ReadingOncologyTaskInfoRepository;
this._visitTaskHelpeService = visitTaskHelpeService;
this._visitTaskService = visitTaskService;
this._readingClinicalDataService = readingClinicalDataService;
this._readingCalculateService = readingCalculateService;
this._subjectVisitRepository = subjectVisitRepository;
this._subjectRepository = subjectRepository;
this._readingGlobalTaskInfoRepository = readingGlobalTaskInfoRepository;
this._readingCriterionPageRepository = readingCriterionPageRepository;
this._readingTaskRelationRepository = readingTaskRelationRepository;
this._readingJudgeInfoRepository = readingJudgeInfoRepository;
this._readModuleRepository = readModuleRepository;
this._dicomInstanceRepository = dicomInstanceRepository;
this._organInfoRepository = organInfoRepository;
this._trialDocumentRepository = trialDocumentRepository;
this._userRepository = userRepository;
this._provider = provider;
this._luganoCalculateService = luganoCalculateService;
this._readingCustomTagRepository = readingCustomTagRepository;
this._readingTaskQuestionMarkRepository = readingTaskQuestionMarkRepository;
this._readingCriterionDictionaryRepository = readingCriterionDictionaryRepository;
this._tumorAssessmentRepository = tumorAssessmentRepository;
this._readingTableAnswerRowInfoRepository = readingTableAnswerRowInfoRepository;
this._readingTableQuestionSystemRepository = readingTableQuestionSystemRepository;
this._readingTableQuestionTrialRepository = readingTableQuestionTrialRepository;
this._readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
this._readingQuestionCriterionTrialRepository = readingQuestionCriterionTrialRepository;
this._readingQuestionCriterionSystemRepository = readingQuestionCriterionSystemRepository;
this._readingTrialCriterionDictionaryRepository = readingTrialCriterionDictionaryRepository;
this._readingQuestionSystem = ReadingQuestionSystem;
this._noneDicomStudyFileSystem = noneDicomStudyFileSystem;
this._generalCalculateService = generalCalculateService;
this._readingQuestionTrialRepository = readingQuestionTrialRepository;
this._trialEmailNoticeConfigService = trialEmailNoticeConfigService;
}
#region 计算
///
/// 获取阅片的计算数据
///
///
///
[HttpPost]
public async Task