From 2cfb920a8be9fc569aee8837623d34d99cdca43d Mon Sep 17 00:00:00 2001 From: wxd <123@qq.com> Date: Sun, 12 May 2024 23:35:35 +0800 Subject: [PATCH] =?UTF-8?q?pacs=E6=9D=A1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PrintReports/PrintReportAppService.cs | 113 +++++++++++++++--- 1 file changed, 96 insertions(+), 17 deletions(-) diff --git a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs index 66117b3..a7aceed 100644 --- a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs +++ b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs @@ -479,8 +479,11 @@ namespace Shentun.Peis.PrintReports from asbitemHaveEmpty in asbitemTemp.DefaultIfEmpty() join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitemHaveEmpty.ItemTypeId equals itemType.Id into itemTypeTemp from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty() - where (patientRegister.Id == PatientRegisterId && itemTypeHaveEmpty.IsCheckRequest == 'Y') - select new PacsNoReportDto + where (patientRegister.Id == PatientRegisterId + && !string.IsNullOrEmpty(registerCheck.CheckRequestNo) + && asbitemHaveEmpty.BarcodeMode != '2' + ) + select new { Age = patientRegister.Age, AsbitemName = asbitemHaveEmpty.DisplayName, @@ -488,28 +491,104 @@ namespace Shentun.Peis.PrintReports PatientName = patientRegister.PatientName, PatientRegisterNo = patientRegister.PatientRegisterNo, SexName = _cacheService.GetSexNameAsync(patientRegister.SexId).Result, - CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result, - DepartmentName = _cacheService.GetCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result + IsCheckRequest = itemTypeHaveEmpty != null ? itemTypeHaveEmpty.IsCheckRequest : 'N', + BarcodeMode = asbitemHaveEmpty != null ? asbitemHaveEmpty.BarcodeMode : '0' + //CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result, + //DepartmentName = _cacheService.GetCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result }).ToList(); - var entList = query.GroupBy(g => g.CheckRequestNo).Select(s => new PacsNoReportDto + var queryGroup = query.GroupBy(g => g.CheckRequestNo); + + List pacsNoReportDtos = new List(); + + foreach (var s in queryGroup) { - Age = s.FirstOrDefault().Age, - AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), - CheckRequestNo = s.FirstOrDefault().CheckRequestNo, - PatientName = s.FirstOrDefault().PatientName, - PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, - SexName = s.FirstOrDefault().SexName, - CustomerOrgName = s.FirstOrDefault().CustomerOrgName, - DepartmentName = s.FirstOrDefault().DepartmentName - }).ToList(); - - return entList; - + if (s.Where(m => m.BarcodeMode == '0' && m.IsCheckRequest == 'Y').Count() > 0) + { + pacsNoReportDtos.Add(new PacsNoReportDto + { + Age = s.FirstOrDefault().Age, + AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), + CheckRequestNo = s.FirstOrDefault().CheckRequestNo, + PatientName = s.FirstOrDefault().PatientName, + PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, + SexName = s.FirstOrDefault().SexName, + CustomerOrgName = "", + DepartmentName = "" + }); + } + else if (s.Where(m => m.BarcodeMode == '1').Count() > 0) + { + pacsNoReportDtos.Add(new PacsNoReportDto + { + Age = s.FirstOrDefault().Age, + AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), + CheckRequestNo = s.FirstOrDefault().CheckRequestNo, + PatientName = s.FirstOrDefault().PatientName, + PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, + SexName = s.FirstOrDefault().SexName, + CustomerOrgName = "", + DepartmentName = "" + }); + } + } + + + + return pacsNoReportDtos; + } + + ///// + ///// 打印Pacs条码数据 + ///// + ///// + ///// + //[HttpPost("api/app/PrintReport/getpacsnoreport")] + //public async Task> GetPacsNoReportAsync(Guid PatientRegisterId) + //{ + + // var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() + // 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 into asbitemTemp + // from asbitemHaveEmpty in asbitemTemp.DefaultIfEmpty() + // join itemType in await _itemTypeRepository.GetQueryableAsync() on asbitemHaveEmpty.ItemTypeId equals itemType.Id into itemTypeTemp + // from itemTypeHaveEmpty in itemTypeTemp.DefaultIfEmpty() + // where (patientRegister.Id == PatientRegisterId && itemTypeHaveEmpty.IsCheckRequest == 'Y') + // select new PacsNoReportDto + // { + // Age = patientRegister.Age, + // AsbitemName = asbitemHaveEmpty.DisplayName, + // CheckRequestNo = registerCheck.CheckRequestNo, + // PatientName = patientRegister.PatientName, + // PatientRegisterNo = patientRegister.PatientRegisterNo, + // SexName = _cacheService.GetSexNameAsync(patientRegister.SexId).Result, + // CustomerOrgName = _cacheService.GetTopCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result, + // DepartmentName = _cacheService.GetCustomerOrgNameAsync(patientRegister.CustomerOrgId).Result + // }).ToList(); + + + + // var entList = query.GroupBy(g => g.CheckRequestNo).Select(s => new PacsNoReportDto + // { + // Age = s.FirstOrDefault().Age, + // AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), + // CheckRequestNo = s.FirstOrDefault().CheckRequestNo, + // PatientName = s.FirstOrDefault().PatientName, + // PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, + // SexName = s.FirstOrDefault().SexName, + // CustomerOrgName = s.FirstOrDefault().CustomerOrgName, + // DepartmentName = s.FirstOrDefault().DepartmentName + // }).ToList(); + + // return entList; + + //} + /// /// 打印收费单 ///