diff --git a/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetRegisterCheckPictureByPatientRegisterIdDto.cs b/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetRegisterCheckPictureByPatientRegisterIdDto.cs
new file mode 100644
index 0000000..414042f
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetRegisterCheckPictureByPatientRegisterIdDto.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.ComponentModel.DataAnnotations;
+using System.Text;
+
+namespace Shentun.Peis.PacsBusiness
+{
+ public class GetRegisterCheckPictureByPatientRegisterIdDto
+ {
+ ///
+ /// 姓名
+ ///
+ public string PatientName { get; set; }
+
+ ///
+ /// 项目名称
+ ///
+ public string AsbitemName { get; set; }
+
+ ///
+ /// registerCheck表ID
+ ///
+ public Guid RegisterCheckId { get; set; }
+
+
+ ///
+ /// 条码号
+ ///
+ public string CheckRequestNo { get; set; }
+
+
+ ///
+ /// 图片名
+ ///
+ public string PictureFilename { get; set; }
+
+
+ ///
+ /// 图片文件类型 0-仪器图片,1-报告文件,默认是0
+ ///
+ public char PictureFileType { get; set; }
+
+ ///
+ /// 本地资源路径
+ ///
+ public string LocalPathName { get; set; }
+
+
+ public int DisplayOrder { get; set; }
+ }
+}
diff --git a/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetRegisterCheckPictureByPatientRegisterIdInputDto.cs b/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetRegisterCheckPictureByPatientRegisterIdInputDto.cs
new file mode 100644
index 0000000..3a1e5b5
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/PacsBusiness/GetRegisterCheckPictureByPatientRegisterIdInputDto.cs
@@ -0,0 +1,17 @@
+using Shentun.Peis.PatientRegisters;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Text;
+
+namespace Shentun.Peis.PacsBusiness
+{
+ public class GetRegisterCheckPictureByPatientRegisterIdInputDto : PatientRegisterIdInputDto
+ {
+
+ ///
+ /// 检查类型 0-普通检查 1-检验 2-特检 3-放射
+ ///
+ public char CheckTypeFlag { get; set; } = '3';
+ }
+}
diff --git a/src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs b/src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs
index 6e5c8ef..188e721 100644
--- a/src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs
+++ b/src/Shentun.Peis.Application/PacsBusiness/PacsBusinessAppService.cs
@@ -57,7 +57,8 @@ namespace Shentun.Peis.PacsBusiness
private readonly ICurrentUser _currentUser;
private readonly IRepository _userItemTypeRepository;
private readonly IRepository _dicomFileDetailRepository;
- private readonly ILogger _logger;
+ private readonly ILogger _logger;
+ private readonly IRepository _itemTypeRepository;
public PacsBusinessAppService(
IConfiguration configuration,
IRepository registerCheckRepository,
@@ -76,7 +77,8 @@ namespace Shentun.Peis.PacsBusiness
ICurrentUser currentUser,
IRepository userItemTypeRepository,
IRepository dicomFileDetailRepository,
- ILogger logger)
+ ILogger logger,
+ IRepository itemTypeRepository)
{
_configuration = configuration;
_registerCheckRepository = registerCheckRepository;
@@ -96,6 +98,7 @@ namespace Shentun.Peis.PacsBusiness
_userItemTypeRepository = userItemTypeRepository;
_dicomFileDetailRepository = dicomFileDetailRepository;
_logger = logger;
+ _itemTypeRepository = itemTypeRepository;
}
@@ -534,6 +537,46 @@ namespace Shentun.Peis.PacsBusiness
return entListDto;
}
+ ///
+ /// 查询人员的检查图片
+ ///
+ ///
+ ///
+ [HttpPost("api/app/PacsBusiness/GetRegisterCheckPictureByPatientRegisterId")]
+ public async Task> GetRegisterCheckPictureByPatientRegisterIdAsync(GetRegisterCheckPictureByPatientRegisterIdInputDto input)
+ {
+ var query = (from registerCheckPicture in await _registerCheckPictureRepository.GetQueryableAsync()
+ join registerCheck in await _registerCheckRepository.GetQueryableAsync() on registerCheckPicture.RegisterCheckId equals registerCheck.Id
+ join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on registerCheck.PatientRegisterId equals patientRegister.Id
+ join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
+ join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id
+ join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitem.ItemTypeId equals itemType.Id
+ where patientRegister.Id == input.PatientRegisterId && itemType.CheckTypeFlag == input.CheckTypeFlag
+ select new
+ {
+ registerCheckPicture,
+ patientName = patientRegister.PatientName,
+ asbitemName = asbitem.DisplayName,
+ checkRequestNo = registerCheck.CheckRequestNo
+ }).ToList();
+
+ var registerCheckPictureGroup = query.GroupBy(g => g.registerCheckPicture);
+
+ var entListDto = registerCheckPictureGroup.Select(s => new GetRegisterCheckPictureByPatientRegisterIdDto
+ {
+ AsbitemName = string.Join(",", s.Select(rs => rs.asbitemName).ToList()),
+ DisplayOrder = s.Key.DisplayOrder,
+ CheckRequestNo = s.FirstOrDefault().checkRequestNo,
+ LocalPathName = s.Key.LocalPathName,
+ PictureFilename = s.Key.PictureFilename,
+ PictureFileType = s.Key.PictureFileType,
+ PatientName = s.FirstOrDefault().patientName,
+ RegisterCheckId = s.Key.RegisterCheckId
+ }).ToList();
+
+ return entListDto;
+ }
+
///
/// 删除体检dicom服务数据,并清理dicom服务记录
///
@@ -578,6 +621,6 @@ namespace Shentun.Peis.PacsBusiness
}
}
-
+
}
}