diff --git a/src/Shentun.Peis.Application.Contracts/PrintReports/RegisterCheckIdsInputDto.cs b/src/Shentun.Peis.Application.Contracts/PrintReports/RegisterCheckIdInputDto.cs similarity index 55% rename from src/Shentun.Peis.Application.Contracts/PrintReports/RegisterCheckIdsInputDto.cs rename to src/Shentun.Peis.Application.Contracts/PrintReports/RegisterCheckIdInputDto.cs index bada4db..9b25aa8 100644 --- a/src/Shentun.Peis.Application.Contracts/PrintReports/RegisterCheckIdsInputDto.cs +++ b/src/Shentun.Peis.Application.Contracts/PrintReports/RegisterCheckIdInputDto.cs @@ -4,9 +4,9 @@ using System.Text; namespace Shentun.Peis.PrintReports { - public class RegisterCheckIdsInputDto + public class RegisterCheckIdInputDto { - public List RegisterCheckIds { get; set; } + public Guid RegisterCheckId { get; set; } } } diff --git a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs index 555268b..99fe8f9 100644 --- a/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs +++ b/src/Shentun.Peis.Application/PrintReports/PrintReportAppService.cs @@ -551,12 +551,12 @@ namespace Shentun.Peis.PrintReports /// /// [HttpPost("api/app/PrintReport/GetPacsNoReportByCheckRequestNo")] - public async Task> GetPacsNoReportByCheckRequestNoAsync(RegisterCheckIdsInputDto input) + public async Task GetPacsNoReportByCheckRequestNoAsync(RegisterCheckIdInputDto input) { - List pacsNoReportDtos = new List(); + PacsNoReportDto pacsNoReportDto = new PacsNoReportDto(); - if (input.RegisterCheckIds.Count > 0) + if (input.RegisterCheckId != Guid.Empty) { var query = (from patientRegister in await _patientRegisterRepository.GetQueryableAsync() join registerCheck in await _registerCheckRepository.GetQueryableAsync() on patientRegister.Id equals registerCheck.PatientRegisterId @@ -565,10 +565,9 @@ 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 (input.RegisterCheckIds.Contains(registerCheck.Id) + where registerCheck.Id == input.RegisterCheckId && !string.IsNullOrEmpty(registerCheck.CheckRequestNo) && asbitemHaveEmpty.BarcodeMode != '2' - ) select new { Age = patientRegister.Age, @@ -582,45 +581,45 @@ namespace Shentun.Peis.PrintReports }).ToList(); - - var queryGroup = query.GroupBy(g => g.CheckRequestNo); + if (query.Count > 0) + { + var queryGroup = query.GroupBy(g => g.CheckRequestNo).FirstOrDefault(); - foreach (var s in queryGroup) - { - if (s.Where(m => m.BarcodeMode == '0' && m.IsCheckRequest == 'Y').Count() > 0) + if (queryGroup.Where(m => m.BarcodeMode == '0' && m.IsCheckRequest == 'Y').Count() > 0) { - pacsNoReportDtos.Add(new PacsNoReportDto + pacsNoReportDto = 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, + Age = queryGroup.FirstOrDefault().Age, + AsbitemName = string.Join(',', queryGroup.Select(s => s.AsbitemName)), + CheckRequestNo = queryGroup.FirstOrDefault().CheckRequestNo, + PatientName = queryGroup.FirstOrDefault().PatientName, + PatientRegisterNo = queryGroup.FirstOrDefault().PatientRegisterNo, + SexName = queryGroup.FirstOrDefault().SexName, CustomerOrgName = "", DepartmentName = "" - }); + }; } - else if (s.Where(m => m.BarcodeMode == '1').Count() > 0) + else if (queryGroup.Where(m => m.BarcodeMode == '1').Count() > 0) { - pacsNoReportDtos.Add(new PacsNoReportDto + pacsNoReportDto = new PacsNoReportDto { - Age = s.FirstOrDefault().Age, - AsbitemName = string.Join(',', s.Select(s => s.AsbitemName)), - CheckRequestNo = s.FirstOrDefault().PatientRegisterNo, - PatientName = s.FirstOrDefault().PatientName, - PatientRegisterNo = s.FirstOrDefault().PatientRegisterNo, - SexName = s.FirstOrDefault().SexName, + Age = queryGroup.FirstOrDefault().Age, + AsbitemName = string.Join(',', queryGroup.Select(s => s.AsbitemName)), + CheckRequestNo = queryGroup.FirstOrDefault().PatientRegisterNo, + PatientName = queryGroup.FirstOrDefault().PatientName, + PatientRegisterNo = queryGroup.FirstOrDefault().PatientRegisterNo, + SexName = queryGroup.FirstOrDefault().SexName, CustomerOrgName = "", DepartmentName = "" - }); + }; } + } - + } - return pacsNoReportDtos; + return pacsNoReportDto; }