using IRaCIS.Core.Application.Service.Reading.Dto;
using IRaCIS.Core.Domain.Share;
using Microsoft.AspNetCore.Http;
using MiniSoftware;
using System.Data;
namespace IRaCIS.Core.Application.Service
{
public interface IGeneralCalculateService
{
///
/// 获取ReadingCalculateDto
///
///
///
Task GetReadingCalculateDto(Guid visitTaskId);
///
/// 获取阅片报告任务List
///
///
///
Task> GetReadingReportTaskList(Guid visitTaskId);
///
/// 添加转化任务病灶信息
///
///
///
///
Task AddConvertedTaskFocus(Guid visitTaskId, Guid beforeConvertedTaskId);
///
/// 添加计算错误日志
///
///
///
///
///
Task LogRecord(ReadingCalculateDto inDto, string lesionName, LesionType lesionType);
///
/// 从上传文件中获取Datatable
///
///
///
Task GetDataTableFromUpload(IFormFile file, string pathCode, Guid trialId);
///
/// 获取图片
///
///
///
///
///
Task GetWordPicture(string url, string savePath, int width);
///
/// 获取图片
///
///
///
///
///
Task GetWordPicture(string url, string savePath, int width, int height);
///
/// 下载文件
///
///
///
///
Task FileDownSave(string url, string savePath);
///
/// 获取并复制文件流
///
///
///
Stream ReadAndReturnStream(string outputFilePath);
///
/// 最大宽高 保持比例
///
///
///
///
///
///
Task GetWordPictureMaxWL(string url, string savePath, int width, int height);
///
/// 空转为横线
///
///
///
Dictionary StringEmptyTurnedLine(Dictionary myDictionary);
///
/// 获取病灶的图片 rowinfoList要带question的信息
///
///
///
///
///
Task>> GetLesionPic(List rowinfoList, LesionType lesionType, Guid downLoadGuid);
///
/// 获取任务问题答案
///
/// 问题答案
/// 字典数据
/// 单位字典
/// 任务Id
/// 任务类型
///
string GetTaskanswer(List? answerList, List? dictionList, List? unitDictionary, Guid taskId, QuestionType questionType);
///
/// 获取任务表格问题答案
///
/// 表格答案
/// 字典
/// 单位字典
/// 任务Id
/// 病灶类型
/// 问题标识
/// 索引
///
string GetTaskTableAnswer(List? tableAnswerList, List? dictionList, List? unitDictionary, Guid taskId, LesionType lesionType, QuestionMark questionMark, decimal rowIndex, bool AutoUnit = true);
///
/// 获取阅片报告
///
///
///
Task GetReportExportNo(VisitTask visitTaskInfo);
void SetPropertyDynamically(object targetObj, string targetPropName, object sourceObj, string prefix);
}
}