From 08ed4fc4b8aebb7eeac42d46eff6fd59cec46680 Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Fri, 10 May 2024 01:21:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E5=BC=95=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PrintReports/PrintReportAppService.cs | 57 ++++++++++--------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs index 9e2dd19..0c29624 100644 --- a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs +++ b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs @@ -40,6 +40,7 @@ namespace Shentun.Peis.PrintReports private readonly IRepository _patientRepository; private readonly IRepository _patientRegisterRepository; private readonly IRepository _registerCheckAsbitemRepository; + private static IRepository _registerCheckAsbitemStaticRepository; private readonly IRepository _registerCheckItemRepository; private readonly IRepository _registerCheckSummaryRepository; private readonly IRepository _registerCheckPictureRepository; @@ -90,7 +91,7 @@ namespace Shentun.Peis.PrintReports IRepository sampleContainerRepository, IRepository sampleTypeRepository, IRepository sexRegisterRepository, - IRepository personnelTypeRepository, + IRepository personnelTypeRepository, IRepository resultStatusRepository, IRepository sumSummaryHeaderRepository, IRepository identityUserRepository, @@ -102,7 +103,7 @@ namespace Shentun.Peis.PrintReports ILisRequestReportRepository lisRequestReportRepository, ICheckRequestNoReportRepository checkRequestNoReportRepository, IChargeReportRepository chargeReportRepository, - + SysParmValueManager sysParmValueManager, CacheService cacheService, LisRequestManager lisRequestManager, @@ -126,6 +127,7 @@ namespace Shentun.Peis.PrintReports this._chargeReportRepository = chargeReportRepository; this._sysParmValueManager = sysParmValueManager; _registerCheckAsbitemRepository = registerCheckAsbitemRepository; + _registerCheckAsbitemStaticRepository = registerCheckAsbitemRepository; _registerCheckItemRepository = registerCheckItemRepository; _registerCheckSummaryRepository = registerCheckSummaryRepository; _registerCheckPictureRepository = registerCheckPictureRepository; @@ -161,7 +163,7 @@ namespace Shentun.Peis.PrintReports //return await _patientRegisterGuideReportRepository.GetPatientRegisterGuideReportAsync(PatientRegisterId); var apiUrl = _configuration.GetValue("HostUrl:ApiUrl") + "/"; - var patientRegister = await _patientRegisterRepository.GetAsync(o=>o.Id == PatientRegisterId); + var patientRegister = await _patientRegisterRepository.GetAsync(o => o.Id == PatientRegisterId); Guid medicalCenterId = patientRegister.MedicalCenterId; @@ -176,15 +178,15 @@ namespace Shentun.Peis.PrintReports var query = from a in await _patientRegisterRepository.GetQueryableAsync() join b in await _sexRegisterRepository.GetQueryableAsync() on a.SexId equals b.Id - join c in await _customerOrgGroupRepository.GetQueryableAsync() + 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() + join d in await _medicalPackageRepository.GetQueryableAsync() on a.MedicalPackageId equals d.Id into dd from ad in dd.DefaultIfEmpty() - join e in await _patientRepository.GetQueryableAsync() + join e in await _patientRepository.GetQueryableAsync() on a.PatientId equals e.Id - join f in await _personnelTypeRepository.GetQueryableAsync() + join f in await _personnelTypeRepository.GetQueryableAsync() on a.PersonnelTypeId equals f.Id into ff from af in ff.DefaultIfEmpty() join g in await _organizationUnitRepository.GetQueryableAsync() @@ -196,9 +198,9 @@ namespace Shentun.Peis.PrintReports Age = a.Age, PatientRegisterId = a.Id, CustomerOrgGroupName = ac.DisplayName, - CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync( a.CustomerOrgId).Result, + CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(a.CustomerOrgId).Result, CustomerOrgShortName = _cacheService.GetTopCustomerOrgAsync(a.CustomerOrgId).Result.ShortName, - DepartmentName = _cacheService.GetCustomerOrgNameAsync( a.CustomerOrgId).Result, + DepartmentName = _cacheService.GetCustomerOrgNameAsync(a.CustomerOrgId).Result, IdNo = e.IdNo, JobCardNo = a.JobCardNo, MedicalCardNo = a.MedicalCardNo, @@ -251,16 +253,16 @@ namespace Shentun.Peis.PrintReports var lisRequests = await _lisRequestManager.SetLisRequestAsync(input.PatientRegisterId); await _unitOfWorkManager.Current.SaveChangesAsync(); //await _unitOfWorkManager.Current.CompleteAsync(); - + //检索条码数据 var query = (from patient in await _patientRepository.GetQueryableAsync() join patientRegister in await _patientRegisterRepository.GetQueryableAsync() on patient.Id equals patientRegister.PatientId join sex in await _sexRegisterRepository.GetQueryableAsync() on patientRegister.SexId equals sex.Id - join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on patientRegister.Id equals registerCheckAsbitem.PatientRegisterId - join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id - join lisRequest in await _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitem.LisRequestId equals lisRequest.Id + join registerCheckAsbitem in await _registerCheckAsbitemRepository.GetQueryableAsync() on patientRegister.Id equals registerCheckAsbitem.PatientRegisterId + join asbitem in await _asbitemRepository.GetQueryableAsync() on registerCheckAsbitem.AsbitemId equals asbitem.Id + join lisRequest in await _lisRequestRepository.GetQueryableAsync() on registerCheckAsbitem.LisRequestId equals lisRequest.Id join sampleContainer in await _sampleContainerRepository.GetQueryableAsync() on lisRequest.SampleContainerId equals sampleContainer.Id into dd from sampleContainerHaveEmpty in dd.DefaultIfEmpty() join sampleType in await _sampleTypeRepository.GetQueryableAsync() on lisRequest.SampleTypeId equals sampleType.Id into ee @@ -278,7 +280,7 @@ namespace Shentun.Peis.PrintReports sampleTypeHaveEmpty } ).ToList(); - lisRequests = query.Select(o=>o.lisRequest).Distinct().ToList(); + lisRequests = query.Select(o => o.lisRequest).Distinct().ToList(); //发送第三方LIS申请 if (lisRequests != null) { @@ -297,10 +299,10 @@ namespace Shentun.Peis.PrintReports LisRequestNo = o.lisRequest.LisRequestNo, PatientName = o.patientRegister.PatientName, PatientRegisterNo = o.patientRegister.PatientRegisterNo, - SampleContainerName = (o.sampleContainerHaveEmpty==null)?"": o.sampleContainerHaveEmpty.DisplayName, - ContainerColor = (o.sampleContainerHaveEmpty == null)? 16777215:o.sampleContainerHaveEmpty.ContainerColor, - SampleContainerRemark = (o.sampleContainerHaveEmpty == null) ? "":o.sampleContainerHaveEmpty.ContainerRemark, - SampleTypeName = (o.sampleTypeHaveEmpty == null)?"":o.sampleTypeHaveEmpty.DisplayName, + SampleContainerName = (o.sampleContainerHaveEmpty == null) ? "" : o.sampleContainerHaveEmpty.DisplayName, + ContainerColor = (o.sampleContainerHaveEmpty == null) ? 16777215 : o.sampleContainerHaveEmpty.ContainerColor, + SampleContainerRemark = (o.sampleContainerHaveEmpty == null) ? "" : o.sampleContainerHaveEmpty.ContainerRemark, + SampleTypeName = (o.sampleTypeHaveEmpty == null) ? "" : o.sampleTypeHaveEmpty.DisplayName, SexName = o.sex.DisplayName, CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(o.patientRegister.CustomerOrgId).Result.DisplayName, DepartmentName = _cacheService.GetCustomerOrgNameAsync(o.patientRegister.CustomerOrgId).Result, @@ -399,7 +401,7 @@ namespace Shentun.Peis.PrintReports var lisRequestInfo = list.First(); var lisRequestDto = new LisRequestReportDto() { - + LisRequestId = input.LisRequestId, LisRequestNo = lisRequestInfo.lisRequest.LisRequestNo, PatientNo = lisRequestInfo.patient.PatientNo, @@ -421,7 +423,7 @@ namespace Shentun.Peis.PrintReports AsbitemNames = string.Join(",", list.OrderBy(o => o.asbitem.DisplayOrder).Select(o => o.asbitem.DisplayName).Distinct()), CustomerOrgName = _cacheService.GetTopCustomerOrgAsync(lisRequestInfo.patientRegister.CustomerOrgId).Result.DisplayName, DepartmentName = _cacheService.GetCustomerOrgNameAsync(lisRequestInfo.patientRegister.CustomerOrgId).Result - }; + }; return lisRequestDto; } @@ -432,7 +434,7 @@ namespace Shentun.Peis.PrintReports [HttpPost("api/app/PrintReport/GetMedicalReport")] public async Task GetMedicalReportAsync(PatientRegisterIdInputDto input) { - + var patientRegister = (await _patientRegisterRepository.GetDbSetAsync()) .Include(x => x.Patient) .Where(m => m.Id == input.PatientRegisterId).FirstOrDefault(); @@ -441,7 +443,7 @@ namespace Shentun.Peis.PrintReports throw new UserFriendlyException("人员登记信息不存在"); } var medicalReportDto = await GetMedicalReportDto(patientRegister); - + //获取综述 medicalReportDto.SumSummarys = await GetMedicalReportSummaryDtos(patientRegister); //获取建议 @@ -699,9 +701,9 @@ namespace Shentun.Peis.PrintReports ReferenceRangeValue = registerCheckItemRow.registerCheckItem.ReferenceRangeValue, CriticalRangeValue = registerCheckItemRow.registerCheckItem.CriticalRangeValue, Unit = registerCheckItemRow.registerCheckItem.Unit, - ReportFontColor = (resultStatus == null) ? 0: resultStatus.ReportFontColor, + ReportFontColor = (resultStatus == null) ? 0 : resultStatus.ReportFontColor, ReportBackgroundColor = (resultStatus == null) ? 16579836 : resultStatus.ReportBackgroundColor, - ReportPrompt = (resultStatus == null) ? null: resultStatus.ReportPrompt, + ReportPrompt = (resultStatus == null) ? null : resultStatus.ReportPrompt, DisplayOrder = registerCheckItemRow.item.DisplayOrder, }; medicalReportRegisterCheckDto.Items.Add(medicalReportCheckItemDto); @@ -712,7 +714,7 @@ namespace Shentun.Peis.PrintReports // Summary = o.registerCheckSummaryHaveEmpty.Summary, // DisplayOrder = o.registerCheckSummaryHaveEmpty.DisplayOrder //}).OrderBy(o => o.DisplayOrder).Distinct().ToList(); - medicalReportRegisterCheckDto.Summarys = registerCheckRows.GroupBy(g=>g.registerCheckSummaryHaveEmpty.Id).Select(o => new MedicalReportCheckAsbitemSummaryDto() + medicalReportRegisterCheckDto.Summarys = registerCheckRows.GroupBy(g => g.registerCheckSummaryHaveEmpty.Id).Select(o => new MedicalReportCheckAsbitemSummaryDto() { Summary = o.FirstOrDefault().registerCheckSummaryHaveEmpty.Summary, DisplayOrder = o.FirstOrDefault().registerCheckSummaryHaveEmpty.DisplayOrder @@ -780,10 +782,9 @@ namespace Shentun.Peis.PrintReports return MedicalReportMedicalReportTypeDtos; } - private List PatientRegisterGuideAsbitem(Guid PatientRegisterId, Guid medicalCenterId, char SexId) + private static List PatientRegisterGuideAsbitem(Guid PatientRegisterId, Guid medicalCenterId, char SexId) { - var entlist = _registerCheckAsbitemRepository.GetQueryableAsync().Result - .Include(x => x.Asbitem) + var entlist = _registerCheckAsbitemStaticRepository.GetQueryableAsync().Result .Include(x => x.Asbitem.ItemType) .Include(x => x.Asbitem.ItemType.GuidType) .Where(m => m.PatientRegisterId == PatientRegisterId && m.Asbitem.IsCheck == 'Y')