diff --git a/IRaCIS.Core.API/Controllers/DownLoadController.cs b/IRaCIS.Core.API/Controllers/DownLoadController.cs index 5f0506fe9..7fd779621 100644 --- a/IRaCIS.Core.API/Controllers/DownLoadController.cs +++ b/IRaCIS.Core.API/Controllers/DownLoadController.cs @@ -1,74 +1,88 @@ -//using AutoMapper; -//using AutoMapper.QueryableExtensions; -//using IRaCIS.Application.ViewModels; -//using IRaCIS.Core.Application.Contracts; -//using IRaCIS.Core.Application.Filter; -//using IRaCIS.Core.Application.MediatR.CommandAndQueries; -//using IRaCIS.Core.Domain.Models; -//using IRaCIS.Core.Domain.Share; -//using IRaCIS.Core.Infra.EFCore; -//using IRaCIS.Core.Infrastructure.Extention; -//using Magicodes.ExporterAndImporter.Core; -//using Magicodes.ExporterAndImporter.Excel; -//using MediatR; -//using Microsoft.AspNetCore.Hosting; -//using Microsoft.AspNetCore.Http; -//using Microsoft.AspNetCore.Mvc; -//using Microsoft.AspNetCore.WebUtilities; -//using Microsoft.Net.Http.Headers; -//using System; -//using System.IO; -//using System.Linq; -//using System.Threading.Tasks; +using AutoMapper; -//namespace IRaCIS.Core.API.Controllers -//{ -// [ApiExplorerSettings(GroupName = "Image")] -// [ApiController] -// public class DownLoadController : ControllerBase -// { -// public IMapper _mapper { get; set; } -// public IUserInfo _userInfo { get; set; } -// private readonly IMediator _mediator; +using IRaCIS.Core.Domain.Models; -// private readonly IWebHostEnvironment _hostEnvironment; +using IRaCIS.Core.Infra.EFCore; -// private readonly IServiceProvider _serviceProvider; +using MediatR; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Mvc; -// public DownLoadController(IMapper mapper, IUserInfo userInfo, IMediator mediator, IWebHostEnvironment hostEnvironment, IServiceProvider serviceProvider) -// { -// _serviceProvider = serviceProvider; -// _hostEnvironment = hostEnvironment; -// _mediator = mediator; -// _mapper = mapper; -// _userInfo = userInfo; -// } +using System; +using System.IO; +using System.Linq; +using System.Threading.Tasks; -// [HttpGet("VisitPlan/DownloadInflunceStudyList{trialId:guid}/{createTime:dateTime}")] -// public async Task DownloadInflunceStudyList(Guid trialId, DateTime createTime, [FromServices] IRepository _influnceRepository) -// { -// var list = _influnceRepository.Where(t => t.TrialId == trialId && t.CreateTime == createTime) -// .ProjectTo(_mapper.ConfigurationProvider).ToList(); +namespace IRaCIS.Core.API.Controllers +{ + [ApiExplorerSettings(GroupName = "Trial")] + [ApiController] + public class DownLoadController : ControllerBase + { + public IMapper _mapper { get; set; } + public IUserInfo _userInfo { get; set; } -// if(list.Count == 0) -// { -// list.Add(new VisitPlanInfluenceSubjectVisitDTO() { CreateTime=DateTime.Now,SubjectCode="test",StudyTime=DateTime.Now,IsDicomStudy=false,HistoryWindow="test"}); -// } - -// IExporter exporter = new ExcelExporter(); - -// var result = await exporter.ExportAsByteArray(list); - - -// return new XlsxFileResult(bytes: bytes); - -// //return File(result, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"检查导出_{DateTime.Now}.xlsx"); - -// } + private readonly IWebHostEnvironment _hostEnvironment; + public DownLoadController(IMapper mapper, IUserInfo userInfo, IMediator mediator, IWebHostEnvironment hostEnvironment) + { + _hostEnvironment = hostEnvironment; + _mapper = mapper; + _userInfo = userInfo; + } -// } -//} + //[HttpGet("VisitPlan/DownloadInflunceStudyList{trialId:guid}/{createTime:dateTime}")] + //public async Task DownloadInflunceStudyList(Guid trialId, DateTime createTime, [FromServices] IRepository _influnceRepository) + //{ + // var list = _influnceRepository.Where(t => t.TrialId == trialId && t.CreateTime == createTime) + // .ProjectTo(_mapper.ConfigurationProvider).ToList(); + + // if (list.Count == 0) + // { + // list.Add(new VisitPlanInfluenceSubjectVisitDTO() { CreateTime = DateTime.Now, SubjectCode = "test", StudyTime = DateTime.Now, IsDicomStudy = false, HistoryWindow = "test" }); + // } + + // IExporter exporter = new ExcelExporter(); + + // var result = await exporter.ExportAsByteArray(list); + + + // return new XlsxFileResult(bytes: bytes); + + // //return File(result, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"检查导出_{DateTime.Now}.xlsx"); + + //} + + + + [HttpGet("CommonDocument/DownloadCommonDoc")] + public async Task DownloadCommonFile(string code, [FromServices] IRepository _commonDocumentRepository) + { + var doc = _commonDocumentRepository.AsQueryable(true).FirstOrDefault(t => t.Code == code); + + if (doc == null) + { + throw new Exception("当前code 没要找到对应的文件"); + } + + var rootPath = Directory.GetParent(_hostEnvironment.ContentRootPath.TrimEnd('\\')).FullName; + + var filePath = Path.Combine(rootPath, doc.Path.Trim('/')); + + if (!System.IO.File.Exists(filePath)) + { + throw new Exception("服务器本地不存在该路径文件"); + } + + + var stream = System.IO.File.OpenRead(filePath); + return File(stream, "application/octet-stream", Path.GetFileName(doc.Name)); + + } + + + } +} diff --git a/IRaCIS.Core.API/Controllers/UploadController.cs b/IRaCIS.Core.API/Controllers/UploadController.cs index c33650148..a0a63bd1c 100644 --- a/IRaCIS.Core.API/Controllers/UploadController.cs +++ b/IRaCIS.Core.API/Controllers/UploadController.cs @@ -153,31 +153,6 @@ namespace IRaCIS.Core.API.Controllers - [HttpGet("CommonDocument/DownloadCommonDoc")] - public async Task DownloadCommonFile(string code, [FromServices] IRepository _commonDocumentRepository) - { - var doc = _commonDocumentRepository.AsQueryable(true).FirstOrDefault(t => t.Code == code); - - if (doc==null) - { - throw new Exception("当前code 没要找到对应的文件"); - } - - var rootPath = Directory.GetParent(_hostEnvironment.ContentRootPath.TrimEnd('\\')).FullName; - - var filePath = Path.Combine(rootPath, doc.Path.Trim('/')); - - if (!System.IO.File.Exists(filePath)) - { - throw new Exception("服务器本地不存在该路径文件"); - } - - - var stream = System.IO.File.OpenRead(filePath); - return File(stream, "application/octet-stream", Path.GetFileName(doc.Name)); - - } - private void DealCommonStorePath(string fileType, string moduleType, string fileRealName, out string serverFilePath, out string relativePath) { diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml index 182fd8046..e2607fe66 100644 --- a/IRaCIS.Core.API/IRaCIS.Core.API.xml +++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml @@ -4,106 +4,6 @@ IRaCIS.Core.API - - - 主要处理 前端404等错误 全局业务异常已统一处理了,非业务错误会来到这里 - - - - - - - 医生基本信息 、工作信息 专业信息、审核状态 - - - - - 获取医生详情 - - - - - - - - - - - - 系统用户登录接口[New] - - - - 文件上传 - - - - - 上传文件[FileUpload] - - 附件类型 - 医生Id - 返回文件信息 - - - - 上传文件( 不是医生个人的文件)[FileUpload] - 例如:阅片章程等 - - 文件类型 - - - - - 写文件导到磁盘 - - 流 - 文件保存路径 - - - - - 下载多个医生的所有附件 - - - - - - - 下载医生官方简历 - - - - - - - - 下载指定医生的指定附件 - - 医生Id - 要下载的附件Id - - - - - 流式上传 临时文件 - - - - - - 流式上传 非Dicom文件 - - - - - - Study - - - - 归档 - 添加实验项目-返回新增Id[AUTH] @@ -237,6 +137,99 @@ 序列化成员 + + + 医生基本信息 、工作信息 专业信息、审核状态 + + + + + 获取医生详情 + + + + + + + + + + + + 系统用户登录接口[New] + + + + 文件上传 + + + + + 上传文件[FileUpload] + + 附件类型 + 医生Id + 返回文件信息 + + + + 上传文件( 不是医生个人的文件)[FileUpload] + 例如:阅片章程等 + + 文件类型 + + + + + 写文件导到磁盘 + + 流 + 文件保存路径 + + + + + 下载多个医生的所有附件 + + + + + + + 下载医生官方简历 + + + + + + + + 下载指定医生的指定附件 + + 医生Id + 要下载的附件Id + + + + + 流式上传 临时文件 + + + + + + 流式上传 非Dicom文件 + + + + + + Study + + + + 归档 + 为了前端 一段时间无操作,需要重新登陆 @@ -244,6 +237,13 @@ + + + 主要处理 前端404等错误 全局业务异常已统一处理了,非业务错误会来到这里 + + + + 对称可逆加密 diff --git a/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs b/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs index ef0d168dc..413864f57 100644 --- a/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs +++ b/IRaCIS.Core.Application/Service/Common/DTO/DictionaryModel.cs @@ -29,7 +29,8 @@ namespace IRaCIS.Application.Contracts public string Description { get; set; } = String.Empty; - + + public string ChildGroup { get; set; } = String.Empty; public string Value { get; set; } = String.Empty; diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index db159f129..ef2b538d3 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -17,7 +17,7 @@ namespace IRaCIS.Application.Services private readonly IRepository _trialUseRepository; private readonly IRepository _trialRepository; - public TrialMaintenanceService(IRepository trialUseRepository,IRepository trialRepository) + public TrialMaintenanceService(IRepository trialUseRepository, IRepository trialRepository) { _trialUseRepository = trialUseRepository; _trialRepository = trialRepository; @@ -33,7 +33,7 @@ namespace IRaCIS.Application.Services { var query = _trialUseRepository.Where(t => t.TrialId == param.TrialId).IgnoreQueryFilters() - .WhereIf(param.UserTypeId!=null, t => t.User.UserTypeId==param.UserTypeId) + .WhereIf(param.UserTypeId != null, t => t.User.UserTypeId == param.UserTypeId) .WhereIf(!string.IsNullOrWhiteSpace(param.UserName), t => t.User.UserName.Contains(param.UserName)) .WhereIf(param.IsDeleted != null, t => t.IsDeleted == param.IsDeleted) @@ -46,24 +46,44 @@ namespace IRaCIS.Application.Services } - [HttpGet] - public async Task TrialUserListExport(Guid trialId) - { - var list = _trialUseRepository.Where(t => t.TrialId == trialId).IgnoreQueryFilters() - .ProjectTo(_mapper.ConfigurationProvider).ToList(); + //[HttpGet] + //public async Task TrialUserListExport(Guid trialId) + //{ + + // var exportInfo = new TrialUserExportDTO() + // { + // TrialInfo = await _trialRepository.ProjectTo(_mapper.ConfigurationProvider).FirstOrDefaultAsync(), + // TrialUserList = await _trialUseRepository.Where(t => t.TrialId == trialId).IgnoreQueryFilters().ProjectTo(_mapper.ConfigurationProvider).ToListAsync() + // }; + + // IExporter exporter = new ExcelExporter(); + + // ////模板路径 + // //var tplPath = Path.Combine(Directory.GetCurrentDirectory(), "TestFiles", "ExportTemplates", + // // "2020年春季教材订购明细样表.xlsx"); + // ////创建Excel导出对象 + // //IExportFileByTemplate exporter = new ExcelExporter(); + // ////导出路径 + // //var filePath = Path.Combine(Directory.GetCurrentDirectory(), nameof(ExportByTemplate_Test) + ".xlsx"); + // //if (File.Exists(filePath)) File.Delete(filePath); + // ////根据模板导出 + // //await exporter.ExportByTemplate(filePath, + // // new TextbookOrderInfo("湖南心莱信息科技有限公司", "湖南长沙岳麓区", "雪雁", "1367197xxxx", "雪雁", DateTime.Now.ToLongDateString(), + // // new List() + // // { + // // new BookInfo(1, "0000000001", "《XX从入门到放弃》", "张三", "机械工业出版社", "3.14", 100, "备注"), + // // new BookInfo(2, "0000000002", "《XX从入门到放弃》", "张三", "机械工业出版社", "3.14", 100, "备注"), + // // new BookInfo(3, "0000000003", "《XX从入门到放弃》", "张三", "机械工业出版社", "3.14", 100, "备注") + // // }), + // // tplPath); + + // //var result = await exporter.ExportAsByteArray(list); - //var trialInfo= _re - - IExporter exporter = new ExcelExporter(); - - var result = await exporter.ExportAsByteArray(list); + // return new XlsxFileResult(bytes: result, fileDownloadName: $"检查导出_{DateTime.Now.ToString("yyyy-MM-dd:hh:mm:ss")}.xlsx"); - return new XlsxFileResult(bytes: result, fileDownloadName: $"检查导出_{DateTime.Now.ToString("yyyy-MM-dd:hh:mm:ss")}.xlsx"); - - - } + //} diff --git a/IRaCIS.Core.Domain/Common/Dictionary.cs b/IRaCIS.Core.Domain/Common/Dictionary.cs index 9a4a16035..3a8aeac0b 100644 --- a/IRaCIS.Core.Domain/Common/Dictionary.cs +++ b/IRaCIS.Core.Domain/Common/Dictionary.cs @@ -32,7 +32,7 @@ namespace IRaCIS.Core.Domain.Models public int ShowOrder { get; set; } - public string Type { get; set; } + public string ChildGroup { get; set; } public Guid UpdateUserId { get; set; } public DateTime UpdateTime { get; set; }