@extends('layouts.admin') @section('title', 'Logs de Sincronización de Inventario') @section('content')
Última sincronización: {{ $lastSync ? \Carbon\Carbon::parse($lastSync)->format('d/m/Y H:i:s') : 'N/A' }}
La tabla inventory_sync_logs no existe.
Ejecuta php artisan migrate para crearla.
Los logs de archivo se muestran a continuación como alternativa.
Estas bodegas no tuvieron una sincronización exitosa el día anterior. Los fallos se reintentan en caliente y, si persisten, una hora después.
| Bodega | Estado | Intentos | Último intento | Error |
|---|---|---|---|---|
| {{ $row['bodega_code'] }} | {{ $row['last_status'] ? strtoupper($row['last_status']) : 'SIN INTENTO' }} | {{ $row['attempt_count'] }} | {{ $row['last_attempt_at'] ? \Carbon\Carbon::parse($row['last_attempt_at'])->timezone(\App\Models\InventorySyncLog::reportTimezone())->format('d/m/Y H:i:s') : '—' }} | {{ $row['last_error'] ?: '—' }} |
{{ $syncStatus['message'] ?? 'No hay sincronización activa.' }}
@if(!empty($syncStatus['current_bodega'])) Bodega actual: {{ $syncStatus['current_bodega'] }} @elseif(!empty($syncStatus['last_synced_at'])) Última finalización: {{ \Carbon\Carbon::parse($syncStatus['last_synced_at'])->format('d/m/Y H:i:s') }} @else Esperando una sincronización. @endif
{{ $syncStatus['error_message'] }}
@else @endifEjecuta una sincronización de inventario para ver los logs aquí.
Error: {{ $log->error_message }}
{{ $log->soap_response }}
{{ $logEntry }}
@endforeach
No se encontraron logs de inventario en el archivo de log.
Ejecuta una sincronización para generar logs.
Dispara un nuevo proceso de sincronización de inventario.
Async: Requiere que Horizon esté corriendo (php artisan horizon).
Sync: Ejecuta inmediatamente y espera a que termine (puede tardar varios minutos).