@php // Lógica para manejar colecciones y valores nulos $detalles = collect($orden->detalles ?? []); $tipoCambio = floatval($orden->tipo_cambio ?? 1) ?: 1; // Recalcula el total si no está guardado, usando el helper number_format para el display $totalBs = floatval($orden->total_bs ?? $detalles->sum(function ($d) { return floatval($d->subtotal ?? (($d->cantidad ?? 0) * ($d->precio ?? 0))); })); $totalSus = isset($orden->total_sus) ? floatval($orden->total_sus) : ($tipoCambio > 0 ? $totalBs / $tipoCambio : 0); @endphp

ORDEN DE COMPRA / SERVICIOS

{{-- Movido desde el pie de página para darle más visibilidad --}}
Nº de Orden: {{ strtoupper($orden->orden_num ?? $orden->id) }} Estado: {{ strtoupper(ucfirst($orden->estado ?? 'pendiente')) }}
Proveedor: {{ strtoupper($orden->proveedorRelacion->nombre ?? '-') }}
Responsable: {{ strtoupper($orden->responsable->nombre ?? '-') }} Área: {{ strtoupper(optional($orden->area)->nombre ?? '-') }}
Usuario Reg.: {{ strtoupper(optional($orden->user)->name ?? optional($orden->user)->username ?? '-') }} Documento: {{ strtoupper($orden->documento ?? '-') }}
Tipo de Pago: {{ strtoupper($orden->tipo_pago ?? '-') }} Pago a Nombre: {{ strtoupper($orden->pago_nombre ?? '-') }}
Banco: {{ strtoupper($orden->banco ?? '-') }} Tipo Cuenta: {{ strtoupper($orden->tipo_cuenta ?? '-') }}
NIT/CI: {{ strtoupper($orden->nit ?? '-') }} Número de Cuenta: {{ strtoupper($orden->nro_cuenta ?? '-') }}
Tipo Cambio: {{ number_format($tipoCambio, 2, ',', '.') }} Moneda: {{ $orden->moneda }}
Fecha Solicitud: {{ optional($orden->fecha)->format('d/m/Y') ?? '-' }} Fecha de Pago: {{ optional($orden->fecha_pago)->format('d/m/Y') ?? '-' }}
@if($detalles->isEmpty()) @else @foreach($detalles as $i => $det) @php $cantidad = floatval($det->cantidad ?? 0); $precio = floatval($det->precio ?? 0); $descuento = floatval($det->descuento ?? 0); $subtotal = floatval($det->subtotal ?? ($cantidad * $precio - $descuento)); $subtotalUsd = $tipoCambio > 0 ? ($subtotal / $tipoCambio) : 0; @endphp @endforeach @endif
N° Item / Descripción Código Costo Cant. Precio ({{ $orden->moneda === 'BOB' ? 'Bs' : '$us' }}) Desc. ({{ $orden->moneda === 'BOB' ? 'Bs' : '$us' }}) Subtotal ({{ $orden->moneda === 'BOB' ? 'Bs' : '$us' }})
NO HAY ITEMS REGISTRADOS EN ESTA ORDEN.
{{ $i + 1 }} {{ strtoupper($det->item ?? $det->descripcion ?? '-') }} @if(!empty($det->unidad)) ({{ strtoupper($det->unidad) }}) @endif {{ strtoupper($det->codigo ?? '-') }} {{ strtoupper($det->centro_costo ?? '-') }} {{ number_format($cantidad, 2, ',', '.') }} {{ number_format($precio, 2, ',', '.') }} {{ number_format($descuento, 2, ',', '.') }} {{ number_format($subtotal, 2, ',', '.') }}
TOTAL BOB: {{ number_format($totalBs, 2, ',', '.') }}
TOTAL U$D: {{ number_format($totalSus, 2, ',', '.') }}

Son (Monto en Literal): {{ strtoupper($orden->son ?? '') }}

Concepto: {{ strtoupper($orden->concepto ?? '-') }}

Observaciones: {{ strtoupper($orden->observacion ?? '-') }}






Responsable
Firma y Sello





Aprobado por:
Firma y Sello





Recibí Conforme:
Firma y Sello