From 0c031b5474596f2d174f5eed3d989bbd7293e4c8 Mon Sep 17 00:00:00 2001
From: wxd <123@qq.com>
Date: Wed, 16 Apr 2025 16:36:05 +0800
Subject: [PATCH] =?UTF-8?q?=E9=9A=8F=E8=AE=BF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../PhoneFollowUpWithCriticalItemDto.cs | 29 +-
.../PhoneFollowUps/PhoneFollowUpAppService.cs | 388 +++++++++++++++---
2 files changed, 355 insertions(+), 62 deletions(-)
diff --git a/src/Shentun.Peis.Application.Contracts/PhoneFollowUps/PhoneFollowUpWithCriticalItemDto.cs b/src/Shentun.Peis.Application.Contracts/PhoneFollowUps/PhoneFollowUpWithCriticalItemDto.cs
index 1efb6b0..70d770d 100644
--- a/src/Shentun.Peis.Application.Contracts/PhoneFollowUps/PhoneFollowUpWithCriticalItemDto.cs
+++ b/src/Shentun.Peis.Application.Contracts/PhoneFollowUps/PhoneFollowUpWithCriticalItemDto.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Text;
+using Shentun.Peis.SmsSends;
namespace Shentun.Peis.PhoneFollowUps
{
@@ -121,20 +122,32 @@ namespace Shentun.Peis.PhoneFollowUps
///
public string CustomerOrgParentName { get; set; }
- ///
- /// 组合项目异常集合
- ///
- public List AbnormalAsbitemDetail { get; set; }
+ /////
+ ///// 组合项目异常集合
+ /////
+ //public List AbnormalAsbitemDetail { get; set; }
+
+ /////
+ ///// 项目异常集合
+ /////
+ //public List AbnormalItemDetail { get; set; }
+
+ /////
+ ///// 电话随访记录
+ /////
+ //public List PhoneFollowUpDetail { get; set; }
///
- /// 项目异常集合
+ /// 电话随访记录
///
- public List AbnormalItemDetail { get; set; }
+ public List PhoneFollowUpWithPatientRegisterDetail { get; set; } = new List();
+
///
- /// 电话随访记录
+ /// 短信随访记录
///
- public List PhoneFollowUpDetail { get; set; }
+ public List SmsSendDetail { get; set; } = new List();
+
///
diff --git a/src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs b/src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs
index e51e610..1f57ae4 100644
--- a/src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs
+++ b/src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs
@@ -8,6 +8,7 @@ using Shentun.Peis.CustomerOrgs;
using Shentun.Peis.Enums;
using Shentun.Peis.Models;
using Shentun.Peis.PatientRegisters;
+using Shentun.Peis.SmsSends;
using SqlSugar;
using System;
using System.Collections.Generic;
@@ -40,6 +41,7 @@ namespace Shentun.Peis.PhoneFollowUps
private readonly IRepository _patientRepository;
private readonly CustomerOrgManager _customerOrgManager;
private readonly IRepository _registerCheckSummaryRepository;
+ private readonly IRepository _smsSendRepository;
public PhoneFollowUpAppService(
@@ -54,8 +56,8 @@ namespace Shentun.Peis.PhoneFollowUps
IRepository- itemRepository,
IRepository patientRepository,
CustomerOrgManager customerOrgManager,
- IRepository registerCheckSummaryRepository
- )
+ IRepository registerCheckSummaryRepository,
+ IRepository smsSendRepository)
{
_phoneFollowUpRepository = phoneFollowUpRepository;
_cacheService = cacheService;
@@ -69,6 +71,7 @@ namespace Shentun.Peis.PhoneFollowUps
_patientRepository = patientRepository;
_customerOrgManager = customerOrgManager;
_registerCheckSummaryRepository = registerCheckSummaryRepository;
+ _smsSendRepository = smsSendRepository;
}
@@ -150,8 +153,251 @@ namespace Shentun.Peis.PhoneFollowUps
}
+ /////
+ ///// 获取所有危急值列表
+ /////
+ /////
+ //[HttpPost("api/app/PhoneFollowUp/GetPatientRegisterCriticalList")]
+ //public async Task
> GetPatientRegisterCriticalListAsync(GetPatientRegisterCriticalListInputDto input)
+ //{
+ // var query = from followUp in await _followUpRepository.GetQueryableAsync()
+ // join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on followUp.PatientRegisterId equals patientRegister.Id
+ // join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id
+ // 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
+ // join registerCheckItem in await _registerCheckItemRepository.GetQueryableAsync() on registerCheck.Id equals registerCheckItem.RegisterCheckId
+ // join item in await _itemRepository.GetQueryableAsync() on registerCheckItem.ItemId equals item.Id
+ // join phoneFollowUp in await _phoneFollowUpRepository.GetQueryableAsync() on followUp.Id equals phoneFollowUp.FollowUpId into phoneFollowUpTemp
+ // from phoneFollowUpEmpty in phoneFollowUpTemp.DefaultIfEmpty()
+ // select new
+ // {
+ // patientRegister,
+ // registerCheck,
+ // asbitem,
+ // registerCheckItem,
+ // item,
+ // followUp,
+ // phoneFollowUpEmpty,
+ // patient
+ // };
+
+
+
+ // #region 查询条件
+
+ // if (!string.IsNullOrEmpty(input.PatientNo))
+ // query = query.Where(m => m.patient.PatientNo == input.PatientNo);
+
+ // if (!string.IsNullOrEmpty(input.IdNo))
+ // query = query.Where(m => m.patient.IdNo == input.IdNo);
+
+ // if (!string.IsNullOrEmpty(input.PatientName))
+ // query = query.Where(m => m.patientRegister.PatientName == input.PatientName);
+
+ // if (!string.IsNullOrEmpty(input.PatientRegisterNo))
+ // query = query.Where(m => m.patientRegister.PatientRegisterNo == input.PatientRegisterNo);
+
+ // if (!string.IsNullOrEmpty(input.Phone))
+ // query = query.Where(m => m.patient.MobileTelephone == input.Phone || m.patient.Telephone == input.Phone);
+
+ // if (input.SexId != null && input.SexId != ForSexFlag.All)
+ // query = query.Where(m => m.patientRegister.SexId == input.SexId);
+
+ // if (!string.IsNullOrEmpty(input.StartDate) && !string.IsNullOrEmpty(input.EndDate))
+ // {
+ // if (input.DateType == '1')
+ // {
+ // query = query.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(input.StartDate) &&
+ // m.patientRegister.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1));
+ // }
+ // else if (input.DateType == '2')
+ // {
+ // query = query.Where(m => m.patientRegister.MedicalStartDate >= Convert.ToDateTime(input.StartDate) &&
+ // m.patientRegister.MedicalStartDate < Convert.ToDateTime(input.EndDate).AddDays(1));
+ // }
+ // else
+ // {
+ // query = query.Where(m => (m.patientRegister.CreationTime >= Convert.ToDateTime(input.StartDate) &&
+ // m.patientRegister.CreationTime < Convert.ToDateTime(input.EndDate).AddDays(1))
+ // || (m.patientRegister.MedicalStartDate >= Convert.ToDateTime(input.StartDate) &&
+ // m.patientRegister.MedicalStartDate < Convert.ToDateTime(input.EndDate).AddDays(1))
+ // );
+ // }
+ // }
+ // if (input.CompleteFlags.Any())
+ // {
+ // query = query.Where(m => input.CompleteFlags.Contains(m.patientRegister.CompleteFlag));
+ // }
+
+ // if (input.MedicalTypeIds.Any())
+ // {
+ // query = query.Where(m => input.MedicalTypeIds.Contains(m.patientRegister.MedicalTypeId));
+ // }
+
+
+ // if (input.CustomerOrgId != null)
+ // {
+ // var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(input.CustomerOrgId.Value);
+ // query = query.Where(m => CustomerOrgIds.Contains(m.patientRegister.CustomerOrgId));
+ // }
+
+ // if (input.CustomerOrgRegisterId != null && input.CustomerOrgRegisterId != Guid.Empty)
+ // {
+ // query = query.Where(m => m.patientRegister.CustomerOrgRegisterId == input.CustomerOrgRegisterId);
+ // }
+
+ // if (input.CustomerOrgGroupIds.Any())
+ // {
+ // query = query.Where(m => m.patientRegister.CustomerOrgGroupId != null && input.CustomerOrgGroupIds.Contains(m.patientRegister.CustomerOrgGroupId.Value));
+ // }
+
+ // if (input.IsSmsComplete != null)
+ // {
+ // query = query.Where(m => m.followUp.IsSmsComplete == input.IsSmsComplete);
+ // }
+
+ // if (input.IsPhoneComplete != null)
+ // {
+ // query = query.Where(m => m.followUp.IsPhoneComplete == input.IsPhoneComplete);
+ // }
+
+ // if (input.DiagnosisLevelIds.Any())
+ // {
+ // query = query.Where(m => input.DiagnosisLevelIds.Contains(m.registerCheck.DiagnosisLevelId) || input.DiagnosisLevelIds.Contains(m.registerCheckItem.DiagnosisLevelId));
+ // }
+
+ // #endregion
+
+
+
+
+ // var followUpGroup = query.ToList().GroupBy(g => g.followUp);
+
+ // var entListDto = followUpGroup.Select(s => new PhoneFollowUpWithCriticalItemDto
+ // {
+ // FollowUpId = s.Key.Id,
+ // PatientName = s.FirstOrDefault().patientRegister.PatientName,
+ // IdNo = s.FirstOrDefault().patient.IdNo,
+ // PatientRegisterNo = s.FirstOrDefault().patientRegister.PatientRegisterNo,
+ // PatientRegisterId = s.FirstOrDefault().patientRegister.Id,
+ // Age = s.FirstOrDefault().patientRegister.Age,
+ // BirthDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.BirthDate),
+ // CompleteFlag = s.FirstOrDefault().patientRegister.CompleteFlag,
+ // CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(s.FirstOrDefault().patientRegister.CustomerOrgId).GetAwaiter().GetResult(),
+ // CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(s.FirstOrDefault().patientRegister.CustomerOrgId).GetAwaiter().GetResult(),
+ // IsMedicalStart = s.FirstOrDefault().patientRegister.IsMedicalStart,
+ // IsUpload = s.FirstOrDefault().patientRegister.IsUpload,
+ // JobCardNo = s.FirstOrDefault().patientRegister.JobCardNo,
+ // JobPost = s.FirstOrDefault().patientRegister.JobPost,
+ // JobTitle = s.FirstOrDefault().patientRegister.JobTitle,
+ // MaritalStatusName = _cacheService.GetMaritalStatusNameAsync(s.FirstOrDefault().patientRegister.MaritalStatusId).GetAwaiter().GetResult(),
+ // MedicalCardNo = s.FirstOrDefault().patientRegister.MedicalCardNo,
+ // MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate),
+ // MedicalTimes = s.FirstOrDefault().patientRegister.MedicalTimes,
+ // MedicalTypeName = _cacheService.GetMedicalTypeNameAsync(s.FirstOrDefault().patientRegister.MedicalTypeId).GetAwaiter().GetResult(),
+ // MobileTelephone = s.FirstOrDefault().patient.MobileTelephone,
+ // NationName = _cacheService.GetNationNameAsync(s.FirstOrDefault().patient.NationId).GetAwaiter().GetResult(),
+ // PatientNo = s.FirstOrDefault().patient.PatientNo,
+ // PersonnelTypeName = _cacheService.GetPersonnelTypeNameAsync(s.FirstOrDefault().patientRegister.PersonnelTypeId).GetAwaiter().GetResult(),
+ // SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().patientRegister.SexId).GetAwaiter().GetResult(),
+ // Telephone = s.FirstOrDefault().patient.Telephone,
+ // PhoneFollowUpDetail = s.Where(m => m.phoneFollowUpEmpty != null).GroupBy(g => g.phoneFollowUpEmpty).OrderBy(o => o.Key.PlanFollowDate).Select(ss => new PhoneFollowUpSimpleDto
+ // {
+ // FollowUpContent = ss.Key.FollowUpContent,
+ // IsComplete = ss.Key.IsComplete,
+ // PlanFollowDate = DataHelper.ConversionDateToString(ss.Key.PlanFollowDate),
+ // ReplyContent = ss.Key.ReplyContent
+ // }).ToList(),
+ // AbnormalAsbitemDetail = s.Where(m => m.registerCheck.IsCriticalValue != null).GroupBy(g => g.registerCheck).Select(ss => new PhoneFollowUpWithCriticalItemAbnormalAsbitemDto
+ // {
+ // CriticalValueContent = ss.Key.CriticalValueContent,
+ // AsbitemName = string.Join(",", ss.Select(sss => sss.asbitem.DisplayName).Distinct()),
+ // IsCriticalValue = ss.Key.IsCriticalValue == null ? 'N' : ss.Key.IsCriticalValue.Value,
+ // IsReview = ss.Key.IsReview == null ? 'N' : ss.Key.IsReview.Value
+ // }).ToList(),
+ // AbnormalItemDetail = s.Where(m => m.registerCheckItem.IsCriticalValue != null).GroupBy(g => g.registerCheckItem).Select(ss => new PhoneFollowUpWithCriticalItemAbnormalItemDto
+ // {
+ // CriticalValueContent = ss.Key.CriticalValueContent,
+ // ItemName = ss.FirstOrDefault().item.DisplayName,
+ // IsCriticalValue = ss.Key.IsCriticalValue == null ? 'N' : ss.Key.IsCriticalValue.Value,
+ // IsReview = ss.Key.IsReview == null ? 'N' : ss.Key.IsReview.Value
+ // }).ToList(),
+ // CriticalValueContents = string.Join("
", s.Where(m => !string.IsNullOrWhiteSpace(m.registerCheck.CriticalValueContent)).Select(ss => ss.registerCheck.CriticalValueContent).Distinct()) + "
" + string.Join("
", s.Where(m => !string.IsNullOrWhiteSpace(m.registerCheckItem.CriticalValueContent)).Select(ss => ss.registerCheckItem.CriticalValueContent).Distinct()),
+ // IsPhoneComplete = s.Key.IsPhoneComplete,
+ // IsSmsComplete = s.Key.IsSmsComplete,
+ // DiagnosisLevelNames = string.Join("
", s.Where(m => m.registerCheck.DiagnosisLevelId != null).Select(ss => _cacheService.GetDiagnosisLevelNameAsync(ss.registerCheck.DiagnosisLevelId).GetAwaiter().GetResult()).Distinct()) + "
" + string.Join("
", s.Where(m => m.registerCheckItem.DiagnosisLevelId != null).Select(ss => _cacheService.GetDiagnosisLevelNameAsync(ss.registerCheckItem.DiagnosisLevelId).GetAwaiter().GetResult()).Distinct())
+ // }).ToList();
+
+ // foreach (var item in entListDto)
+ // {
+ // if (item.CriticalValueContents.StartsWith("
"))
+ // {
+ // item.CriticalValueContents = item.CriticalValueContents.Substring("
".Length);
+ // }
+ // }
+
+ // return entListDto;
+
+ // //var query = from phoneFollowUp in await _phoneFollowUpRepository.GetQueryableAsync()
+ // // join followUp in await _followUpRepository.GetQueryableAsync() on phoneFollowUp.FollowUpId equals followUp.Id
+ // // join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on followUp.PatientRegisterId equals patientRegister.Id
+ // // orderby patientRegister.Id, phoneFollowUp.PlanFollowDate
+ // // select new
+ // // {
+ // // patientName = patientRegister.PatientName,
+ // // phoneFollowUp
+ // // };
+
+ // //if (input.FollowUpId != null)
+ // //{
+ // // query = query.Where(m => m.phoneFollowUp.FollowUpId == input.FollowUpId);
+ // //}
+
+ // //if (!string.IsNullOrWhiteSpace(input.KeyWord))
+ // //{
+ // // query = query.Where(m => (!string.IsNullOrWhiteSpace(m.phoneFollowUp.FollowUpContent) && m.phoneFollowUp.FollowUpContent.Contains(input.KeyWord))
+ // // || (!string.IsNullOrWhiteSpace(m.phoneFollowUp.ReplyContent) && m.phoneFollowUp.ReplyContent.Contains(input.KeyWord))
+ // // );
+ // //}
+
+ // //if (input.IsComplete != null)
+ // //{
+ // // query = query.Where(m => m.phoneFollowUp.IsComplete == input.IsComplete);
+ // //}
+
+ // //if (!string.IsNullOrWhiteSpace(input.StartDate) && !string.IsNullOrWhiteSpace(input.EndDate))
+ // //{
+ // // query = query.Where(m => m.phoneFollowUp.PlanFollowDate >= Convert.ToDateTime(input.StartDate)
+ // // && m.phoneFollowUp.PlanFollowDate <= Convert.ToDateTime(input.EndDate).AddDays(1));
+ // //}
+
+ // //var entListDto = query.ToList().Select(s => new PhoneFollowUpWithPatientRegisterDto
+ // //{
+ // // FollowUpId = s.phoneFollowUp.FollowUpId,
+ // // CreationTime = s.phoneFollowUp.CreationTime,
+ // // ReplyContent = s.phoneFollowUp.ReplyContent,
+ // // PlanFollowDate = DataHelper.ConversionDateToString(s.phoneFollowUp.PlanFollowDate),
+ // // CreatorId = s.phoneFollowUp.CreatorId,
+ // // FollowUpContent = s.phoneFollowUp.ReplyContent,
+ // // Id = s.phoneFollowUp.Id,
+ // // IsComplete = s.phoneFollowUp.IsComplete,
+ // // LastModificationTime = s.phoneFollowUp.LastModificationTime,
+ // // LastModifierId = s.phoneFollowUp.LastModifierId,
+ // // CreatorName = _cacheService.GetSurnameAsync(s.phoneFollowUp.CreatorId).GetAwaiter().GetResult(),
+ // // LastModifierName = _cacheService.GetSurnameAsync(s.phoneFollowUp.LastModifierId).GetAwaiter().GetResult(),
+ // // PatientName = s.patientName
+ // //}).ToList();
+
+ // //return entListDto;
+ //}
+
+
+
+
+
///
- /// 获取所有危急值列表
+ /// 获取所有危急值列表 增加导出报告用子项目
///
///
[HttpPost("api/app/PhoneFollowUp/GetPatientRegisterCriticalList")]
@@ -167,6 +413,8 @@ namespace Shentun.Peis.PhoneFollowUps
join item in await _itemRepository.GetQueryableAsync() on registerCheckItem.ItemId equals item.Id
join phoneFollowUp in await _phoneFollowUpRepository.GetQueryableAsync() on followUp.Id equals phoneFollowUp.FollowUpId into phoneFollowUpTemp
from phoneFollowUpEmpty in phoneFollowUpTemp.DefaultIfEmpty()
+ join smsSend in await _smsSendRepository.GetQueryableAsync() on followUp.Id equals smsSend.FollowUpId into smsSendTemp
+ from smsSendEmpty in smsSendTemp.DefaultIfEmpty()
select new
{
patientRegister,
@@ -176,6 +424,7 @@ namespace Shentun.Peis.PhoneFollowUps
item,
followUp,
phoneFollowUpEmpty,
+ smsSendEmpty,
patient
};
@@ -269,62 +518,92 @@ namespace Shentun.Peis.PhoneFollowUps
+ List entListDto = new List();
+
var followUpGroup = query.ToList().GroupBy(g => g.followUp);
- var entListDto = followUpGroup.Select(s => new PhoneFollowUpWithCriticalItemDto
- {
- FollowUpId = s.Key.Id,
- PatientName = s.FirstOrDefault().patientRegister.PatientName,
- IdNo = s.FirstOrDefault().patient.IdNo,
- PatientRegisterNo = s.FirstOrDefault().patientRegister.PatientRegisterNo,
- PatientRegisterId = s.FirstOrDefault().patientRegister.Id,
- Age = s.FirstOrDefault().patientRegister.Age,
- BirthDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.BirthDate),
- CompleteFlag = s.FirstOrDefault().patientRegister.CompleteFlag,
- CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(s.FirstOrDefault().patientRegister.CustomerOrgId).GetAwaiter().GetResult(),
- CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(s.FirstOrDefault().patientRegister.CustomerOrgId).GetAwaiter().GetResult(),
- IsMedicalStart = s.FirstOrDefault().patientRegister.IsMedicalStart,
- IsUpload = s.FirstOrDefault().patientRegister.IsUpload,
- JobCardNo = s.FirstOrDefault().patientRegister.JobCardNo,
- JobPost = s.FirstOrDefault().patientRegister.JobPost,
- JobTitle = s.FirstOrDefault().patientRegister.JobTitle,
- MaritalStatusName = _cacheService.GetMaritalStatusNameAsync(s.FirstOrDefault().patientRegister.MaritalStatusId).GetAwaiter().GetResult(),
- MedicalCardNo = s.FirstOrDefault().patientRegister.MedicalCardNo,
- MedicalStartDate = DataHelper.ConversionDateShortToString(s.FirstOrDefault().patientRegister.MedicalStartDate),
- MedicalTimes = s.FirstOrDefault().patientRegister.MedicalTimes,
- MedicalTypeName = _cacheService.GetMedicalTypeNameAsync(s.FirstOrDefault().patientRegister.MedicalTypeId).GetAwaiter().GetResult(),
- MobileTelephone = s.FirstOrDefault().patient.MobileTelephone,
- NationName = _cacheService.GetNationNameAsync(s.FirstOrDefault().patient.NationId).GetAwaiter().GetResult(),
- PatientNo = s.FirstOrDefault().patient.PatientNo,
- PersonnelTypeName = _cacheService.GetPersonnelTypeNameAsync(s.FirstOrDefault().patientRegister.PersonnelTypeId).GetAwaiter().GetResult(),
- SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().patientRegister.SexId).GetAwaiter().GetResult(),
- Telephone = s.FirstOrDefault().patient.Telephone,
- PhoneFollowUpDetail = s.Where(m => m.phoneFollowUpEmpty != null).GroupBy(g => g.phoneFollowUpEmpty).OrderBy(o => o.Key.PlanFollowDate).Select(ss => new PhoneFollowUpSimpleDto
+ foreach (var itemGroup in followUpGroup)
+ {
+ var firstItem = itemGroup.FirstOrDefault();
+
+ var temoDto = new PhoneFollowUpWithCriticalItemDto
{
- FollowUpContent = ss.Key.FollowUpContent,
- IsComplete = ss.Key.IsComplete,
- PlanFollowDate = DataHelper.ConversionDateToString(ss.Key.PlanFollowDate),
- ReplyContent = ss.Key.ReplyContent
- }).ToList(),
- AbnormalAsbitemDetail = s.Where(m => m.registerCheck.IsCriticalValue != null).GroupBy(g => g.registerCheck).Select(ss => new PhoneFollowUpWithCriticalItemAbnormalAsbitemDto
+ FollowUpId = itemGroup.Key.Id,
+ PatientName = firstItem.patientRegister.PatientName,
+ IdNo = firstItem.patient.IdNo,
+ PatientRegisterNo = firstItem.patientRegister.PatientRegisterNo,
+ PatientRegisterId = firstItem.patientRegister.Id,
+ Age = firstItem.patientRegister.Age,
+ BirthDate = DataHelper.ConversionDateShortToString(firstItem.patientRegister.BirthDate),
+ CompleteFlag = firstItem.patientRegister.CompleteFlag,
+ CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(firstItem.patientRegister.CustomerOrgId).GetAwaiter().GetResult(),
+ CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(firstItem.patientRegister.CustomerOrgId).GetAwaiter().GetResult(),
+ IsMedicalStart = firstItem.patientRegister.IsMedicalStart,
+ IsUpload = firstItem.patientRegister.IsUpload,
+ JobCardNo = firstItem.patientRegister.JobCardNo,
+ JobPost = firstItem.patientRegister.JobPost,
+ JobTitle = firstItem.patientRegister.JobTitle,
+ MaritalStatusName = _cacheService.GetMaritalStatusNameAsync(firstItem.patientRegister.MaritalStatusId).GetAwaiter().GetResult(),
+ MedicalCardNo = firstItem.patientRegister.MedicalCardNo,
+ MedicalStartDate = DataHelper.ConversionDateShortToString(firstItem.patientRegister.MedicalStartDate),
+ MedicalTimes = firstItem.patientRegister.MedicalTimes,
+ MedicalTypeName = _cacheService.GetMedicalTypeNameAsync(firstItem.patientRegister.MedicalTypeId).GetAwaiter().GetResult(),
+ MobileTelephone = firstItem.patient.MobileTelephone,
+ NationName = _cacheService.GetNationNameAsync(firstItem.patient.NationId).GetAwaiter().GetResult(),
+ PatientNo = firstItem.patient.PatientNo,
+ PersonnelTypeName = _cacheService.GetPersonnelTypeNameAsync(firstItem.patientRegister.PersonnelTypeId).GetAwaiter().GetResult(),
+ SexName = _cacheService.GetSexNameAsync(firstItem.patientRegister.SexId).GetAwaiter().GetResult(),
+ Telephone = firstItem.patient.Telephone,
+ CriticalValueContents = string.Join("
", itemGroup.Where(m => !string.IsNullOrWhiteSpace(m.registerCheck.CriticalValueContent)).Select(ss => ss.registerCheck.CriticalValueContent).Distinct()) + "
" + string.Join("
", itemGroup.Where(m => !string.IsNullOrWhiteSpace(m.registerCheckItem.CriticalValueContent)).Select(ss => ss.registerCheckItem.CriticalValueContent).Distinct()),
+ IsPhoneComplete = itemGroup.Key.IsPhoneComplete,
+ IsSmsComplete = itemGroup.Key.IsSmsComplete,
+ DiagnosisLevelNames = string.Join("
", itemGroup.Where(m => m.registerCheck.DiagnosisLevelId != null).Select(ss => _cacheService.GetDiagnosisLevelNameAsync(ss.registerCheck.DiagnosisLevelId).GetAwaiter().GetResult()).Distinct()) + "
" + string.Join("
", itemGroup.Where(m => m.registerCheckItem.DiagnosisLevelId != null).Select(ss => _cacheService.GetDiagnosisLevelNameAsync(ss.registerCheckItem.DiagnosisLevelId).GetAwaiter().GetResult()).Distinct())
+ };
+
+
+ var phoneFollowUpWithPatientRegisterDetail = itemGroup.Where(m => m.phoneFollowUpEmpty != null).Select(s => new PhoneFollowUpWithPatientRegisterDto
{
- CriticalValueContent = ss.Key.CriticalValueContent,
- AsbitemName = string.Join(",", ss.Select(sss => sss.asbitem.DisplayName).Distinct()),
- IsCriticalValue = ss.Key.IsCriticalValue == null ? 'N' : ss.Key.IsCriticalValue.Value,
- IsReview = ss.Key.IsReview == null ? 'N' : ss.Key.IsReview.Value
- }).ToList(),
- AbnormalItemDetail = s.Where(m => m.registerCheckItem.IsCriticalValue != null).GroupBy(g => g.registerCheckItem).Select(ss => new PhoneFollowUpWithCriticalItemAbnormalItemDto
+ FollowUpId = s.phoneFollowUpEmpty.FollowUpId,
+ CreationTime = s.phoneFollowUpEmpty.CreationTime,
+ ReplyContent = s.phoneFollowUpEmpty.ReplyContent,
+ PlanFollowDate = DataHelper.ConversionDateToString(s.phoneFollowUpEmpty.PlanFollowDate),
+ CreatorId = s.phoneFollowUpEmpty.CreatorId,
+ FollowUpContent = s.phoneFollowUpEmpty.FollowUpContent,
+ Id = s.phoneFollowUpEmpty.Id,
+ IsComplete = s.phoneFollowUpEmpty.IsComplete,
+ LastModificationTime = s.phoneFollowUpEmpty.LastModificationTime,
+ LastModifierId = s.phoneFollowUpEmpty.LastModifierId,
+ CreatorName = _cacheService.GetSurnameAsync(s.phoneFollowUpEmpty.CreatorId).GetAwaiter().GetResult(),
+ LastModifierName = _cacheService.GetSurnameAsync(s.phoneFollowUpEmpty.LastModifierId).GetAwaiter().GetResult(),
+ PatientName = firstItem.patientRegister.PatientName
+ }).ToList();
+
+ var smsSendDetail = itemGroup.Where(m => m.smsSendEmpty != null).Select(s => new SmsSendDto
{
- CriticalValueContent = ss.Key.CriticalValueContent,
- ItemName = ss.FirstOrDefault().item.DisplayName,
- IsCriticalValue = ss.Key.IsCriticalValue == null ? 'N' : ss.Key.IsCriticalValue.Value,
- IsReview = ss.Key.IsReview == null ? 'N' : ss.Key.IsReview.Value
- }).ToList(),
- CriticalValueContents = string.Join("
", s.Where(m => !string.IsNullOrWhiteSpace(m.registerCheck.CriticalValueContent)).Select(ss => ss.registerCheck.CriticalValueContent).Distinct()) + "
" + string.Join("
", s.Where(m => !string.IsNullOrWhiteSpace(m.registerCheckItem.CriticalValueContent)).Select(ss => ss.registerCheckItem.CriticalValueContent).Distinct()),
- IsPhoneComplete = s.Key.IsPhoneComplete,
- IsSmsComplete = s.Key.IsSmsComplete,
- DiagnosisLevelNames = string.Join("
", s.Where(m => m.registerCheck.DiagnosisLevelId != null).Select(ss => _cacheService.GetDiagnosisLevelNameAsync(ss.registerCheck.DiagnosisLevelId).GetAwaiter().GetResult()).Distinct()) + "
" + string.Join("
", s.Where(m => m.registerCheckItem.DiagnosisLevelId != null).Select(ss => _cacheService.GetDiagnosisLevelNameAsync(ss.registerCheckItem.DiagnosisLevelId).GetAwaiter().GetResult()).Distinct())
- }).ToList();
+ FollowUpId = s.smsSendEmpty.FollowUpId,
+ CreationTime = s.smsSendEmpty.CreationTime,
+ CreatorId = s.smsSendEmpty.CreatorId,
+ Id = s.smsSendEmpty.Id,
+ IsComplete = s.smsSendEmpty.IsComplete,
+ LastModificationTime = s.smsSendEmpty.LastModificationTime,
+ LastModifierId = s.smsSendEmpty.LastModifierId,
+ CreatorName = _cacheService.GetSurnameAsync(s.smsSendEmpty.CreatorId).GetAwaiter().GetResult(),
+ LastModifierName = _cacheService.GetSurnameAsync(s.smsSendEmpty.LastModifierId).GetAwaiter().GetResult(),
+ PatientName = s.smsSendEmpty.PatientName,
+ Content = s.smsSendEmpty.Content,
+ MobileTelephone = s.smsSendEmpty.MobileTelephone,
+ PlanSendDate = DataHelper.ConversionDateToString(s.smsSendEmpty.PlanSendDate),
+ PatientId = s.smsSendEmpty.PatientId,
+ SmsTypeId = s.smsSendEmpty.SmsTypeId
+ }).ToList();
+
+
+ temoDto.PhoneFollowUpWithPatientRegisterDetail = phoneFollowUpWithPatientRegisterDetail;
+ temoDto.SmsSendDetail = smsSendDetail;
+
+ }
+
+
foreach (var item in entListDto)
{
@@ -390,6 +669,7 @@ namespace Shentun.Peis.PhoneFollowUps
}
+
///
/// 获取项目危急值内容
///