@php $totalMontoPagar = 0; @endphp {{-- Encabezado del reporte --}} @if(count($data) > 0) {{-- Encabezados de la tabla --}} @foreach(['N°','Beneficiario','Documento','Cuenta Bancaria','Monto a Pagar','Fecha Programada','Modalidad de Pago','Estado'] as $th) @endforeach {{-- Datos --}} @foreach($data as $index => $pago) @php // Determinar monto $montoPago = $pago->monto_neto_pagado ?? $pago->monto_a_pagar ?? $pago->monto_bruto ?? 0; // Modalidad de pago $modalidadPago = ($pago->obligacion && $pago->obligacion?->modalidad_pago == 1) ? 'Crédito' : 'Contado'; // Acumular total $totalMontoPagar += $montoPago; // Color de fila según estado $estadoPago = strtoupper($pago->estado_pago ?? ''); $colorFila = match(true) { str_contains($estadoPago, 'PENDIENTE') => '#7ca9ca80', str_contains($estadoPago, 'APROBADO') => '#8ddac3a6', str_contains($estadoPago, 'PAGADO') => '#42c2537c', str_contains($estadoPago, 'CANCELADO') => '#cf3f5785', default => '#ffffff' }; @endphp {{-- Documento --}} {{-- Cuenta bancaria --}} @endforeach {{-- Totales --}} {{-- Resumen estadístico --}} @php $totalPagos = count($data); $estadosPago = collect($data)->groupBy('estado_pago'); @endphp @foreach($estadosPago as $tipo => $pagoEstado) @php $montoPorEstado = collect($pagoEstado)->sum('monto_neto_pagado'); $porcentaje = $totalMontoPagar > 0 ? ($montoPorEstado / $totalMontoPagar) * 100 : 0; @endphp @endforeach @else @endif {{-- Pie de página --}}
HOSPITAL ROSALES
REPORTE DE PAGOS
PERÍODO: {{ request('fecha_inicio') && request('fecha_fin') ? request('fecha_inicio') . ' - ' . request('fecha_fin') : 'Todos los registros' }} FECHA DE EMISIÓN: {{ now()->format('d/m/Y H:i:s') }}
Este reporte presenta el registro detallado de todos los pagos aplicados a todas las salidas de dinero registradas en el período seleccionado.
{{ $th }}
{{ $index + 1 }} {{ $pago->beneficiario_nombre }}
{{ $pago->documento_pagado_tipo }}
{{ $pago->documento_pagado_numero }}
{{ $pago->cuentaBancaria?->banco?->nombre }}
{{ $pago->cuentaBancaria?->numero_cuenta }}
${{ number_format($montoPago, 2) }} {{ $pago->fecha_programada_pago ?? '—' }} {{ $modalidadPago }} {{ ucfirst(strtolower($estadoPago)) }}
TOTALES: ${{ number_format($totalMontoPagar, 2) }}
RESUMEN ESTADÍSTICO
TOTAL DE PAGOS: {{ $totalPagos }}
{{ strtoupper($tipo ?? 'SIN ESTADO') }} {{ count($pagoEstado) }} pagos | Monto: ${{ number_format($montoPorEstado, 2) }} ({{ number_format($porcentaje, 1) }}% del total)
No se encontraron registros de pagos para el período seleccionado.
Sistema de Gestión de Tesorería | Reporte generado automáticamente | Documento confidencial