@if(!empty($empresa['logo_base64'])) @endif
{{ $empresa['nombre'] ?? config('app.name') }}
Resumen de movimientos
Producto: {{ $filtros['producto'] ?? 'Todos' }} Tipo de documento: {{ $filtros['tipo_documento'] ?? 'Todos' }}
Desde fecha: {{ $filtros['fecha_desde'] ?? '—' }} Hasta fecha: {{ $filtros['fecha_hasta'] ?? '—' }} Documento: {{ $filtros['documento'] ?? 'Todos' }}
Considerando todos los conceptos
@php $grupos = $grupos ?? []; if (empty($grupos) && !empty($filas)) { $grupos = collect($filas)->groupBy('producto_id')->map(function ($filasProducto) { $ordenadas = $filasProducto->sortBy('fecha_orden')->values(); $primera = $ordenadas->first(); $ultima = $ordenadas->last(); return [ 'producto_codigo' => $primera['producto_codigo'] ?? '', 'producto_descripcion' => $primera['producto_descripcion'] ?? '', 'unidad_medida' => $primera['unidad_medida'] ?? 'm³', 'filas' => $ordenadas->all(), 'subtotales' => [ 'entrada' => round($ordenadas->sum('entrada'), 2), 'salida' => round($ordenadas->sum('salida'), 2), 'saldo' => round($ultima['saldo'] ?? 0, 2), 'precio_total' => round($ordenadas->sum('precio_total'), 2), ], ]; })->values()->all(); } $fmt = fn ($n) => number_format((float) $n, 2, '.', ','); @endphp @forelse($grupos as $grupo)
Producto: {{ $grupo['producto_codigo'] ?? '—' }} Descripción: {{ $grupo['producto_descripcion'] ?? '—' }}
@foreach($grupo['filas'] ?? [] as $fila) @endforeach
Fecha Docto. Folio Movimiento Usuario Entrada Salida Existencia P. unit. Importe
{{ $fila['fecha'] }} {{ $fila['documento'] }} {{ $fila['folio'] }} {{ $fila['movimiento'] }} {{ $fila['usuario'] ?? '—' }} {{ $fila['entrada'] > 0 ? $fmt($fila['entrada']) : '—' }} {{ $fila['salida'] > 0 ? $fmt($fila['salida']) : '—' }} {{ $fmt($fila['saldo']) }} {{ $fmt($fila['precio_unitario']) }} {{ $fmt($fila['precio_total']) }}
Subtotales {{ $fmt($grupo['subtotales']['entrada'] ?? 0) }} {{ $fmt($grupo['subtotales']['salida'] ?? 0) }} {{ $fmt($grupo['subtotales']['saldo'] ?? 0) }} {{ $fmt($grupo['subtotales']['precio_total'] ?? 0) }}
Subtotales producto {{ $fmt($grupo['subtotales']['entrada'] ?? 0) }} {{ $fmt($grupo['subtotales']['salida'] ?? 0) }} {{ $fmt($grupo['subtotales']['saldo'] ?? 0) }} {{ $fmt($grupo['subtotales']['precio_total'] ?? 0) }}
@empty

Sin movimientos en el período seleccionado.

@endforelse @if(!empty($grupos))
Totales generales {{ $fmt($totales['entrada'] ?? 0) }} {{ $fmt($totales['salida'] ?? 0) }}
@endif