Browse Source

chax

master
wxd 11 months ago
parent
commit
195b3befc4
  1. 286
      src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs
  2. 8
      src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs

286
src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs

@ -380,37 +380,25 @@ namespace Shentun.Peis.PeisReports
[HttpPost("api/app/peisreport/getregisterasbitemregistercheckstatus")]
public async Task<List<GetRegisterAsbitemRegisterCheckStatusDto>> GetRegisterAsbitemRegisterCheckStatusAsync(GetRegisterAsbitemRegisterCheckStatusRequestDto input)
{
var query = from j in await _registerCheckAsbitemRepository.GetQueryableAsync()
join k in await _registerCheckRepository.GetQueryableAsync() on j.RegisterCheckId equals k.Id into kk
from jk in kk.DefaultIfEmpty()
join l in await _patientRegisterRepository.GetQueryableAsync() on j.PatientRegisterId equals l.Id into ll
from a in ll.DefaultIfEmpty()
join b in await _patientRepository.GetQueryableAsync() on a.PatientId equals b.Id into bb
from ab in bb.DefaultIfEmpty()
join c in await _customerOrgGroupRepository.GetQueryableAsync() on a.CustomerOrgGroupId equals c.Id into cc
from ac in cc.DefaultIfEmpty()
join d in await _medicalPackageRepository.GetQueryableAsync() on a.MedicalPackageId equals d.Id into dd
from ad in dd.DefaultIfEmpty()
join e in await _medicalTypeRepository.GetQueryableAsync() on a.MedicalTypeId equals e.Id into ee
from ae in ee.DefaultIfEmpty()
join f in await _personnelTypeRepository.GetQueryableAsync() on a.PersonnelTypeId equals f.Id into ff
from af in ff.DefaultIfEmpty()
join g in await _sexRepository.GetQueryableAsync() on a.SexId equals g.Id into gg
from ag in gg.DefaultIfEmpty()
join p in await _asbitemRepository.GetQueryableAsync() on j.AsbitemId equals p.Id into pp
from jp in pp.DefaultIfEmpty()
var query = from registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync()
join registerCheck in await _registerCheckRepository.GetQueryableAsync() on registerCheckAsbitem.RegisterCheckId equals registerCheck.Id
join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on registerCheck.PatientRegisterId equals patientRegister.Id
join patient in await _patientRepository.GetQueryableAsync() on patientRegister.PatientId equals patient.Id
join customerOrgGroup in await _customerOrgGroupRepository.GetQueryableAsync() on patientRegister.CustomerOrgGroupId equals customerOrgGroup.Id into customerOrgGroupTemp
from customerOrgGroupHaveEmpty in customerOrgGroupTemp.DefaultIfEmpty()
join medicalPackage in await _medicalPackageRepository.GetQueryableAsync() on patientRegister.MedicalPackageId equals medicalPackage.Id into medicalPackageTemp
from medicalPackageHaveEmpty in medicalPackageTemp.DefaultIfEmpty()
join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id
select new
{
j,
jk,
a,
ab,
ac,
ad,
ae,
af,
ag,
jp
registerCheckAsbitem,
registerCheck,
patientRegister,
patient,
customerOrgGroupHaveEmpty,
medicalPackageHaveEmpty,
asbitem
};
@ -423,33 +411,33 @@ namespace Shentun.Peis.PeisReports
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.Value >= 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.Value >= 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));
}
}
@ -463,33 +451,33 @@ namespace Shentun.Peis.PeisReports
var newquery = query;
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));
}
}
@ -504,39 +492,201 @@ namespace Shentun.Peis.PeisReports
if (input.AsbitemIds.Any())
{
sumquery = sumquery.Where(m => input.AsbitemIds.Contains(m.j.AsbitemId));
sumquery = sumquery.Where(m => input.AsbitemIds.Contains(m.registerCheckAsbitem.AsbitemId));
}
if (input.CompleteFlag != null)
{
sumquery = sumquery.Where(m => m.jk.CompleteFlag == input.CompleteFlag);
sumquery = sumquery.Where(m => m.registerCheck.CompleteFlag == input.CompleteFlag);
}
var entlist = sumquery.Select(s => new GetRegisterAsbitemRegisterCheckStatusDto
var ffff = sumquery.ToQueryString();
var entlist = sumquery.ToList().Select(s => new GetRegisterAsbitemRegisterCheckStatusDto
{
PatientName = s.a.PatientName,
Age = s.a.Age,
CompleteFlag = s.jk.CompleteFlag,
CustomerOrgGroupName = s.ac.DisplayName,
CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(s.a.CustomerOrgId).Result.DisplayName,
DepartmentName = _cacheService.GetCustomerOrgNameAsync(s.a.CustomerOrgId).Result,
MedicalPackageName = s.ad.DisplayName,
MobileTelephone = s.ab.MobileTelephone,
PatientNo = s.ab.PatientNo,
PatientRegisterNo = s.a.PatientRegisterNo,
SexName = s.ag.DisplayName,
Telephone = s.ab.Telephone,
AsbitemName = s.jp.DisplayName,
ChargePrice = s.j.ChargePrice,
IsCharge = s.j.IsCharge,
MedicalTimes = s.a.MedicalTimes,
StandardPrice = s.j.StandardPrice,
CheckRequestNo = s.jk.CheckRequestNo
PatientName = s.patientRegister.PatientName,
Age = s.patientRegister.Age,
CompleteFlag = s.registerCheck.CompleteFlag,
CustomerOrgGroupName = s.customerOrgGroupHaveEmpty != null ? s.customerOrgGroupHaveEmpty.DisplayName : "",
CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(s.patientRegister.CustomerOrgId).GetAwaiter().GetResult().DisplayName,
DepartmentName = _cacheService.GetCustomerOrgNameAsync(s.patientRegister.CustomerOrgId).GetAwaiter().GetResult(),
MedicalPackageName = s.medicalPackageHaveEmpty != null ? s.medicalPackageHaveEmpty.DisplayName : "",
MobileTelephone = s.patient.MobileTelephone,
PatientNo = s.patient.PatientNo,
PatientRegisterNo = s.patientRegister.PatientRegisterNo,
SexName = _cacheService.GetSexNameAsync(s.patientRegister.SexId).GetAwaiter().GetResult(),
Telephone = s.patient.Telephone,
AsbitemName = s.asbitem.DisplayName,
ChargePrice = s.registerCheckAsbitem.ChargePrice,
IsCharge = s.registerCheckAsbitem.IsCharge,
MedicalTimes = s.patientRegister.MedicalTimes,
StandardPrice = s.registerCheckAsbitem.StandardPrice,
CheckRequestNo = s.registerCheck.CheckRequestNo
}).ToList();
return entlist;
//var query = from j in await _registerCheckAsbitemRepository.GetQueryableAsync()
// join k in await _registerCheckRepository.GetQueryableAsync() on j.RegisterCheckId equals k.Id into kk
// from jk in kk.DefaultIfEmpty()
// join l in await _patientRegisterRepository.GetQueryableAsync() on j.PatientRegisterId equals l.Id into ll
// from a in ll.DefaultIfEmpty()
// join b in await _patientRepository.GetQueryableAsync() on a.PatientId equals b.Id into bb
// from ab in bb.DefaultIfEmpty()
// join c in await _customerOrgGroupRepository.GetQueryableAsync() on a.CustomerOrgGroupId equals c.Id into cc
// from ac in cc.DefaultIfEmpty()
// join d in await _medicalPackageRepository.GetQueryableAsync() on a.MedicalPackageId equals d.Id into dd
// from ad in dd.DefaultIfEmpty()
// join e in await _medicalTypeRepository.GetQueryableAsync() on a.MedicalTypeId equals e.Id into ee
// from ae in ee.DefaultIfEmpty()
// join f in await _personnelTypeRepository.GetQueryableAsync() on a.PersonnelTypeId equals f.Id into ff
// from af in ff.DefaultIfEmpty()
// join g in await _sexRepository.GetQueryableAsync() on a.SexId equals g.Id into gg
// from ag in gg.DefaultIfEmpty()
// join p in await _asbitemRepository.GetQueryableAsync() on j.AsbitemId equals p.Id into pp
// from jp in pp.DefaultIfEmpty()
// select new
// {
// j,
// jk,
// a,
// ab,
// ac,
// ad,
// ae,
// af,
// ag,
// jp
// };
//var sumquery = query;
//if (input.CustomerOrgs.Any())
//{
// var item = input.CustomerOrgs[0];
// if (item.CustomerOrgGroupId.Any())
// {
// sumquery = sumquery.Where(m => m.a.CustomerOrgGroupId != null && item.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
// }
// if (item.CustomerOrgRegisterId != null && item.CustomerOrgRegisterId != Guid.Empty)
// {
// sumquery = sumquery.Where(m => m.a.CustomerOrgRegisterId == item.CustomerOrgRegisterId);
// }
// if (item.CustomerOrgId != null)
// {
// var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item.CustomerOrgId.Value);
// sumquery = sumquery.Where(m => CustomerOrgIds.Contains(m.a.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));
// }
// else if (item.DateType == '2')
// {
// sumquery = sumquery.Where(m => m.a.MedicalStartDate != null && m.a.MedicalStartDate.Value >= Convert.ToDateTime(item.StartDate) &&
// m.a.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));
// }
// }
// if (input.CustomerOrgs.Count > 1)
// {
// foreach (var item2 in input.CustomerOrgs)
// {
// if (input.CustomerOrgs.IndexOf(item2) > 0)
// {
// var newquery = query;
// if (item2.CustomerOrgGroupId.Any())
// {
// newquery = newquery.Where(m => m.a.CustomerOrgGroupId != null && item2.CustomerOrgGroupId.Contains(m.a.CustomerOrgGroupId.Value));
// }
// if (item2.CustomerOrgRegisterId != null && item2.CustomerOrgRegisterId != Guid.Empty)
// {
// newquery = newquery.Where(m => m.a.CustomerOrgRegisterId == item2.CustomerOrgRegisterId);
// }
// if (item2.CustomerOrgId != null)
// {
// var CustomerOrgIds = await _customerOrgManager.GetCustomerOrgChildrenId(item2.CustomerOrgId.Value);
// newquery = newquery.Where(m => CustomerOrgIds.Contains(m.a.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));
// }
// 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));
// }
// 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));
// }
// }
// sumquery = sumquery.Union(newquery);
// }
// }
// }
//}
//if (input.AsbitemIds.Any())
//{
// sumquery = sumquery.Where(m => input.AsbitemIds.Contains(m.j.AsbitemId));
//}
//if (input.CompleteFlag != null)
//{
// sumquery = sumquery.Where(m => m.jk.CompleteFlag == input.CompleteFlag);
//}
//var ffff = sumquery.ToQueryString();
//var entlist = sumquery.ToList().Select(s => new GetRegisterAsbitemRegisterCheckStatusDto
//{
// PatientName = s.a.PatientName,
// Age = s.a.Age,
// CompleteFlag = s.jk.CompleteFlag,
// CustomerOrgGroupName = s.ac.DisplayName,
// CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(s.a.CustomerOrgId).Result.DisplayName,
// DepartmentName = _cacheService.GetCustomerOrgNameAsync(s.a.CustomerOrgId).Result,
// MedicalPackageName = s.ad.DisplayName,
// MobileTelephone = s.ab.MobileTelephone,
// PatientNo = s.ab.PatientNo,
// PatientRegisterNo = s.a.PatientRegisterNo,
// SexName = s.ag.DisplayName,
// Telephone = s.ab.Telephone,
// AsbitemName = s.jp.DisplayName,
// ChargePrice = s.j.ChargePrice,
// IsCharge = s.j.IsCharge,
// MedicalTimes = s.a.MedicalTimes,
// StandardPrice = s.j.StandardPrice,
// CheckRequestNo = s.jk.CheckRequestNo
//}).ToList();
//return entlist;
}

8
src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs

@ -326,6 +326,14 @@ namespace Shentun.Peis.PhoneFollowUps
DiagnosisLevelNames = string.Join("<br>", s.Where(m => m.registerCheck.DiagnosisLevelId != null).Select(ss => _cacheService.GetDiagnosisLevelNameAsync(ss.registerCheck.DiagnosisLevelId).GetAwaiter().GetResult()).Distinct()) + "<br>" + string.Join("<br>", 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("<br>"))
{
item.CriticalValueContents = item.CriticalValueContents.Substring("<br>".Length);
}
}
return entListDto;
//var query = from phoneFollowUp in await _phoneFollowUpRepository.GetQueryableAsync()

Loading…
Cancel
Save