@extends('layouts.app') @section('title', 'Lote ' . $inventario->numero_lote) @section('page-title', 'Detalle de Lote') @section('breadcrumb') @endsection @section('content') @php $diasRestantes = $inventario->fecha_vencimiento ? now()->diffInDays($inventario->fecha_vencimiento, false) : null; @endphp

Lote: {{ $inventario->numero_lote }}

PDF Trazabilidad Volver
Producto: {{ $inventario->producto->nombre }}
{{ $inventario->producto->codigo }}
Almacén: {{ $inventario->almacen->nombre }}
Proveedor: {{ optional($inventario->proveedor)->razon_social ?? '—' }}
N° Lote: {{ $inventario->numero_lote }}
Cantidad Inicial: {{ number_format($inventario->cantidad_inicial ?? 0, 3) }} {{ optional($inventario->producto->unidadMedida)->abreviatura }}
Cantidad Actual: {{ number_format($inventario->cantidad_actual, 3) }} {{ optional($inventario->producto->unidadMedida)->abreviatura }}
Fecha Ingreso: {{ $inventario->fecha_ingreso ? \Carbon\Carbon::parse($inventario->fecha_ingreso)->format('d/m/Y') : '—' }}
Fecha Vencimiento: @if($inventario->fecha_vencimiento) {{ \Carbon\Carbon::parse($inventario->fecha_vencimiento)->format('d/m/Y') }} @if($diasRestantes !== null && $diasRestantes > 0) ({{ $diasRestantes }} días) @elseif($diasRestantes !== null && $diasRestantes <= 0) Vencido @endif @else @endif
Estado: @switch($inventario->estado) @case('vigente') Vigente @break @case('por_vencer') Por vencer @break @case('vencido') Vencido @break @default {{ $inventario->estado }} @endswitch
Stock Disponible {{ number_format($inventario->cantidad_actual, 3) }} {{ optional($inventario->producto->unidadMedida)->abreviatura }} @php $inicial = $inventario->cantidad_inicial ?? $inventario->cantidad_actual; $pctStock = $inicial > 0 ? min(100, ($inventario->cantidad_actual / $inicial) * 100) : 0; @endphp
{{ number_format($pctStock, 1) }}% del lote original
@if($inventario->observaciones ?? null)

Observaciones

{{ $inventario->observaciones }}

@endif

Historial de Movimientos

@forelse($inventario->movimientos->sortByDesc('created_at') as $mov) @php $esEntrada = in_array($mov->tipo, ['entrada', 'ajuste_entrada', 'devolucion_cliente']); $esSalida = in_array($mov->tipo, ['salida', 'ajuste_salida', 'merma', 'devolucion_proveedor']); @endphp @empty @endforelse
Fecha Tipo Cantidad Referencia Usuario Observación
{{ $mov->created_at->format('d/m/Y H:i') }} @if($esEntrada) {{ ucfirst(str_replace('_', ' ', $mov->tipo)) }} @elseif($esSalida) {{ ucfirst(str_replace('_', ' ', $mov->tipo)) }} @else {{ ucfirst(str_replace('_', ' ', $mov->tipo)) }} @endif {{ $esEntrada ? '+' : ($esSalida ? '-' : '') }}{{ number_format($mov->cantidad, 3) }} {{ $mov->referencia ?? '—' }} {{ optional($mov->usuario)->name ?? '—' }} {{ $mov->observacion ?? '—' }}
No hay movimientos registrados para este lote.
@endsection