@extends('layouts.app') @section('title', 'Dashboard de Inventario Interactivo') @section('content')

Dashboard de Inventario Interactivo

Análisis interactivo de inventario con alertas, rotación y valorización

Volver
Valor Total Inventario
${{ number_format($data['valuation']['total'] ?? 0, 2) }}
Stock Bajo
{{ count($data['alerts'] ?? []) }}
Próximos a Vencer
{{ count($data['expiring'] ?? []) }}
@if(count($data['alerts'] ?? []) > 0)
Alertas de Stock Bajo
@foreach($data['alerts'] as $alert) @endforeach
Producto Almacén Stock Actual Stock Mínimo Estado
{{ $alert['product'] }} {{ $alert['warehouse'] }} {{ $alert['current'] }} {{ $alert['minimum'] }} Stock Bajo
@endif @if(count($data['expiring'] ?? []) > 0)
Productos Próximos a Vencer (30 días)
@foreach($data['expiring'] as $item) @endforeach
Producto Almacén Cantidad Fecha Vencimiento Días Restantes
{{ $item['product'] }} {{ $item['warehouse'] }} {{ $item['quantity'] }} {{ \Carbon\Carbon::parse($item['expiration_date'])->format('d/m/Y') }} {{ \Carbon\Carbon::parse($item['expiration_date'])->diffInDays(now()) }} días
@endif
Valorización por Almacén
@forelse($data['valuation']['by_warehouse'] ?? [] as $warehouse) @empty @endforelse
Almacén Valor
{{ $warehouse['warehouse'] }} ${{ number_format($warehouse['value'], 2) }}
No hay datos disponibles
Análisis de Rotación
@forelse($data['rotation'] ?? [] as $item) @empty @endforelse
Producto Vendido Stock Promedio
{{ $item->name }} {{ number_format($item->total_sold ?? 0) }} {{ number_format($item->avg_stock ?? 0) }}
No hay datos disponibles
Movimientos Recientes
@forelse($data['movements'] ?? [] as $movement) @empty @endforelse
Fecha Producto Tipo Cantidad Desde Hasta
{{ $movement->created_at ? $movement->created_at->format('d/m/Y H:i') : 'N/A' }} {{ $movement->product->name ?? 'N/A' }} {{ $movement->movement_type ?? 'N/A' }} {{ $movement->quantity ?? 0 }} {{ $movement->fromWarehouse->name ?? 'N/A' }} {{ $movement->toWarehouse->name ?? 'N/A' }}
No hay movimientos recientes
@push('scripts') @endpush @endsection