@php $ocultarCostos = \App\Support\InventarioUser::matches(); $valorPorcion = $preparacion->rinde > 0 ? round($preparacion->precio_venta_publico / $preparacion->rinde) : 0; // Intentar resolver ruta física de la imagen para DomPDF $imagenPath = null; if (!empty($preparacion->imagen)) { // En la web se sirve desde ../storage/app/public, // por lo que el archivo físico está en storage/app/public $posible = storage_path('app/public/'.$preparacion->imagen); if (file_exists($posible)) { $imagenPath = $posible; } } $totalCosto = 0; $totalMermaFilas = 0; $mermaPorcentaje = config('configuracion.merma_preparacion', 5); $mermaFactor = 1 + ($mermaPorcentaje / 100); $baseSinMerma = $preparacion->precio_venta_publico > 0 ? $preparacion->precio_venta_publico / $mermaFactor : 0; $valorMermaTotal = $baseSinMerma * ($mermaFactor - 1); @endphp

Ficha de Preparación

{{ $preparacion->nombre }} · ID {{ $preparacion->id }}
Resumen de preparación
@if ($imagenPath) @endif
@if (! $ocultarCostos) @endif
Nombre {{ $preparacion->nombre }}
ID {{ $preparacion->id }}
Valor producto ${{ number_format($preparacion->precio_venta_publico, 0, ',', '.') }}
Rinde (porciones) {{ $preparacion->rinde ?? 0 }}
Valor porción ${{ number_format($valorPorcion, 0, ',', '.') }}
Imagen preparación
Imagen referencial
@if (! $ocultarCostos)
Merma
% Merma aplicado {{ number_format($mermaPorcentaje, 1, ',', '.') }} %
Base sin merma (costo total) ${{ number_format($baseSinMerma, 0, ',', '.') }}
Total merma ${{ number_format($valorMermaTotal, 1, ',', '.') }}
@endif
Ingredientes
@if (! $ocultarCostos) @endif @if (! $ocultarCostos) @endif @foreach($preparacion->detalles as $detalle) @php $esPrep = ($detalle->tipo_insumo ?? 'producto') === 'preparacion'; $insumo = $esPrep ? $detalle->preparacionInsumo : $detalle->producto; $valor = $esPrep ? (float)($insumo->valor_porcion ?? 0) : (float)($insumo->valor ?? 0); $nombre = $insumo ? ($esPrep ? '[PREP] ' . $insumo->nombre : $insumo->nombre) : 'N/A'; $unidad = $esPrep ? 'PORCIÓN' : ($insumo->unidad_medida ?? ''); $cantidad = (float)($detalle->cantidad ?? 0); $costo = $valor * $cantidad; $mermaValor = $costo * ($mermaPorcentaje / 100); $cantPorPorc = ($preparacion->rinde ?? 0) > 0 ? $cantidad / $preparacion->rinde : 0; $valorUnidad = $valor * $cantPorPorc * $mermaFactor; if (! $ocultarCostos) { $totalCosto += $costo; $totalMermaFilas += $mermaValor; } @endphp @if (! $ocultarCostos) @endif @if (! $ocultarCostos) @endif @endforeach
Producto UnidadValor unitarioCantidad (base)Costo insumo Merma ({{ number_format($mermaPorcentaje, 1, ',', '.') }}%) Cantidad por porción Valor unidad
{{ $nombre }} {{ $unidad }} ${{ number_format($valor, 0, ',', '.') }} {{ number_format($cantidad, 3, ',', '.') }} ${{ number_format($costo, 0, ',', '.') }} ${{ number_format($mermaValor, 1, ',', '.') }} {{ number_format($cantPorPorc, 3, ',', '.') }} ${{ number_format($valorUnidad, 0, ',', '.') }}
@if (! $ocultarCostos)
Total costo ingredientes: ${{ number_format($totalCosto, 0, ',', '.') }}
Total merma ({{ number_format($mermaPorcentaje, 1, ',', '.') }}%): ${{ number_format($totalMermaFilas, 1, ',', '.') }}
@endif