修改一版

This commit is contained in:
he
2022-04-12 15:57:54 +08:00
parent d88621f2a9
commit 0c0d0a504b
8 changed files with 76 additions and 14 deletions
@@ -3,6 +3,9 @@
// 生成时间 2021-12-06 10:56:50
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Application.Service.Inspection.DTO;
using Microsoft.AspNetCore.Http;
namespace IRaCIS.Core.Application.Contracts
{
/// <summary> NoneDicomStudyFileView 列表视图模型 </summary>
@@ -19,6 +22,15 @@ namespace IRaCIS.Core.Application.Contracts
}
public class UploadNoneDicomFileDto
{
public Guid subjectVisitId { get; set; }
public Guid noneDicomStudyId { get; set; }
public string AuditInfo { get; set; } = string.Empty;
}
public class NoneDicomStudyAndFile
{
public string NoneDicomStudyCode { get; set; } = string.Empty;
@@ -18,6 +18,6 @@ namespace IRaCIS.Core.Application.Contracts
Task<List<NoneDicomStudyFileView>> GetNoneDicomStudyFileList(Guid noneDicomStudyId);
Task<List<NoneDicomStudyView>> GetNoneDicomStudyList(Guid subjectVisitId);
Task<List<NoneDicomStudyFileView>> GetVisitNoneDicomStudyFileList(Guid subjectVisitId);
Task<IResponseOutput> UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId, [FromServices] IWebHostEnvironment _hostEnvironment);
Task<IResponseOutput> UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId);
}
}
@@ -10,6 +10,9 @@ using IRaCIS.Core.Domain.Share;
using SharpCompress.Archives;
using IRaCIS.Core.Application.Filter;
using IRaCIS.Core.Infra.EFCore;
using Newtonsoft.Json;
using IRaCIS.Core.Application.Service.Inspection.Interface;
using IRaCIS.Core.Application.Service.Inspection.DTO;
namespace IRaCIS.Core.Application.Contracts
{
@@ -20,11 +23,22 @@ namespace IRaCIS.Core.Application.Contracts
public class NoneDicomStudyService : BaseService, INoneDicomStudyService
{
private readonly IRepository<NoneDicomStudy> _noneDicomStudyRepository;
private readonly IHttpContextAccessor _httpContext;
private readonly IWebHostEnvironment _hostEnvironment;
private readonly IInspectionService _inspectionService;
private readonly IRepository<NoneDicomStudyFile> _noneDicomStudyFileRepository;
public NoneDicomStudyService(IRepository<NoneDicomStudy> noneDicomStudyRepository,IRepository<NoneDicomStudyFile> noneDicomStudyFileRepository)
public NoneDicomStudyService(IRepository<NoneDicomStudy> noneDicomStudyRepository,
IHttpContextAccessor httpContext,
IWebHostEnvironment hostEnvironment,
IInspectionService inspectionService,
IRepository<NoneDicomStudyFile> noneDicomStudyFileRepository)
{
_noneDicomStudyRepository = noneDicomStudyRepository;
this._httpContext = httpContext;
this._hostEnvironment = hostEnvironment;
this._inspectionService = inspectionService;
_noneDicomStudyFileRepository = noneDicomStudyFileRepository;
}
@@ -158,6 +172,23 @@ namespace IRaCIS.Core.Application.Contracts
return await _repository.Where<NoneDicomStudyFile>(t => t.NoneDicomStudy.SubjectVisitId == subjectVisitId).ProjectTo<NoneDicomStudyFileView>(_mapper.ConfigurationProvider, new { token = _userInfo.UserToken }).ToListAsync();
}
/// <summary>
/// 上传非Dicom 文件 支持压缩包
/// </summary>
[HttpPost]
public async Task<IResponseOutput> NewUploadNoneDicomFile([FromForm]UploadNoneDicomFileDto fileDto)
{
var file = this._httpContext.HttpContext?.Request.Form;
var result= await UploadNoneDicomFile(file, fileDto.subjectVisitId, fileDto.noneDicomStudyId);
if (result.IsSuccess)
{
await _inspectionService.AddInspectionRecordAsync(
JsonConvert.DeserializeObject<DataInspectionAddDTO>(fileDto.AuditInfo));
}
return result;
}
/// <summary>
/// 上传非Dicom 文件 支持压缩包
@@ -167,10 +198,10 @@ namespace IRaCIS.Core.Application.Contracts
/// <param name="noneDicomStudyId"></param>
/// <param name="_hostEnvironment"></param>
/// <returns></returns>
//[DisableRequestSizeLimit]
[RequestSizeLimit(1_073_741_824)]
[HttpPost("{noneDicomStudyId:guid}/{subjectVisitId:guid}")]
public async Task<IResponseOutput> UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId, [FromServices] IWebHostEnvironment _hostEnvironment)
//[DisableRequestSizeLimit]
[RequestSizeLimit(1_073_741_824)]
[HttpPost("{noneDicomStudyId:guid}/{subjectVisitId:guid}")]
public async Task<IResponseOutput> UploadNoneDicomFile(IFormCollection formCollection, Guid subjectVisitId, Guid noneDicomStudyId)
{
var rootPath = Directory.GetParent(_hostEnvironment.ContentRootPath.TrimEnd('\\')).IfNullThrowException().FullName;