|
|
|
@ -1695,6 +1695,11 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
///// <summary>
|
|
|
|
///// 体检记录查询 医生诊台
|
|
|
|
///// </summary>
|
|
|
|
@ -1719,7 +1724,9 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
// ab,
|
|
|
|
// AsbitemId = ad != null ? ad.AsbitemId : Guid.Empty,
|
|
|
|
// RegisterCheckCompleteFlag = ac != null ? ac.CompleteFlag : '9',
|
|
|
|
// RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9'
|
|
|
|
// RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9',
|
|
|
|
// CheckDoctorId = ac.CheckDoctorId,
|
|
|
|
// CheckDate = ac.CheckDate
|
|
|
|
// };
|
|
|
|
|
|
|
|
|
|
|
|
@ -1761,6 +1768,11 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
// sumquery = sumquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item.StartDate) &&
|
|
|
|
// m.a.SummaryDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// else if (item.DateType == '4')
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => m.CheckDate != null && m.CheckDate.Value >= Convert.ToDateTime(item.StartDate) &&
|
|
|
|
// m.CheckDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (input.CustomerOrgs.Count > 1)
|
|
|
|
@ -1801,6 +1813,11 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
// newquery = newquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item2.StartDate) &&
|
|
|
|
// m.a.SummaryDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// else if (item2.DateType == '4')
|
|
|
|
// {
|
|
|
|
// newquery = newquery.Where(m => m.CheckDate != null && m.CheckDate.Value >= Convert.ToDateTime(item2.StartDate) &&
|
|
|
|
// m.CheckDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1));
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// sumquery = sumquery.Union(newquery);
|
|
|
|
// }
|
|
|
|
@ -1818,7 +1835,10 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
// sumquery = sumquery.Where(m => m.a.SexId == input.SexId);
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
// if (input.CheckDoctorIds.Any())
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => input.CheckDoctorIds.Contains(m.CheckDoctorId));
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (input.CompleteFlag != null)
|
|
|
|
// {
|
|
|
|
@ -1860,12 +1880,54 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
// sumquery = sumquery.Where(m => m.RegisterCheckIsAudit == input.AsbitemIsAudit);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (input.MedicalTypeIds.Any())
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => m.a.MedicalTypeId != null && input.MedicalTypeIds.Contains(m.a.MedicalTypeId.Value));
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (input.PersonnelTypeIds.Any())
|
|
|
|
// {
|
|
|
|
// sumquery = sumquery.Where(m => m.a.PersonnelTypeId != null && input.PersonnelTypeIds.Contains(m.a.PersonnelTypeId.Value));
|
|
|
|
// }
|
|
|
|
|
|
|
|
// #region 增加项目类别权限
|
|
|
|
|
|
|
|
// List<Guid> asbitemIds = new List<Guid>();
|
|
|
|
|
|
|
|
// string AdminId = _configuration.GetValue<string>("AdminId");
|
|
|
|
// if (_currentUser.Id.Value != Guid.Parse(AdminId))
|
|
|
|
// {
|
|
|
|
// asbitemIds = (from userItemType in await _userItemTypeRepository.GetQueryableAsync()
|
|
|
|
// join asbitem in await _asbitemRepository.GetQueryableAsync() on userItemType.ItemTypeId equals asbitem.ItemTypeId
|
|
|
|
// where userItemType.UserId == _currentUser.Id.Value
|
|
|
|
// select asbitem.Id).ToList();
|
|
|
|
// }
|
|
|
|
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// var sumqueryGroup = sumquery.ToList().GroupBy(g => g.a.Id);
|
|
|
|
|
|
|
|
// int totalCount = sumqueryGroup.Count();
|
|
|
|
|
|
|
|
// var entlist = sumqueryGroup.OrderBy(o => o.Key).Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).Select(s => new PatientRegisterOrNoDto
|
|
|
|
// List<PatientRegisterOrNoDto> entlist = new List<PatientRegisterOrNoDto>();
|
|
|
|
|
|
|
|
// foreach (var s in sumqueryGroup.OrderBy(o => o.Key))
|
|
|
|
// {
|
|
|
|
// bool IsDisplay = false;
|
|
|
|
|
|
|
|
// if (_currentUser.Id.Value == Guid.Parse(AdminId))
|
|
|
|
// {
|
|
|
|
// IsDisplay = true;
|
|
|
|
// }
|
|
|
|
// else if (s.Where(m => asbitemIds.Contains(m.AsbitemId)).Count() > 0)
|
|
|
|
// {
|
|
|
|
// IsDisplay = true;
|
|
|
|
// }
|
|
|
|
|
|
|
|
// if (IsDisplay)
|
|
|
|
// {
|
|
|
|
// entlist.Add(new PatientRegisterOrNoDto
|
|
|
|
// {
|
|
|
|
// CreationTime = s.FirstOrDefault().a.CreationTime,
|
|
|
|
// CreatorId = s.FirstOrDefault().a.CreatorId,
|
|
|
|
@ -1929,17 +1991,26 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
// Telephone = s.FirstOrDefault().ab.Telephone,
|
|
|
|
// CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result,
|
|
|
|
// CustomerOrgParentId = _cacheService.GetTopCustomerOrgAsync(s.FirstOrDefault().a.CustomerOrgId).Result.Id,
|
|
|
|
// CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result
|
|
|
|
// CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result,
|
|
|
|
// MedicalPackageName = s.FirstOrDefault().a.MedicalPackageId == null ? "" : _cacheService.GetMedicalPackageAsync(s.FirstOrDefault().a.MedicalPackageId.Value).GetAwaiter().GetResult().DisplayName,
|
|
|
|
// CustomerOrgGroupName = s.FirstOrDefault().a.CustomerOrgGroupId == null ? "" : _cacheService.GetCustomerOrgGroupAsync(s.FirstOrDefault().a.CustomerOrgGroupId.Value).GetAwaiter().GetResult().DisplayName,
|
|
|
|
// PersonnelTypeName = _cacheService.GetPersonnelTypeNameAsync(s.FirstOrDefault().a.PersonnelTypeId).GetAwaiter().GetResult(),
|
|
|
|
// MaritalStatusName = _cacheService.GetMaritalStatusNameAsync(s.FirstOrDefault().a.MaritalStatusId).GetAwaiter().GetResult(),
|
|
|
|
// MedicalTypeName = _cacheService.GetMedicalTypeNameAsync(s.FirstOrDefault().a.MedicalTypeId).GetAwaiter().GetResult(),
|
|
|
|
// SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().a.SexId).GetAwaiter().GetResult()
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
|
|
|
|
// }).ToList();
|
|
|
|
|
|
|
|
// return new PagedResultDto<PatientRegisterOrNoDto>(totalCount, entlist);
|
|
|
|
|
|
|
|
//}
|
|
|
|
// }
|
|
|
|
|
|
|
|
// int totalCount = entlist.Count;
|
|
|
|
|
|
|
|
// entlist = entlist.Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).ToList();
|
|
|
|
|
|
|
|
// return new PagedResultDto<PatientRegisterOrNoDto>(totalCount, entlist);
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 体检记录查询 医生诊台
|
|
|
|
@ -1950,28 +2021,30 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
public async Task<PagedResultDto<PatientRegisterOrNoDto>> GetDoctorPeisRecordListAsync(DoctorPeisRecordListInputDto input) |
|
|
|
{ |
|
|
|
|
|
|
|
var query = from a in await _repository.GetQueryableAsync() |
|
|
|
join b in await _patientRepository.GetQueryableAsync() on a.PatientId equals b.Id into bb |
|
|
|
from ab in bb.DefaultIfEmpty() |
|
|
|
join c in await _registerCheckRepository.GetQueryableAsync() on a.Id equals c.PatientRegisterId into cc |
|
|
|
from ac in cc.DefaultIfEmpty() |
|
|
|
join d in await _registerCheckAsbitemRepository.GetQueryableAsync() on ac.Id equals d.RegisterCheckId into dd |
|
|
|
from ad in dd.DefaultIfEmpty() |
|
|
|
join e in await _asbitemRepository.GetQueryableAsync() on ad.AsbitemId equals e.Id |
|
|
|
where e.IsCheck == 'Y' |
|
|
|
var queryPatientRegisterIds = from patientRegister in await _repository.GetQueryableAsync() |
|
|
|
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 |
|
|
|
where asbitem.IsCheck == 'Y' |
|
|
|
select new |
|
|
|
{ |
|
|
|
a, |
|
|
|
ab, |
|
|
|
AsbitemId = ad != null ? ad.AsbitemId : Guid.Empty, |
|
|
|
RegisterCheckCompleteFlag = ac != null ? ac.CompleteFlag : '9', |
|
|
|
RegisterCheckIsAudit = ac != null ? ac.IsAudit : '9', |
|
|
|
CheckDoctorId = ac.CheckDoctorId, |
|
|
|
CheckDate = ac.CheckDate |
|
|
|
patientRegister, |
|
|
|
patient, |
|
|
|
registerCheckAsbitem = new |
|
|
|
{ |
|
|
|
registerCheckAsbitem.AsbitemId |
|
|
|
}, |
|
|
|
registerCheck = new |
|
|
|
{ |
|
|
|
registerCheck.CompleteFlag, |
|
|
|
registerCheck.IsAudit, |
|
|
|
registerCheck.CheckDoctorId, |
|
|
|
registerCheck.CheckDate |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
var sumquery = query; |
|
|
|
var sumquery = queryPatientRegisterIds; |
|
|
|
|
|
|
|
|
|
|
|
if (input.CustomerOrgs.Any()) |
|
|
|
@ -1981,38 +2054,38 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
|
|
|
|
if (item.CustomerOrgGroupId.Any()) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value)); |
|
|
|
} |
|
|
|
if (item.CustomerOrgRegisterId != null && item.CustomerOrgRegisterId != Guid.Empty) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.CustomerOrgRegisterId == item.CustomerOrgRegisterId); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.CustomerOrgRegisterId == item.CustomerOrgRegisterId); |
|
|
|
} |
|
|
|
if (item.CustomerOrgId != null) |
|
|
|
{ |
|
|
|
var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item.CustomerOrgId.Value); |
|
|
|
sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId)); |
|
|
|
sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.patientRegister.CustomerOrgId)); |
|
|
|
} |
|
|
|
if (!string.IsNullOrEmpty(item.StartDate) && !string.IsNullOrEmpty(item.EndDate)) |
|
|
|
{ |
|
|
|
if (item.DateType == '1') |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.a.CreationTime < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.patientRegister.CreationTime < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item.DateType == '2') |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.a.MedicalStartDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.patientRegister.MedicalStartDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item.DateType == '3') |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.a.SummaryDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate.Value >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.patientRegister.SummaryDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item.DateType == '4') |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.CheckDate != null && m.CheckDate.Value >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.CheckDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
sumquery = sumquery.Where(m => m.registerCheck.CheckDate != null && m.registerCheck.CheckDate.Value >= Convert.ToDateTime(item.StartDate) && |
|
|
|
m.registerCheck.CheckDate.Value < Convert.ToDateTime(item.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -2023,41 +2096,41 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
|
|
|
|
if (input.CustomerOrgs.IndexOf(item2) > 0) |
|
|
|
{ |
|
|
|
var newquery = query; |
|
|
|
var newquery = queryPatientRegisterIds; |
|
|
|
if (item2.CustomerOrgGroupId.Any()) |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value)); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.patientRegister.CustomerOrgGroupId.Value)); |
|
|
|
} |
|
|
|
if (item2.CustomerOrgRegisterId != null && item2.CustomerOrgRegisterId != Guid.Empty) |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.CustomerOrgRegisterId == item2.CustomerOrgRegisterId); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.CustomerOrgRegisterId == item2.CustomerOrgRegisterId); |
|
|
|
} |
|
|
|
if (item2.CustomerOrgId != null) |
|
|
|
{ |
|
|
|
var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item2.CustomerOrgId.Value); |
|
|
|
newquery = newquery.Where(m => CustomerOrgIds.Contains(m.a.CustomerOrgId)); |
|
|
|
newquery = newquery.Where(m => CustomerOrgIds.Contains(m.patientRegister.CustomerOrgId)); |
|
|
|
} |
|
|
|
if (!string.IsNullOrEmpty(item2.StartDate) && !string.IsNullOrEmpty(item2.EndDate)) |
|
|
|
{ |
|
|
|
if (item2.DateType == '1') |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.CreationTime >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.a.CreationTime < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.CreationTime >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.patientRegister.CreationTime < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item2.DateType == '2') |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate.Value >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.a.MedicalStartDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.MedicalStartDate != null && m.patientRegister.MedicalStartDate.Value >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.patientRegister.MedicalStartDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item2.DateType == '3') |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.a.SummaryDate != null && m.a.SummaryDate.Value >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.a.SummaryDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
newquery = newquery.Where(m => m.patientRegister.SummaryDate != null && m.patientRegister.SummaryDate.Value >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.patientRegister.SummaryDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
else if (item2.DateType == '4') |
|
|
|
{ |
|
|
|
newquery = newquery.Where(m => m.CheckDate != null && m.CheckDate.Value >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.CheckDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
newquery = newquery.Where(m => m.registerCheck.CheckDate != null && m.registerCheck.CheckDate.Value >= Convert.ToDateTime(item2.StartDate) && |
|
|
|
m.registerCheck.CheckDate.Value < Convert.ToDateTime(item2.EndDate).AddDays(1)); |
|
|
|
} |
|
|
|
} |
|
|
|
sumquery = sumquery.Union(newquery); |
|
|
|
@ -2068,64 +2141,61 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(input.PatientName)) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.PatientName != null && m.a.PatientName.Contains(input.PatientName)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.PatientName != null && m.patientRegister.PatientName.Contains(input.PatientName)); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.SexId != null) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.SexId == input.SexId); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.SexId == input.SexId); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.CheckDoctorIds.Any()) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => input.CheckDoctorIds.Contains(m.CheckDoctorId)); |
|
|
|
sumquery = sumquery.Where(m => input.CheckDoctorIds.Contains(m.registerCheck.CheckDoctorId)); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.CompleteFlag != null) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.CompleteFlag == input.CompleteFlag); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.CompleteFlag == input.CompleteFlag); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
//直接过滤
|
|
|
|
sumquery = sumquery.Where(m => m.a.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.CompleteFlag != PatientRegisterCompleteFlag.PreRegistration); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.IsAudit != null) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.IsAudit == input.IsAudit); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.IsAudit == input.IsAudit); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.Asbitems.Any()) |
|
|
|
{ |
|
|
|
|
|
|
|
sumquery = sumquery.Where(m => input.Asbitems.Contains(m.AsbitemId)); |
|
|
|
sumquery = sumquery.Where(m => input.Asbitems.Contains(m.registerCheckAsbitem.AsbitemId)); |
|
|
|
} |
|
|
|
|
|
|
|
//if (input.IsPicture == 'Y')
|
|
|
|
//{
|
|
|
|
// //查询有图数据
|
|
|
|
// var query_picture = from a in await _registerCheckAsbitemRepository.GetQueryableAsync()
|
|
|
|
// join b in await _registerCheckPictureRepository.GetQueryableAsync() on a.RegisterCheckId equals b.RegisterCheckId
|
|
|
|
// select a.PatientRegisterId;
|
|
|
|
// sumquery = sumquery.Where(m => query_picture.Contains(m.a.Id));
|
|
|
|
//}
|
|
|
|
|
|
|
|
|
|
|
|
if (input.AsbitemCompleteFlag != null) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.RegisterCheckCompleteFlag == input.AsbitemCompleteFlag); |
|
|
|
sumquery = sumquery.Where(m => m.registerCheck.CompleteFlag == input.AsbitemCompleteFlag); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.AsbitemIsAudit != null) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.RegisterCheckIsAudit == input.AsbitemIsAudit); |
|
|
|
sumquery = sumquery.Where(m => m.registerCheck.IsAudit == input.AsbitemIsAudit); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.MedicalTypeIds.Any()) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.MedicalTypeId != null && input.MedicalTypeIds.Contains(m.a.MedicalTypeId.Value)); |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.MedicalTypeId != null && input.MedicalTypeIds.Contains(m.patientRegister.MedicalTypeId.Value)); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.PersonnelTypeIds.Any()) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.patientRegister.PersonnelTypeId != null && input.PersonnelTypeIds.Contains(m.patientRegister.PersonnelTypeId.Value)); |
|
|
|
} |
|
|
|
|
|
|
|
#region 增加项目类别权限
|
|
|
|
|
|
|
|
@ -2138,115 +2208,115 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
join asbitem in await _asbitemRepository.GetQueryableAsync() on userItemType.ItemTypeId equals asbitem.ItemTypeId |
|
|
|
where userItemType.UserId == _currentUser.Id.Value |
|
|
|
select asbitem.Id).ToList(); |
|
|
|
|
|
|
|
sumquery = sumquery.Where(m => asbitemIds.Contains(m.registerCheckAsbitem.AsbitemId)); |
|
|
|
} |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
var patientRegisterIds = sumquery.Select(s => new |
|
|
|
{ |
|
|
|
patientRegisterId = s.patientRegister.Id, |
|
|
|
medicalStartDate = s.patientRegister.MedicalStartDate |
|
|
|
}).Distinct(); |
|
|
|
|
|
|
|
var sumqueryGroup = sumquery.ToList().GroupBy(g => g.a.Id); |
|
|
|
|
|
|
|
int totalCount = patientRegisterIds.Count(); |
|
|
|
|
|
|
|
List<PatientRegisterOrNoDto> entlist = new List<PatientRegisterOrNoDto>(); |
|
|
|
var pagedIds = patientRegisterIds.OrderBy(o => o.medicalStartDate).Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount) |
|
|
|
.Select(s => s.patientRegisterId).ToList(); |
|
|
|
|
|
|
|
foreach (var s in sumqueryGroup.OrderBy(o => o.Key)) |
|
|
|
var queryList = (from patientRegister in await _repository.GetQueryableAsync() |
|
|
|
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id |
|
|
|
where pagedIds.Contains(patientRegister.Id) |
|
|
|
select new |
|
|
|
{ |
|
|
|
bool IsDisplay = false; |
|
|
|
patientRegister, |
|
|
|
patient |
|
|
|
}).ToList(); |
|
|
|
|
|
|
|
if (_currentUser.Id.Value == Guid.Parse(AdminId)) |
|
|
|
{ |
|
|
|
IsDisplay = true; |
|
|
|
} |
|
|
|
else if (s.Where(m => asbitemIds.Contains(m.AsbitemId)).Count() > 0) |
|
|
|
{ |
|
|
|
IsDisplay = true; |
|
|
|
} |
|
|
|
List<PatientRegisterOrNoDto> entlist = new List<PatientRegisterOrNoDto>(); |
|
|
|
|
|
|
|
if (IsDisplay) |
|
|
|
foreach (var item in queryList) |
|
|
|
{ |
|
|
|
var patientRegisterFirst = item.patientRegister; |
|
|
|
var patientFirst = item.patient; |
|
|
|
|
|
|
|
entlist.Add(new PatientRegisterOrNoDto |
|
|
|
{ |
|
|
|
CreationTime = s.FirstOrDefault().a.CreationTime, |
|
|
|
CreatorId = s.FirstOrDefault().a.CreatorId, |
|
|
|
Id = s.FirstOrDefault().a.Id, |
|
|
|
LastModificationTime = s.FirstOrDefault().a.LastModificationTime, |
|
|
|
LastModifierId = s.FirstOrDefault().a.LastModifierId, |
|
|
|
ThirdInfo = s.FirstOrDefault().a.ThirdInfo, |
|
|
|
SummaryDoctorId = s.FirstOrDefault().a.SummaryDoctorId, |
|
|
|
SummaryDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.SummaryDate), |
|
|
|
SexId = s.FirstOrDefault().a.SexId, |
|
|
|
Age = s.FirstOrDefault().a.Age, |
|
|
|
AuditDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.AuditDate), |
|
|
|
AuditDoctorId = s.FirstOrDefault().a.AuditDoctorId, |
|
|
|
BirthDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.BirthDate), |
|
|
|
CompleteFlag = s.FirstOrDefault().a.CompleteFlag, |
|
|
|
CustomerOrgGroupId = s.FirstOrDefault().a.CustomerOrgGroupId, |
|
|
|
CustomerOrgId = s.FirstOrDefault().a.CustomerOrgId, |
|
|
|
CustomerOrgRegisterId = s.FirstOrDefault().a.CustomerOrgRegisterId, |
|
|
|
GuidePrintTimes = s.FirstOrDefault().a.GuidePrintTimes, |
|
|
|
InterposeMeasure = s.FirstOrDefault().a.InterposeMeasure, |
|
|
|
IsAudit = s.FirstOrDefault().a.IsAudit, |
|
|
|
IsLock = s.FirstOrDefault().a.IsLock, |
|
|
|
IsMedicalStart = s.FirstOrDefault().a.IsMedicalStart, |
|
|
|
IsNameHide = s.FirstOrDefault().a.IsNameHide, |
|
|
|
IsPhoneFollow = s.FirstOrDefault().a.IsPhoneFollow, |
|
|
|
IsRecoverGuide = s.FirstOrDefault().a.IsRecoverGuide, |
|
|
|
IsUpload = s.FirstOrDefault().a.IsUpload, |
|
|
|
IsVip = s.FirstOrDefault().a.IsVip, |
|
|
|
JobCardNo = s.FirstOrDefault().a.JobCardNo, |
|
|
|
JobPost = s.FirstOrDefault().a.JobPost, |
|
|
|
JobTitle = s.FirstOrDefault().a.JobTitle, |
|
|
|
MaritalStatusId = s.FirstOrDefault().a.MaritalStatusId, |
|
|
|
MedicalCardNo = s.FirstOrDefault().a.MedicalCardNo, |
|
|
|
MedicalConclusionId = s.FirstOrDefault().a.MedicalConclusionId, |
|
|
|
MedicalPackageId = s.FirstOrDefault().a.MedicalPackageId, |
|
|
|
MedicalStartDate = DataHelper.ConversionDateToString(s.FirstOrDefault().a.MedicalStartDate), |
|
|
|
MedicalTimes = s.FirstOrDefault().a.MedicalTimes, |
|
|
|
MedicalTypeId = s.FirstOrDefault().a.MedicalTypeId, |
|
|
|
MedicalCenterId = s.FirstOrDefault().a.MedicalCenterId, |
|
|
|
PatientId = s.FirstOrDefault().a.PatientId, |
|
|
|
PatientName = s.FirstOrDefault().a.PatientName, |
|
|
|
PatientRegisterNo = s.FirstOrDefault().a.PatientRegisterNo, |
|
|
|
PersonnelTypeId = s.FirstOrDefault().a.PersonnelTypeId, |
|
|
|
Photo = s.FirstOrDefault().a.Photo, |
|
|
|
Remark = s.FirstOrDefault().a.Remark, |
|
|
|
ReportPrintTimes = s.FirstOrDefault().a.ReportPrintTimes, |
|
|
|
Salesman = s.FirstOrDefault().a.Salesman, |
|
|
|
SexHormoneTermId = s.FirstOrDefault().a.SexHormoneTermId, |
|
|
|
CreationTime = patientRegisterFirst.CreationTime, |
|
|
|
CreatorId = patientRegisterFirst.CreatorId, |
|
|
|
Id = patientRegisterFirst.Id, |
|
|
|
LastModificationTime = patientRegisterFirst.LastModificationTime, |
|
|
|
LastModifierId = patientRegisterFirst.LastModifierId, |
|
|
|
ThirdInfo = patientRegisterFirst.ThirdInfo, |
|
|
|
SummaryDoctorId = patientRegisterFirst.SummaryDoctorId, |
|
|
|
SummaryDate = DataHelper.ConversionDateToString(patientRegisterFirst.SummaryDate), |
|
|
|
SexId = patientRegisterFirst.SexId, |
|
|
|
Age = patientRegisterFirst.Age, |
|
|
|
AuditDate = DataHelper.ConversionDateToString(patientRegisterFirst.AuditDate), |
|
|
|
AuditDoctorId = patientRegisterFirst.AuditDoctorId, |
|
|
|
BirthDate = DataHelper.ConversionDateToString(patientRegisterFirst.BirthDate), |
|
|
|
CompleteFlag = patientRegisterFirst.CompleteFlag, |
|
|
|
CustomerOrgGroupId = patientRegisterFirst.CustomerOrgGroupId, |
|
|
|
CustomerOrgId = patientRegisterFirst.CustomerOrgId, |
|
|
|
CustomerOrgRegisterId = patientRegisterFirst.CustomerOrgRegisterId, |
|
|
|
GuidePrintTimes = patientRegisterFirst.GuidePrintTimes, |
|
|
|
InterposeMeasure = patientRegisterFirst.InterposeMeasure, |
|
|
|
IsAudit = patientRegisterFirst.IsAudit, |
|
|
|
IsLock = patientRegisterFirst.IsLock, |
|
|
|
IsMedicalStart = patientRegisterFirst.IsMedicalStart, |
|
|
|
IsNameHide = patientRegisterFirst.IsNameHide, |
|
|
|
IsPhoneFollow = patientRegisterFirst.IsPhoneFollow, |
|
|
|
IsRecoverGuide = patientRegisterFirst.IsRecoverGuide, |
|
|
|
IsUpload = patientRegisterFirst.IsUpload, |
|
|
|
IsVip = patientRegisterFirst.IsVip, |
|
|
|
JobCardNo = patientRegisterFirst.JobCardNo, |
|
|
|
JobPost = patientRegisterFirst.JobPost, |
|
|
|
JobTitle = patientRegisterFirst.JobTitle, |
|
|
|
MaritalStatusId = patientRegisterFirst.MaritalStatusId, |
|
|
|
MedicalCardNo = patientRegisterFirst.MedicalCardNo, |
|
|
|
MedicalConclusionId = patientRegisterFirst.MedicalConclusionId, |
|
|
|
MedicalPackageId = patientRegisterFirst.MedicalPackageId, |
|
|
|
MedicalStartDate = DataHelper.ConversionDateToString(patientRegisterFirst.MedicalStartDate), |
|
|
|
MedicalTimes = patientRegisterFirst.MedicalTimes, |
|
|
|
MedicalTypeId = patientRegisterFirst.MedicalTypeId, |
|
|
|
MedicalCenterId = patientRegisterFirst.MedicalCenterId, |
|
|
|
PatientId = patientRegisterFirst.PatientId, |
|
|
|
PatientName = patientRegisterFirst.PatientName, |
|
|
|
PatientRegisterNo = patientRegisterFirst.PatientRegisterNo, |
|
|
|
PersonnelTypeId = patientRegisterFirst.PersonnelTypeId, |
|
|
|
Photo = patientRegisterFirst.Photo, |
|
|
|
Remark = patientRegisterFirst.Remark, |
|
|
|
ReportPrintTimes = patientRegisterFirst.ReportPrintTimes, |
|
|
|
Salesman = patientRegisterFirst.Salesman, |
|
|
|
SexHormoneTermId = patientRegisterFirst.SexHormoneTermId, |
|
|
|
CreatorName = "", |
|
|
|
LastModifierName = "", |
|
|
|
Address = s.FirstOrDefault().ab.Address, //档案表信息
|
|
|
|
BirthPlaceId = s.FirstOrDefault().ab.BirthPlaceId, |
|
|
|
DisplayName = s.FirstOrDefault().ab.DisplayName, |
|
|
|
Email = s.FirstOrDefault().ab.Email, |
|
|
|
IdNo = s.FirstOrDefault().ab.IdNo, |
|
|
|
MobileTelephone = s.FirstOrDefault().ab.MobileTelephone, |
|
|
|
NationId = s.FirstOrDefault().ab.NationId, |
|
|
|
PatientNo = s.FirstOrDefault().ab.PatientNo, |
|
|
|
PatientPassword = s.FirstOrDefault().ab.PatientPassword, |
|
|
|
PostalCode = s.FirstOrDefault().ab.PostalCode, |
|
|
|
Telephone = s.FirstOrDefault().ab.Telephone, |
|
|
|
CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result, |
|
|
|
CustomerOrgParentId = _cacheService.GetTopCustomerOrgAsync(s.FirstOrDefault().a.CustomerOrgId).Result.Id, |
|
|
|
CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(s.FirstOrDefault().a.CustomerOrgId).Result, |
|
|
|
MedicalPackageName = s.FirstOrDefault().a.MedicalPackageId == null ? "" : _cacheService.GetMedicalPackageAsync(s.FirstOrDefault().a.MedicalPackageId.Value).GetAwaiter().GetResult().DisplayName, |
|
|
|
CustomerOrgGroupName = s.FirstOrDefault().a.CustomerOrgGroupId == null ? "" : _cacheService.GetCustomerOrgGroupAsync(s.FirstOrDefault().a.CustomerOrgGroupId.Value).GetAwaiter().GetResult().DisplayName, |
|
|
|
PersonnelTypeName = _cacheService.GetPersonnelTypeNameAsync(s.FirstOrDefault().a.PersonnelTypeId).GetAwaiter().GetResult(), |
|
|
|
MaritalStatusName = _cacheService.GetMaritalStatusNameAsync(s.FirstOrDefault().a.MaritalStatusId).GetAwaiter().GetResult(), |
|
|
|
MedicalTypeName = _cacheService.GetMedicalTypeNameAsync(s.FirstOrDefault().a.MedicalTypeId).GetAwaiter().GetResult(), |
|
|
|
SexName = _cacheService.GetSexNameAsync(s.FirstOrDefault().a.SexId).GetAwaiter().GetResult() |
|
|
|
Address = patientFirst.Address, //档案表信息
|
|
|
|
BirthPlaceId = patientFirst.BirthPlaceId, |
|
|
|
DisplayName = patientFirst.DisplayName, |
|
|
|
Email = patientFirst.Email, |
|
|
|
IdNo = patientFirst.IdNo, |
|
|
|
MobileTelephone = patientFirst.MobileTelephone, |
|
|
|
NationId = patientFirst.NationId, |
|
|
|
PatientNo = patientFirst.PatientNo, |
|
|
|
PatientPassword = patientFirst.PatientPassword, |
|
|
|
PostalCode = patientFirst.PostalCode, |
|
|
|
Telephone = patientFirst.Telephone, |
|
|
|
CustomerOrgName = _cacheService.GetCustomerOrgNameAsync(patientRegisterFirst.CustomerOrgId).Result, |
|
|
|
CustomerOrgParentId = _cacheService.GetTopCustomerOrgAsync(patientRegisterFirst.CustomerOrgId).Result.Id, |
|
|
|
CustomerOrgParentName = _cacheService.GetTopCustomerOrgNameAsync(patientRegisterFirst.CustomerOrgId).Result, |
|
|
|
MedicalPackageName = patientRegisterFirst.MedicalPackageId == null ? "" : _cacheService.GetMedicalPackageAsync(patientRegisterFirst.MedicalPackageId.Value).GetAwaiter().GetResult().DisplayName, |
|
|
|
CustomerOrgGroupName = patientRegisterFirst.CustomerOrgGroupId == null ? "" : _cacheService.GetCustomerOrgGroupAsync(patientRegisterFirst.CustomerOrgGroupId.Value).GetAwaiter().GetResult().DisplayName, |
|
|
|
PersonnelTypeName = _cacheService.GetPersonnelTypeNameAsync(patientRegisterFirst.PersonnelTypeId).GetAwaiter().GetResult(), |
|
|
|
MaritalStatusName = _cacheService.GetMaritalStatusNameAsync(patientRegisterFirst.MaritalStatusId).GetAwaiter().GetResult(), |
|
|
|
MedicalTypeName = _cacheService.GetMedicalTypeNameAsync(patientRegisterFirst.MedicalTypeId).GetAwaiter().GetResult(), |
|
|
|
SexName = _cacheService.GetSexNameAsync(patientRegisterFirst.SexId).GetAwaiter().GetResult() |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
int totalCount = entlist.Count; |
|
|
|
|
|
|
|
entlist = entlist.Skip(input.SkipCount * input.MaxResultCount).Take(input.MaxResultCount).ToList(); |
|
|
|
|
|
|
|
return new PagedResultDto<PatientRegisterOrNoDto>(totalCount, entlist); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -2418,6 +2488,11 @@ namespace Shentun.Peis.PatientRegisters |
|
|
|
sumquery = sumquery.Where(m => m.a.MedicalTypeId != null && input.MedicalTypeIds.Contains(m.a.MedicalTypeId.Value)); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.PersonnelTypeIds.Any()) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.PersonnelTypeId != null && input.PersonnelTypeIds.Contains(m.a.PersonnelTypeId.Value)); |
|
|
|
} |
|
|
|
|
|
|
|
if (input.SummaryDoctorIds.Any()) |
|
|
|
{ |
|
|
|
sumquery = sumquery.Where(m => m.a.SummaryDoctorId != null && input.SummaryDoctorIds.Contains(m.a.SummaryDoctorId.Value)); |
|
|
|
|