@extends('layouts.app') @section('title', 'Reporte de Movimientos') @section('content')

Reporte de Movimientos

Volver
Filtros de Búsqueda
Limpiar
Información del Reporte
Fecha de Generación:
{{ now()->format('d/m/Y H:i:s') }}
Total de Movimientos:
{{ $movements->total() }}
Período:
@if(request('date_from') && request('date_to')) {{ request('date_from') }} - {{ request('date_to') }} @else Todos los registros @endif
Tipo:
{{ request('type') ? ucfirst(request('type')) : 'Todos' }}
Movimiento:
{{ request('movement') ? ucfirst(request('movement')) : 'Todos' }}
Generado por:
{{ Auth::user()->name }}
Movimientos de Inventario ({{ $movements->total() }} movimientos)
@if($movements->count() > 0)
@foreach($movements as $movement) @endforeach
Fecha Producto Categoría Tipo Movimiento Cantidad Stock Antes Stock Después Almacén Usuario Notas
{{ $movement->created_at->format('d/m/Y H:i') }} {{ $movement->product->name }}
{{ $movement->product->code }}
{{ $movement->product->category->name }} {{ ucfirst($movement->type) }} {{ ucfirst($movement->movement) }} {{ $movement->quantity }} {{ $movement->quantity_before }} {{ $movement->quantity_after }} {{ $movement->warehouse_name ?: 'N/A' }} {{ $movement->user->name }} {{ $movement->notes ?: 'Sin notas' }}
@if($movements->hasPages())
{{ $movements->links() }}
@endif @else

No hay movimientos

No se encontraron movimientos con los filtros aplicados.

Intente ajustar los filtros de búsqueda o verifique que existan movimientos en el período seleccionado.

@endif
@if($movements->count() > 0)
Resumen por Tipo
@php $types = $movements->groupBy('type'); @endphp @foreach($types as $type => $typeMovements)
{{ ucfirst($type) }}
{{ $typeMovements->count() }} movimientos
@endforeach
@endif
@push('scripts') @endpush @push('styles') @endpush @push('scripts') @endpush @endsection