Browse Source

日志 医生诊台

master
wxd 3 months ago
parent
commit
22d17b91cb
  1. 11
      src/Shentun.Peis.Application.Contracts/AuditLogs/AuditLogIdInputDto.cs
  2. 5
      src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs
  3. 5
      src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs
  4. 29
      src/Shentun.Peis.Application/AuditLogs/AuditLogAppService.cs
  5. 140
      src/Shentun.Peis.Application/CustomerOrgGroups/CustomerOrgGroupAppService.cs
  6. 4
      src/Shentun.Peis.Application/DirectorManagements/DirectorManagementAppService.cs
  7. 389
      src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs
  8. 2
      src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs

11
src/Shentun.Peis.Application.Contracts/AuditLogs/AuditLogIdInputDto.cs

@ -0,0 +1,11 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace Shentun.Peis.AuditLogs
{
public class AuditLogIdInputDto
{
public Guid AuditLogId { get; set; }
}
}

5
src/Shentun.Peis.Application.Contracts/PatientRegisters/DoctorPeisRecordListInputDto.cs

@ -63,6 +63,11 @@ namespace Shentun.Peis.PatientRegisters
/// </summary>
public List<Guid> MedicalTypeIds { get; set; } = new List<Guid>();
/// <summary>
/// 人员类别
/// </summary>
public List<Guid> PersonnelTypeIds { get; set; } = new List<Guid>();
/// <summary>
/// 检查医生ID集合
/// </summary>

5
src/Shentun.Peis.Application.Contracts/PatientRegisters/SumDoctorPeisRecordListInputtDto.cs

@ -78,6 +78,11 @@ namespace Shentun.Peis.PatientRegisters
/// </summary>
public List<Guid> MedicalTypeIds { get; set; } = new List<Guid>();
/// <summary>
/// 人员类别
/// </summary>
public List<Guid> PersonnelTypeIds { get; set; } = new List<Guid>();
public override int MaxResultCount { get; set; } = 100;
}
}

29
src/Shentun.Peis.Application/AuditLogs/AuditLogAppService.cs

