diff --git a/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseSummaryReportDto.cs b/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseSummaryReportDto.cs
new file mode 100644
index 0000000..89e6633
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseSummaryReportDto.cs
@@ -0,0 +1,196 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Xml.Schema;
+
+namespace Shentun.Peis.OccupationalDiseaseReports
+{
+ public class GetCompanyOccupationalDiseaseSummaryReportDto
+ {
+
+
+ ///
+ /// 单位名称
+ ///
+ public string CustomerOrgName { get; set; }
+
+ ///
+ /// 证书编号
+ ///
+ public string CertificateNo { get; set; }
+
+
+ ///
+ /// 体检类别
+ ///
+ public string MedicalTypeName { get; set; }
+
+ ///
+ /// 体检日期 年月日
+ ///
+ public string MedicalStartDate { get; set; }
+
+ ///
+ /// 备案号
+ ///
+ public string RecordNumber { get; set; }
+
+ ///
+ /// 体检中心名称
+ ///
+ public string MedicalCenterName { get; set; }
+
+ ///
+ /// 体检地点
+ ///
+ public string MedicalCenterAddress { get; set; }
+
+
+ ///
+ /// 报告日期 年月日
+ ///
+ public string ReportDate { get; set; }
+
+
+ ///
+ /// 体检总人数
+ ///
+ public int MedicalSumCount { get; set; }
+
+ ///
+ /// 离岗时人数
+ ///
+ public int WhenLeavingWorkCount { get; set; }
+
+ ///
+ /// 在岗期间人数
+ ///
+ public int OnDutyCount { get; set; }
+
+ ///
+ ///危害因素 A、B格式
+ ///
+ public string PoisonNames { get; set; }
+
+
+ ///
+ ///部分结论 A、B格式
+ ///
+ public string Conclusions { get; set; }
+
+ ///
+ /// 工种 A、B格式
+ ///
+ public string JobTypes { get; set; }
+
+ /////
+ ///// 疑似职业病人数
+ /////
+ //public int SuspectedOccupationalDiseaseCount { get; set; }
+
+ /////
+ ///// 疑似职业病比例
+ /////
+ //public decimal SuspectedOccupationalDiseaseRatio { get; set; }
+
+
+ /////
+ ///// 职业禁忌症人数
+ /////
+ //public int OccupationalContraindicationsCount { get; set; }
+
+ /////
+ ///// 职业禁忌症比例
+ /////
+ //public decimal OccupationalContraindicationsRatio { get; set; }
+
+
+ /////
+ ///// 复查人数
+ /////
+ //public int ReviewCount { get; set; }
+
+ /////
+ ///// 复查比例
+ /////
+ //public decimal ReviewRatio { get; set; }
+
+
+ /////
+ ///// 其他疾病人数
+ /////
+ //public int OtherDiseasesCount { get; set; }
+
+ /////
+ ///// 其他疾病比例
+ /////
+ //public decimal OtherDiseasesRatio { get; set; }
+
+ /////
+ ///// 未见异常人数
+ /////
+ //public int NoAbnormalConditionsCount { get; set; }
+
+ /////
+ ///// 未见异常比例
+ /////
+ //public decimal NoAbnormalConditionsRatio { get; set; }
+
+ ///
+ /// 结论
+ ///
+ public List ConclusionDetails { get; set; }
+
+ ///
+ /// 项目异常
+ ///
+ public List AsbitemAbnormals { get; set; }
+ }
+
+ public class GetCompanyOccupationalDiseaseSummaryReportAsbitemAbnormalDto
+ {
+ ///
+ /// 异常项目名称
+ ///
+ public string AbnormalAsbitemName { get; set; }
+
+ ///
+ /// 异常人数
+ ///
+ public int AbnormalCount { get; set; }
+
+ ///
+ /// 异常比例
+ ///
+ public decimal AbnormalRatio { get; set; }
+
+ ///
+ /// 排序值
+ ///
+ public int DisplayOrder { get; set; }
+ }
+
+
+ public class GetCompanyOccupationalDiseaseSummaryReportConclusionDetailDto
+ {
+ ///
+ /// 异常项目名称
+ ///
+ public string ConclusionName { get; set; }
+
+ ///
+ /// 异常人数
+ ///
+ public int ConclusionCount { get; set; }
+
+ ///
+ /// 异常比例
+ ///
+ public decimal ConclusionRatio { get; set; }
+
+ ///
+ /// 排序值
+ ///
+ public int DisplayOrder { get; set; }
+ }
+}
diff --git a/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseSummaryReportInputDto.cs b/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseSummaryReportInputDto.cs
new file mode 100644
index 0000000..1c32ca9
--- /dev/null
+++ b/src/Shentun.Peis.Application.Contracts/OccupationalDiseaseReports/GetCompanyOccupationalDiseaseSummaryReportInputDto.cs
@@ -0,0 +1,12 @@
+using Shentun.Peis.PeisReports;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Shentun.Peis.OccupationalDiseaseReports
+{
+ public class GetCompanyOccupationalDiseaseSummaryReportInputDto
+ {
+ public List CustomerOrgs { get; set; } = new List() { };
+ }
+}
diff --git a/src/Shentun.Peis.Application/OccupationalDiseaseReports/OccupationalDiseaseReportAppService.cs b/src/Shentun.Peis.Application/OccupationalDiseaseReports/OccupationalDiseaseReportAppService.cs
new file mode 100644
index 0000000..c3edb09
--- /dev/null
+++ b/src/Shentun.Peis.Application/OccupationalDiseaseReports/OccupationalDiseaseReportAppService.cs
@@ -0,0 +1,242 @@
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using Shentun.Peis.Enums;
+using Shentun.Peis.Models;
+using Shentun.Peis.SysParmValues;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.Identity;
+
+namespace Shentun.Peis.OccupationalDiseaseReports
+{
+ [ApiExplorerSettings(GroupName = "Work")]
+ [Authorize]
+ public class OccupationalDiseaseReportAppService : ApplicationService
+ {
+
+ private readonly IRepository _patientRegisterRepository;
+ private readonly IRepository _registerCheckRepository;
+ private readonly IRepository _registerCheckAsbitemRepository;
+ private readonly IRepository _asbitemRepository;
+ private readonly IRepository _patientOccupationalDiseaseRepository;
+ private readonly SysParmValueManager _sysParmValueManager;
+ private readonly CacheService _cacheService;
+ private readonly IRepository _organizationUnitRepository;
+ private readonly IRepository _ocCheckTypeRepository;
+ private readonly IRepository _patientPoisonRepository;
+ private readonly IRepository _occupationalAbnormalRepository;
+ private readonly IRepository _poisonRepository;
+ private readonly IRepository _registerCheckSummaryRepository;
+
+ public OccupationalDiseaseReportAppService(
+ IRepository patientRegisterRepository,
+ IRepository registerCheckRepository,
+ IRepository registerCheckAsbitemRepository,
+ IRepository asbitemRepository,
+ IRepository patientOccupationalDiseaseRepository,
+ SysParmValueManager sysParmValueManager,
+ CacheService cacheService,
+ IRepository organizationUnitRepository,
+ IRepository ocCheckTypeRepository,
+ IRepository patientPoisonRepository,
+ IRepository occupationalAbnormalRepository,
+ IRepository poisonRepository,
+ IRepository registerCheckSummaryRepository)
+ {
+ _patientRegisterRepository = patientRegisterRepository;
+ _registerCheckRepository = registerCheckRepository;
+ _registerCheckAsbitemRepository = registerCheckAsbitemRepository;
+ _asbitemRepository = asbitemRepository;
+ _patientOccupationalDiseaseRepository = patientOccupationalDiseaseRepository;
+ _sysParmValueManager = sysParmValueManager;
+ _cacheService = cacheService;
+ _organizationUnitRepository = organizationUnitRepository;
+ _ocCheckTypeRepository = ocCheckTypeRepository;
+ _patientPoisonRepository = patientPoisonRepository;
+ _occupationalAbnormalRepository = occupationalAbnormalRepository;
+ _poisonRepository = poisonRepository;
+ _registerCheckSummaryRepository = registerCheckSummaryRepository;
+ }
+
+
+ ///
+ /// 获取单位职业病总结报告
+ ///
+ ///
+ [HttpPost("api/app/OccupationalDiseaseReport/GetCompanyOccupationalDiseaseSummaryReport")]
+ public async Task GetCompanyOccupationalDiseaseSummaryReportAsync(GetCompanyOccupationalDiseaseSummaryReportInputDto input)
+ {
+
+ if (!input.CustomerOrgs.Any())
+ throw new UserFriendlyException("单位信息不能为空");
+
+ var customerOrgPara = input.CustomerOrgs.First();
+ if (customerOrgPara.CustomerOrgId == null || customerOrgPara.CustomerOrgId == Guid.Empty)
+ throw new UserFriendlyException("单位不能为空");
+ if (customerOrgPara.CustomerOrgRegisterId == null || customerOrgPara.CustomerOrgRegisterId == Guid.Empty)
+ throw new UserFriendlyException("单位体检次数不能为空");
+
+ #region 人员信息
+ var query = from patientRegister in await _patientRegisterRepository.GetQueryableAsync()
+ join patientOccupationalDisease in await _patientOccupationalDiseaseRepository.GetQueryableAsync() on patientRegister.Id equals patientOccupationalDisease.PatientRegisterId
+ join patientPoison in await _patientPoisonRepository.GetQueryableAsync() on patientRegister.Id equals patientPoison.PatientRegisterId into patientPoisonTemp
+ from patientPoisonHaveEmpty in patientPoisonTemp.DefaultIfEmpty()
+ join poison in await _poisonRepository.GetQueryableAsync() on patientPoisonHaveEmpty.PoisonId equals poison.Id into poisonTemp
+ from posionHaveEmpty in poisonTemp.DefaultIfEmpty()
+ join occupationalAbnormal in await _occupationalAbnormalRepository.GetQueryableAsync() on patientPoisonHaveEmpty.OccupationalAbnormalId equals occupationalAbnormal.Id into occupationalAbnormalTemp
+ from occupationalAbnormalHaveEmpty in occupationalAbnormalTemp.DefaultIfEmpty()
+ where patientRegister.CustomerOrgRegisterId == customerOrgPara.CustomerOrgRegisterId
+ && patientRegister.CompleteFlag == PatientRegisterCompleteFlag.SumCheck
+ select new
+ {
+ patientRegister,
+ patientOccupationalDisease,
+ posionHaveEmpty,
+ patientPoisonHaveEmpty,
+ occupationalAbnormalHaveEmpty
+ };
+
+
+ if (!string.IsNullOrEmpty(customerOrgPara.StartDate) && !string.IsNullOrEmpty(customerOrgPara.EndDate))
+ {
+ if (customerOrgPara.DateType == '1')
+ {
+ query = query.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(customerOrgPara.StartDate) &&
+ m.patientRegister.CreationTime < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1));
+ }
+ else if (customerOrgPara.DateType == '2')
+ {
+ query = query.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) &&
+ m.patientRegister.MedicalStartDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1));
+ }
+ else if (customerOrgPara.DateType == '3')
+ {
+ query = query.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate.Value >= Convert.ToDateTime(customerOrgPara.StartDate) &&
+ m.patientRegister.SummaryDate.Value < Convert.ToDateTime(customerOrgPara.EndDate).AddDays(1));
+ }
+ }
+
+
+ if (customerOrgPara.CustomerOrgGroupId.Any())
+ {
+ query = query.Where(m => m.patientRegister.CustomerOrgGroupId != null && customerOrgPara.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value));
+ }
+
+ #endregion
+
+
+ var patientRegisterList = query.ToList();
+
+ var msg = new GetCompanyOccupationalDiseaseSummaryReportDto
+ {
+ AsbitemAbnormals = new List(),
+ ConclusionDetails = new List(),
+ };
+
+
+ if (patientRegisterList.Any())
+ {
+
+ //人员id
+ var patientRegisters = query.Select(m => m.patientRegister).Distinct().ToList();
+
+ var patientRegisterfisrt = query.First();
+
+ //在岗ID
+ Guid onDutyId = (await _ocCheckTypeRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("在岗"))).Id;
+ //离岗时ID
+ Guid whenLeavingWorkId = (await _ocCheckTypeRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("离岗时"))).Id;
+
+ //未见异常ID
+ Guid noAbnormalId = (await _occupationalAbnormalRepository.FirstOrDefaultAsync(f => f.DisplayName.Contains("未见异常"))).Id;
+
+
+ msg.CertificateNo = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "medical_center_qualification_certificate_number");
+ msg.MedicalTypeName = await _cacheService.GetMedicalTypeNameAsync(patientRegisterfisrt.patientRegister.MedicalTypeId);
+ msg.CustomerOrgName = await _cacheService.GetTopCustomerOrgNameAsync(patientRegisterfisrt.patientRegister.CustomerOrgId);
+ msg.MedicalCenterAddress = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "medical_center_address");
+ msg.MedicalCenterName = (await _organizationUnitRepository.GetAsync(patientRegisterfisrt.patientRegister.MedicalCenterId)).DisplayName;
+ msg.MedicalStartDate = Convert.ToDateTime(customerOrgPara.StartDate).ToString("yyyy年MM月dd日");
+ msg.MedicalSumCount = patientRegisters.Count;
+ msg.RecordNumber = await _sysParmValueManager.GetSysParmValueAsync(Guid.Empty, "medical_center_record_number");
+ msg.ReportDate = DateTime.Now.ToString("yyyy年MM月dd日");
+ msg.OnDutyCount = patientRegisterList.Where(m => m.patientOccupationalDisease.OcCheckTypeId == onDutyId).Count();
+ msg.WhenLeavingWorkCount = patientRegisterList.Where(m => m.patientOccupationalDisease.OcCheckTypeId == whenLeavingWorkId).Count();
+ msg.PoisonNames = string.Join('、', patientRegisterList.Where(m => m.patientOccupationalDisease.OcCheckTypeId == onDutyId
+ || m.patientOccupationalDisease.OcCheckTypeId == whenLeavingWorkId).Select(s => s.posionHaveEmpty.DisplayName).Distinct());
+
+ //有结论的数据
+ var conclusionList = patientRegisterList.Where(m => (m.patientOccupationalDisease.OcCheckTypeId == onDutyId
+ || m.patientOccupationalDisease.OcCheckTypeId == whenLeavingWorkId)
+ && (m.patientPoisonHaveEmpty.OccupationalAbnormalId != null || m.patientPoisonHaveEmpty.OccupationalAbnormalId != noAbnormalId));
+
+ msg.Conclusions = string.Join('、', conclusionList.Select(s => s.occupationalAbnormalHaveEmpty.DisplayName).Distinct());
+ msg.JobTypes = string.Join('、', conclusionList.Select(s => s.patientOccupationalDisease.JobType).Distinct());
+
+ #region 检查结果
+
+ //目标疾病检出情况
+ List conclusionDetails = new List();
+
+ var occupationalAbnormalList = (await _occupationalAbnormalRepository.GetListAsync()).OrderBy(o => o.DisplayOrder);
+ foreach (var item in occupationalAbnormalList)
+ {
+ var conclusionCount = patientRegisterList.Where(m => m.patientPoisonHaveEmpty.OccupationalAbnormalId == item.Id).Select(s => s.patientRegister.Id).Distinct().Count();
+ var conclusionRatio = Convert.ToDecimal(conclusionCount * 100) / patientRegisters.Count;
+ var conclusionDetail = new GetCompanyOccupationalDiseaseSummaryReportConclusionDetailDto
+ {
+ ConclusionName = item.DisplayName,
+ DisplayOrder = item.DisplayOrder,
+ ConclusionCount = conclusionCount,
+ ConclusionRatio = conclusionRatio
+ };
+
+ conclusionDetails.Add(conclusionDetail);
+ }
+
+ msg.ConclusionDetails = conclusionDetails;
+
+ //相关检查情况
+
+
+ var asbitemAbnormalList = (from patientRegister in patientRegisters
+ join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId
+ join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckAsbitem.RegisterCheckId
+ join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id into asbitemTemp
+ from asbitemHaveEmpty in asbitemTemp.DefaultIfEmpty()
+ join registerCheckSummary in await _registerCheckSummaryRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckSummary.RegisterCheckId
+ where !registerCheckSummary.Summary.Contains("未见异常")
+ select new
+ {
+ asbitemName = asbitemHaveEmpty.DisplayName,
+ patientRegisterId = patientRegister.Id
+ }).ToList();
+
+ //异常总人数
+ var abnormalSumCount = asbitemAbnormalList.Select(s => s.patientRegisterId).Distinct().Count();
+
+
+ var asbitemAbnormals = asbitemAbnormalList.GroupBy(g => g.asbitemName).Select((s, index) => new GetCompanyOccupationalDiseaseSummaryReportAsbitemAbnormalDto
+ {
+ AbnormalAsbitemName = s.Key,
+ AbnormalCount = s.Count(),
+ AbnormalRatio = Convert.ToDecimal(s.Count() * 100) / abnormalSumCount,
+ DisplayOrder = index + 1
+ }).ToList();
+
+
+ msg.AsbitemAbnormals = asbitemAbnormals;
+ #endregion
+
+ }
+
+ return msg;
+ }
+ }
+}
diff --git a/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs b/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs
index 00240ec..4be045c 100644
--- a/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs
+++ b/src/Shentun.Peis.Application/QueueRegisters/QueueRegisterAppService.cs
@@ -156,7 +156,7 @@ namespace Shentun.Peis.QueueRegisters
join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id
join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitem.ItemTypeId equals itemType.Id into itemTypeTemp
from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty()
- where patientRegister.Id == input.PatientRegisterId
+ where patientRegister.Id == input.PatientRegisterId && asbitem.IsCheck == 'Y'
orderby itemTypeHaveEmpty.DisplayOrder, asbitem.DisplayOrder ascending
select new NotTriageAsbitemListDto
{
@@ -202,6 +202,7 @@ namespace Shentun.Peis.QueueRegisters
from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty()
where queueRegister.PatientRegisterId == input.PatientRegisterId
&& asbitemIds.Contains(roomDetail.AsbitemId)
+ && asbitem.IsCheck == 'Y'
orderby queueRegister.CreationTime descending
select new YesTriageAsbitemListDto
{
@@ -349,7 +350,8 @@ namespace Shentun.Peis.QueueRegisters
queueRegisterNumber = queueRegister.DisplayOrder,
patientRegisterId = queueRegister.PatientRegisterId,
roomId = queueRegister.RoomId,
- asbitemId = roomDetail.AsbitemId
+ asbitemId = roomDetail.AsbitemId,
+ lastModificationTime = queueRegister.LastModificationTime,
};
if (input.ItemTypeIds.Any())
@@ -384,10 +386,11 @@ namespace Shentun.Peis.QueueRegisters
isVip = s.FirstOrDefault().isVip,
queueRegisterId = s.Key,
queueRegisterNumber = s.FirstOrDefault().queueRegisterNumber,
+ lastModificationTime = s.FirstOrDefault().lastModificationTime
}).ToList();
- entDto.WaitDetail = roomGroup.Where(m => m.completeFlag == QueueRegisterCompleteFlag.Wait)
+ entDto.WaitDetail = roomGroup.Where(m => m.completeFlag == QueueRegisterCompleteFlag.Wait).OrderBy(o => o.queueRegisterNumber)
.Select(s => new GetQueueRegisterListByRoomIdDetailDto
{
IsVip = s.isVip,
@@ -396,7 +399,7 @@ namespace Shentun.Peis.QueueRegisters
QueueRegisterNumber = s.queueRegisterNumber
}).ToList();
- entDto.AlreadyCalledDetail = roomGroup.Where(m => m.completeFlag == QueueRegisterCompleteFlag.AlreadyCalled)
+ entDto.AlreadyCalledDetail = roomGroup.Where(m => m.completeFlag == QueueRegisterCompleteFlag.AlreadyCalled).OrderByDescending(o => o.lastModificationTime)
.Select(s => new GetQueueRegisterListByRoomIdDetailDto
{
IsVip = s.isVip,
@@ -405,7 +408,7 @@ namespace Shentun.Peis.QueueRegisters
QueueRegisterNumber = s.queueRegisterNumber
}).ToList();
- entDto.OverNumberDetail = roomGroup.Where(m => m.completeFlag == QueueRegisterCompleteFlag.OverNumber)
+ entDto.OverNumberDetail = roomGroup.Where(m => m.completeFlag == QueueRegisterCompleteFlag.OverNumber).OrderByDescending(o => o.lastModificationTime)
.Select(s => new GetQueueRegisterListByRoomIdDetailDto
{
IsVip = s.isVip,
@@ -486,5 +489,46 @@ namespace Shentun.Peis.QueueRegisters
};
return entDto;
}
+
+
+ ///
+ /// 小程序获取当前排队信息
+ ///
+ ///
+ ///
+ [HttpPost("api/app/QueueRegister/GetAppQueueRegisterByIdNo")]
+ public async Task GetAppQueueRegisterByIdNoAsync(IdNoInputDto input)
+ {
+ var msg = new GetAppQueueRegisterByIdNoDto();
+ var patientRegisterEnt = (await _patientRegisterRepository.GetQueryableAsync()).Include(x => x.Patient)
+ .Where(m => m.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration
+ && m.CompleteFlag != PatientRegisterCompleteFlag.SumCheck
+ && m.Patient.IdNo == input.IdNo).OrderByDescending(o => o.MedicalStartDate).FirstOrDefault();
+
+ if (patientRegisterEnt == null)
+ throw new UserFriendlyException("无人员登记记录或已总检");
+ //if (patientRegisterEnt.CompleteFlag == PatientRegisterCompleteFlag.PreRegistration)
+ // throw new UserFriendlyException("当前人员未正式登记");
+ //if (patientRegisterEnt.CompleteFlag == PatientRegisterCompleteFlag.PreRegistration)
+ // throw new UserFriendlyException("当前人员已总检");
+
+ msg.PatientRegisterNo = patientRegisterEnt.PatientRegisterNo;
+ msg.MobileTelephone = patientRegisterEnt.Patient.MobileTelephone;
+ msg.IdNo = patientRegisterEnt.Patient.IdNo;
+ msg.MaritalStatusName = await _cacheService.GetMaritalStatusNameAsync(patientRegisterEnt.MaritalStatusId);
+ msg.PatientName = patientRegisterEnt.PatientName;
+ msg.Photo = patientRegisterEnt.Photo;
+ msg.SexName = await _cacheService.GetSexNameAsync(patientRegisterEnt.SexId);
+
+ var queueRegisterInfo = await GetQueueRegisterByPatientRegisterIdAsync(new PatientRegisterIdInputDto { PatientRegisterId = patientRegisterEnt.Id });
+ if (queueRegisterInfo != null)
+ {
+ msg.QueueCount = queueRegisterInfo.QueueCount;
+ msg.RoomName = queueRegisterInfo.RoomName;
+ msg.CompleteFlag = queueRegisterInfo.CompleteFlag;
+ }
+
+ return msg;
+ }
}
}