@php use Carbon\Carbon; $empresaNombre = 'RED NACIONAL DE HOSPITALES'; $textoContable = 'SISTEMA DE CONTABILIDAD GUBERNAMENTAL'; $empresaSede = 'Sistema de Gestión Financiera'; $cajaNombre = optional($poliza->cajaChica)->nombre ?? 'Caja Chica'; $codigo = $poliza->codigo ?? '—'; $estadoRaw = trim(strtolower($poliza->estado ?? '')); $estadoLabel = 'GENERADA'; $fechaDoc = !empty($poliza->fecha) ? Carbon::parse($poliza->fecha)->format('d/m/Y') : '—'; $fechaGenerada = Carbon::now()->format('d/m/Y H:i:s'); $descripcion = trim($poliza->descripcion ?? '') ?: 'Sin descripción'; $creadoPor = optional($poliza->creadoPor)->name ?? 'Sin usuario'; $moneda = strtoupper($poliza->moneda ?? 'USD'); $symbols = ['USD' => '$', 'SVC' => '₡', 'EUR' => '€']; $simbolo = $symbols[$moneda] ?? '$'; $movs = $poliza->movimientos ?? collect(); $totalDetalle = (float) ($movs->sum('monto') ?? 0); $montoTotal = (float) ($poliza->monto_total ?? $totalDetalle); $facturasMovimientos = $movs->filter(function($mov) { return !empty($mov->factura_numero); })->pluck('factura_numero')->unique()->filter()->values(); $tieneFacturas = $facturasMovimientos->count() > 0; $checklist = collect($poliza->checklist_items ?? [ ['label' => 'Facturas y soportes completos', 'checked' => false], ['label' => 'Montos verificados y correctos', 'checked' => false], ['label' => 'Firmas de autorización', 'checked' => false], ['label' => 'Documentación archivada', 'checked' => false], ['label' => 'Registro contable realizado', 'checked' => false], ['label' => 'Aprobación final', 'checked' => false], ]); @endphp {{-- Marca de agua si es necesaria --}} @if(in_array($estadoRaw, ['anulada', 'borrador']))
{{ strtoupper($estadoRaw) }}
@endif
{{ $empresaNombre }}
{{ $textoContable }}
PÓLIZA DE CAJA CHICA — {{ $cajaNombre }}
{{ $empresaSede }}

Número de Póliza

{{ $codigo }}
@if(!empty($poliza->fuente_financiamiento) || !empty($poliza->proyecto)) @endif @if(!empty($poliza->observaciones)) @endif
DESCRIPCIÓN {{ $descripcion }} CREADO POR {{ $creadoPor }}
MONTO TOTAL {{ $simbolo }}{{ number_format($montoTotal, 2) }} ({{ $moneda }}) TOTAL MOVIMIENTOS {{ $movs->count() }} items
FUENTE/PROYECTO {{ ($poliza->fuente_financiamiento ?? '') }}{{ !empty($poliza->proyecto) ? ' — '.$poliza->proyecto : '' }}
OBSERVACIONES {{ $poliza->observaciones }}
@if($movs && $movs->count() > 0)
Detalle de Movimientos ({{ $movs->count() }} {{ $movs->count() == 1 ? 'movimiento' : 'movimientos' }})
@foreach($movs as $mov) @php $categorias = []; if(isset($mov->categorias_gasto) && is_array($mov->categorias_gasto) && count($mov->categorias_gasto) > 0) { $categorias = $mov->categorias_gasto; } elseif(isset($mov->cuenta) && $mov->cuenta) { $categorias = [[ 'codigo' => $mov->cuenta->codigo ?? 'N/A', 'nombre' => $mov->cuenta->nombre ?? '', 'monto' => $mov->monto ?? 0 ]]; } else { $categorias = [[ 'codigo' => 'N/A', 'nombre' => 'Sin categoría', 'monto' => $mov->monto ?? 0 ]]; } $totalCategorias = count($categorias); @endphp @foreach($categorias as $index => $categoria) @if($index === 0) @endif @endforeach @endforeach
Fecha Cód. Obj. Objeto Específico Concepto Proveedor Cargo Abonos
1) rowspan="{{ $totalCategorias }}" @endif> {{ optional($mov->fecha_movimiento)->format('d/m/Y') ?: '—' }} {{ $categoria['codigo'] ?? $categoria['objeto_especifico_id'] ?? 'N/A' }} {{ $categoria['nombre'] ?? '' }} 1) rowspan="{{ $totalCategorias }}" @endif> {{ trim($mov->descripcion_gasto ?? '') ?: 'Sin descripción' }} 1) rowspan="{{ $totalCategorias }}" @endif> {{ trim($mov->proveedor_nombre ?? '') ?: 'Sin proveedor' }} @if(isset($categoria['monto']) && $categoria['monto'] > 0) {{ $simbolo }}{{ number_format((float)$categoria['monto'], 2) }} @else — @endif
- - Caja Chica Abono a Caja Chica - - {{ $simbolo }}{{ number_format($poliza->monto_total, 2) }}
DEVENGAMIENTO DE POLIZA --{{$codigo}} {{ $simbolo }}{{ number_format($totalDetalle, 2) }} {{ $simbolo }}{{ number_format($poliza->monto_total, 2) }}
@endif
Lista de Verificación
Marcar casillas según revisión realizada
@foreach($checklist->chunk(ceil($checklist->count() / 2)) as $column)
@foreach($column as $item) @php $checked = is_array($item) ? ($item['checked'] ?? false) : ($item->checked ?? false); $label = is_array($item) ? ($item['label'] ?? '') : ($item->label ?? ''); @endphp
{{ $label }}
@endforeach
@endforeach
{{ $creadoPor }}
Elaborado por
____________________
Revisado por
____________________
Aprobado por