From 195b3befc4b1888d737452b9161fe46c8b374ca0 Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Wed, 27 Nov 2024 21:45:58 +0800 Subject: [PATCH] chax --- .../PeisReports/PeisReportAppService.cs | 286 +++++++++++++----- .../PhoneFollowUps/PhoneFollowUpAppService.cs | 8 + 2 files changed, 226 insertions(+), 68 deletions(-) diff --git a/src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs b/src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs index 8fdec55..9857de2 100644 --- a/src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs +++ b/src/Shentun.Peis.Application/PeisReports/PeisReportAppService.cs @@ -380,37 +380,25 @@ namespace Shentun.Peis.PeisReports [HttpPost("api/app/peisreport/getregisterasbitemregistercheckstatus")] public async Task> 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; } diff --git a/src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs b/src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs index eff0d73..e51e610 100644 --- a/src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs +++ b/src/Shentun.Peis.Application/PhoneFollowUps/PhoneFollowUpAppService.cs @@ -326,6 +326,14 @@ namespace Shentun.Peis.PhoneFollowUps 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()