diff --git a/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetPacsDicomDataByCheckRequestNo.cs b/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetPacsDicomDataByCheckRequestNo.cs new file mode 100644 index 0000000..6d776ca --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetPacsDicomDataByCheckRequestNo.cs @@ -0,0 +1,11 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace Shentun.Peis.PacsBusiness +{ + public class GetPacsDicomDataByCheckRequestNo + { + public + } +} diff --git a/src/Shentun.Peis.Application.Contracts/PacsBusiness/ImportPacsDicomDataInputDto.cs b/src/Shentun.Peis.Application.Contracts/PacsBusiness/ImportPacsDicomDataInputDto.cs index 5c90484..64d9ab1 100644 --- a/src/Shentun.Peis.Application.Contracts/PacsBusiness/ImportPacsDicomDataInputDto.cs +++ b/src/Shentun.Peis.Application.Contracts/PacsBusiness/ImportPacsDicomDataInputDto.cs @@ -9,7 +9,7 @@ namespace Shentun.Peis.PacsBusiness /// /// 条码号 /// - public string RegisterCheckNo { get; set; } + public string CheckRequestNo { get; set; } /// /// 资源集合 diff --git a/src/Shentun.Peis.Application.Contracts/PacsBusiness/RegisterCheckPacsDto.cs b/src/Shentun.Peis.Application.Contracts/PacsBusiness/RegisterCheckPacsDto.cs new file mode 100644 index 0000000..c7b1a3a --- /dev/null +++ b/src/Shentun.Peis.Application.Contracts/PacsBusiness/RegisterCheckPacsDto.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.ComponentModel.DataAnnotations; +using System.Text; + +namespace Shentun.Peis.PacsBusiness +{ + public class RegisterCheckPacsDto + { + /// + /// DICOM文件路径 + /// + public string DicomPathName { get; set; } + + + /// + /// 本地资源路径 + /// + public string LocalPathName { get; set; } + + /// + /// 显示顺序 + /// + public int DisplayOrder { get; set; } + } +} diff --git a/src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs b/src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs index 9876bb8..728e6ac 100644 --- a/src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs +++ b/src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs @@ -1,7 +1,10 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; +using NPOI.POIFS.Storage; using Shentun.Peis.Enums; using Shentun.Peis.Models; +using Shentun.Peis.PatientRegisters; +using Shentun.Peis.PrintReports; using Shentun.Peis.RegisterCheckPictures; using System; using System.Collections.Generic; @@ -141,9 +144,9 @@ namespace Shentun.Peis.PacsBusiness { var realPath = _configuration["DicomVirtualPath:RealPath"]; var requestPath = _configuration["DicomVirtualPath:RequestPath"]; - if (string.IsNullOrWhiteSpace(input.RegisterCheckNo)) + if (string.IsNullOrWhiteSpace(input.CheckRequestNo)) throw new UserFriendlyException("条码号不能为空"); - var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(f => f.CheckRequestNo == input.RegisterCheckNo); + var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(f => f.CheckRequestNo == input.CheckRequestNo); if (registerCheckEnt == null) throw new UserFriendlyException("条码号不正确"); @@ -172,5 +175,32 @@ namespace Shentun.Peis.PacsBusiness } } + + + /// + /// 根据检查条码获取dicom文件 + /// + /// + [HttpPost("api/app/PacsBusiness/GetPacsDicomDataByCheckRequestNo")] + public async Task> GetPacsDicomDataByCheckRequestNoAsync(CheckRequestNoInputDto input) + { + if (string.IsNullOrWhiteSpace(input.CheckRequestNo)) + throw new UserFriendlyException("检查条码不能为空"); + + var registerCheckEnt = await _registerCheckRepository.FirstOrDefaultAsync(f => f.CheckRequestNo == input.CheckRequestNo); + if (registerCheckEnt == null) + throw new UserFriendlyException("检查条码不存在"); + + var registerCheckPacsList = await _registerCheckPacsRepository.GetListAsync(m => m.RegisterCheckId == registerCheckEnt.Id); + + var entListDto = registerCheckPacsList.Select(s => new RegisterCheckPacsDto + { + DicomPathName = s.DicomPathName, + DisplayOrder = s.DisplayOrder, + LocalPathName = s.LocalPathName + }).OrderBy(o => o.DisplayOrder).ToList(); + + return entListDto; + } } }