@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Shentun.Peis.CommonTables;
using System;
using System.Collections.Generic;
using System.Linq;
@ -8,6 +9,7 @@ using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using Volo.Abp.AuditLogging;
using Volo.Abp.Domain.Repositories;
namespace Shentun.Peis.AuditLogs
{
@ -15,11 +17,15 @@ namespace Shentun.Peis.AuditLogs
[Authorize]
public class AuditLogAppService : ApplicationService
{
private readonly IAuditLogRepository _repository;
public AuditLogAppService(IAuditLogRepository repository)
private readonly IRepository<AuditLogAction, Guid> _auditLogActionRepository;
public AuditLogAppService(IAuditLogRepository repository,
IRepository<AuditLogAction, Guid> auditLogActionRepository
)
{
_repository = repository;
_auditLogActionRepository = auditLogActionRepository;
}
/// <summary>
@ -31,16 +37,18 @@ namespace Shentun.Peis.AuditLogs
/// <param name="startTime">开始时间</param>
/// <param name="endTime">结束时间</param>
/// <param name="userName">操作用户</param>
/// <param name="url">请求地址</param>
/// <returns></returns>
public async Task<List<AuditLog>> GetListAsync(string sorting = null,
int maxResultCount = 50,
int skipCount = 0,
DateTime? startTime = null,
DateTime? endTime = null,
string userName = null
string userName = null,
string url = null
)
{
return await _repository.GetListAsync(sorting, maxResultCount, skipCount, startTime, endTime, null, null, null, userName,
return await _repository.GetListAsync(sorting, maxResultCount, skipCount * maxResultCount, startTime, endTime, null, url, null, userName,
null, null, null, null, null, null, null);
}
@ -51,9 +59,20 @@ namespace Shentun.Peis.AuditLogs
/// <returns></returns>
public async Task<AuditLog> GetByIdAsync(Guid AuditLogId)
{
return await _repository.GetAsync(AuditLogId);
}
/// <summary>
/// 获取信息
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/app/AuditLog/GetAuditLogActionByAuditLogId")]
public async Task<AuditLogAction> GetAuditLogActionByAuditLogIdAsync(AuditLogIdInputDto input)
{
var entDto = await _auditLogActionRepository.FirstOrDefaultAsync(f => f.AuditLogId == input.AuditLogId);
return entDto;
}
}
}

140
src/Shentun.Peis.Application/CustomerOrgGroups/CustomerOrgGroupAppService.cs

@ -99,6 +99,70 @@ namespace Shentun.Peis.CustomerOrgGroups
return base.CreateAsync(input);
}
///// <summary>
///// 获取列表 团检分组 可以带名字 次数 单位ID 检查
///// </summary>
///// <param name="input"></param>
///// <returns></returns>
//[HttpGet("api/app/customerorggroup/getlistinfilter")]
//[AllowAnonymous]
//public async Task<List<CustomerOrgGroupOrCustomerOrgDto>> GetListInFilterAsync(GetListDto input)
//{
// var oldlist = (await Repository.GetQueryableAsync()).
// Include(x => x.CustomerOrgRegister).
// Include(x => x.CustomerOrgRegister.CustomerOrg).AsEnumerable();
// if (!string.IsNullOrEmpty(input.Filter))
// oldlist = oldlist.Where(m => m.DisplayName.Contains(input.Filter));
// if (input.CustomerOrgId != null && input.CustomerOrgId != Guid.Empty)
// oldlist = oldlist.Where(m => m.CustomerOrgRegister.CustomerOrg.Id == input.CustomerOrgId);
// if (input.CustomerOrgRegisterId != null && input.CustomerOrgRegisterId != Guid.Empty)
// oldlist = oldlist.Where(m => m.CustomerOrgRegisterId == input.CustomerOrgRegisterId);
// if (input.MedicalTimes != null)
// oldlist = oldlist.Where(m => m.CustomerOrgRegister.MedicalTimes == input.MedicalTimes);
// var dd = oldlist.ToList();
// var entdto = dd.OrderBy(o => o.CustomerOrgRegister.CustomerOrg.DisplayOrder)
// .ThenBy(o => o.CustomerOrgRegister.MedicalTimes)
// .ThenBy(o => o.DisplayOrder)
// .Select(s => new CustomerOrgGroupOrCustomerOrgDto
// {
// CreationTime = s.CreationTime,
// CreatorId = s.CreatorId,
// DisplayName = s.DisplayName,
// DisplayOrder = s.DisplayOrder,
// Id = s.Id,
// LastModificationTime = s.LastModificationTime,
// LastModifierId = s.LastModifierId,
// Price = s.Price,
// ForSexId = s.ForSexId,
// Remark = s.Remark,
// MaritalStatusId = s.MaritalStatusId,
// JobTitle = s.JobTitle,
// JobPost = s.JobPost,
// AgeUpperLimit = s.AgeUpperLimit,
// AgeLowerLimit = s.AgeLowerLimit,
// CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).GetAwaiter().GetResult(),
// LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).GetAwaiter().GetResult(),
// CustomerOrgId = s.CustomerOrgRegister.CustomerOrgId,
// CustomerOrgName = s.CustomerOrgRegister.CustomerOrg.DisplayName,
// MedicalTimes = s.CustomerOrgRegister.MedicalTimes,
// CustomerOrgRegisterId = s.CustomerOrgRegisterId,
// CanAddMoney = s.CanAddMoney
// }).OrderBy(m => m.DisplayOrder).ToList();
// return entdto;
//}
/// <summary>
/// 获取列表 团检分组 可以带名字 次数 单位ID 检查
/// </summary>
@ -107,55 +171,61 @@ namespace Shentun.Peis.CustomerOrgGroups
[HttpGet("api/app/customerorggroup/getlistinfilter")]
public async Task<List<CustomerOrgGroupOrCustomerOrgDto>> GetListInFilterAsync(GetListDto input)
{
var query = from customerOrgGroup in await Repository.GetQueryableAsync()
join customerOrgRegister in await _customerOrgRegisterRepository.GetQueryableAsync() on customerOrgGroup.CustomerOrgRegisterId equals customerOrgRegister.Id
join customerOrg in await _customerOrgRepository.GetQueryableAsync() on customerOrgRegister.CustomerOrgId equals customerOrg.Id
orderby customerOrg.DisplayOrder, customerOrgRegister.MedicalTimes, customerOrgGroup.DisplayOrder
select new
{
customerOrgGroup,
customerOrgRegister,
customerOrg
};
var oldlist = (await Repository.GetQueryableAsync()).
Include(x => x.CustomerOrgRegister).
Include(x => x.CustomerOrgRegister.CustomerOrg).AsEnumerable();
if (!string.IsNullOrEmpty(input.Filter))
oldlist = oldlist.Where(m => m.DisplayName.Contains(input.Filter));
query = query.Where(m => m.customerOrgGroup.DisplayName.Contains(input.Filter));
if (input.CustomerOrgId != null && input.CustomerOrgId != Guid.Empty)
oldlist = oldlist.Where(m => m.CustomerOrgRegister.CustomerOrg.Id == input.CustomerOrgId);
query = query.Where(m => m.customerOrg.Id == input.CustomerOrgId);
if (input.CustomerOrgRegisterId != null && input.CustomerOrgRegisterId != Guid.Empty)
oldlist = oldlist.Where(m => m.CustomerOrgRegisterId == input.CustomerOrgRegisterId);
query = query.Where(m => m.customerOrgGroup.CustomerOrgRegisterId == input.CustomerOrgRegisterId);
if (input.MedicalTimes != null)
oldlist = oldlist.Where(m => m.CustomerOrgRegister.MedicalTimes == input.MedicalTimes);
query = query.Where(m => m.customerOrgRegister.MedicalTimes == input.MedicalTimes);
var entdto = oldlist.OrderBy(o => o.CustomerOrgRegister.CustomerOrg.DisplayOrder)
.ThenBy(o => o.CustomerOrgRegister.MedicalTimes)
.ThenBy(o => o.DisplayOrder)
.Select(s => new CustomerOrgGroupOrCustomerOrgDto
var entListDto = query.ToList().Select(s => new CustomerOrgGroupOrCustomerOrgDto
{
CreationTime = s.CreationTime,
CreatorId = s.CreatorId,
DisplayName = s.DisplayName,
DisplayOrder = s.DisplayOrder,
Id = s.Id,
LastModificationTime = s.LastModificationTime,
LastModifierId = s.LastModifierId,
Price = s.Price,
ForSexId = s.ForSexId,
Remark = s.Remark,
MaritalStatusId = s.MaritalStatusId,
JobTitle = s.JobTitle,
JobPost = s.JobPost,
AgeUpperLimit = s.AgeUpperLimit,
AgeLowerLimit = s.AgeLowerLimit,
CreatorName = _cacheService.GetSurnameAsync(s.CreatorId).GetAwaiter().GetResult(),
LastModifierName = _cacheService.GetSurnameAsync(s.LastModifierId).GetAwaiter().GetResult(),
CustomerOrgId = s.CustomerOrgRegister.CustomerOrgId,
CustomerOrgName = s.CustomerOrgRegister.CustomerOrg.DisplayName,
MedicalTimes = s.CustomerOrgRegister.MedicalTimes,
CustomerOrgRegisterId = s.CustomerOrgRegisterId,
CanAddMoney = s.CanAddMoney
}).OrderBy(m => m.DisplayOrder).ToList();
CreationTime = s.customerOrgGroup.CreationTime,
CreatorId = s.customerOrgGroup.CreatorId,
DisplayName = s.customerOrgGroup.DisplayName,
DisplayOrder = s.customerOrgGroup.DisplayOrder,
Id = s.customerOrgGroup.Id,
LastModificationTime = s.customerOrgGroup.LastModificationTime,
LastModifierId = s.customerOrgGroup.LastModifierId,
Price = s.customerOrgGroup.Price,
ForSexId = s.customerOrgGroup.ForSexId,
Remark = s.customerOrgGroup.Remark,
MaritalStatusId = s.customerOrgGroup.MaritalStatusId,
JobTitle = s.customerOrgGroup.JobTitle,
JobPost = s.customerOrgGroup.JobPost,
AgeUpperLimit = s.customerOrgGroup.AgeUpperLimit,
AgeLowerLimit = s.customerOrgGroup.AgeLowerLimit,
CreatorName = _cacheService.GetSurnameAsync(s.customerOrgGroup.CreatorId).GetAwaiter().GetResult(),
LastModifierName = _cacheService.GetSurnameAsync(s.customerOrgGroup.LastModifierId).GetAwaiter().GetResult(),
CustomerOrgId = s.customerOrgRegister.CustomerOrgId,
CustomerOrgName = s.customerOrg.DisplayName,
MedicalTimes = s.customerOrgRegister.MedicalTimes,
CustomerOrgRegisterId = s.customerOrgGroup.CustomerOrgRegisterId,
CanAddMoney = s.customerOrgGroup.CanAddMoney
}).ToList();
return entdto;
return entListDto;
}

