@php $totals = $reportTotals ?? \App\Helpers\BoxReportTotalsHelper::summarize($boxes_report_ingresos ?? [], $boxes_report_egresos ?? []); @endphp
@include('print.partials.ticket_header', [ 'company' => $company ?? null, 'establishment' => $establishment ?? null, 'title' => 'REPORTE DE CAJA', 'header_font_size' => '14pt', 'title_font_size' => '14pt', 'code_font_size' => '14pt', ])
Desde: {{ \Carbon\Carbon::parse($date_start)->format('d-m-Y') }} Hasta: {{ \Carbon\Carbon::parse($date_end)->format('d-m-Y') }} Usuario: {{ $auth->name ?? '-' }} Sucursal: {{ optional($establishment)->description ?? 'SIN SUCURSAL' }}
INGRESOS
@forelse($boxes_report_ingresos as $row) @php $rowDate = $row['date'] ?? ''; $displayDate = $rowDate ? (\Illuminate\Support\Str::contains($rowDate, ' ') ? \Illuminate\Support\Str::before($rowDate, ' ') : (function ($d) { try { return \Carbon\Carbon::parse($d)->format('d-m-Y'); } catch (\Throwable $e) { return $d; } })($rowDate)) : '-'; $serviceDetail = ''; if (!empty($row['items_details']) && is_array($row['items_details'])) { $parts = []; foreach ($row['items_details'] as $item) { $desc = $item['description'] ?? 'Sin descripción'; $qty = (float)($item['quantity'] ?? 0); $parts[] = $qty > 1 ? "{$desc} x{$qty}" : $desc; } $serviceDetail = implode(', ', array_filter($parts)); } if (!$serviceDetail) { $serviceDetail = $row['treatment'] ?? ($row['description'] ?? ''); } @endphp
{{ $displayDate }} {{ $row['number'] ?? '-' }} | {{ $row['medic'] ?? 'SIN DOCTOR' }} Paciente: {{ $row['patient'] ?? '-' }} @if($serviceDetail) {{ $serviceDetail }} @endif {{ $row['payment_group_label'] ?? ($row['method_label'] ?? ($row['method'] ?? '-')) }} {{ number_format((float)($row['amount'] ?? 0), 2) }}
@empty
No hay ingresos.
@endforelse
EGRESOS
@forelse($boxes_report_egresos as $row) @php $rowDate = $row['date'] ?? ''; $displayDate = $rowDate ? (\Illuminate\Support\Str::contains($rowDate, ' ') ? \Illuminate\Support\Str::before($rowDate, ' ') : (function ($d) { try { return \Carbon\Carbon::parse($d)->format('d-m-Y'); } catch (\Throwable $e) { return $d; } })($rowDate)) : '-'; @endphp
{{ $displayDate }} {{ $row['invoice_number'] ?? ($row['number'] ?? 'SIN COMPROBANTE') }} {{ $row['description'] ?? 'SIN DESCRIPCION' }} {{ number_format((float)($row['amount'] ?? 0), 2) }}
@empty
No hay egresos.
@endforelse
Efectivo: {{ number_format($totals['ingreso_efectivo'], 2) }} Tarjeta: {{ number_format($totals['ingreso_tarjeta'], 2) }} Transferencia: {{ number_format($totals['ingreso_transferencia'], 2) }} Subtotal Ingresos: {{ number_format($totals['subtotal_ingresos'], 2) }} Egresos: {{ number_format($totals['egresos_caja'], 2) }} Gastos: {{ number_format($totals['gastos_compras'], 2) }} Subtotal Egresos: {{ number_format($totals['subtotal_egresos'], 2) }} Total: {{ number_format($totals['ganancia_neta'], 2) }}
@if(!empty($autoPrint)) @endif