4
src/Shentun.Peis.Application/DirectorManagements/DirectorManagementAppService.cs

@ -239,9 +239,9 @@ namespace Shentun.Peis.DirectorManagements
query = query.Where(m => m.registerCheckAsbitem.IsCharge == input.IsCharge);
}
var queryList = query.ToList();
// var queryList = query.ToList();
var entListDto = queryList.GroupBy(g => g.registerCheckAsbitem.AsbitemId).Select(s => new GetAsbitemRevenueReportDto
var entListDto = query.GroupBy(g => g.registerCheckAsbitem.AsbitemId).Select(s => new GetAsbitemRevenueReportDto
{
AsbitemName = s.FirstOrDefault().asbitemName,
SalesCount = s.Sum(sa => sa.registerCheckAsbitem.Amount),

389
src/Shentun.Peis.Application/PatientRegisters/PatientRegisterAppService.cs

@ -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));

2
src/Shentun.Peis.EntityFrameworkCore/EntityFrameworkCore/PeisDbContext.cs

@ -128,7 +128,7 @@ public class PeisDbContext :
public DbSet<Tenant> Tenants { get; set; }
public DbSet<TenantConnectionString> TenantConnectionStrings { get; set; }
public DbSet<AuditLogAction> AuditLogActions { get; set; }
public DbSet<Student> Students { get; set; }

Loading…
Cancel
Save