Evitando Inconsistencias: Advertencias de REP ID Duplicados en Almacenes

En el proyecto Reimpact/platform, nos enfocamos en mejorar la integridad de los datos y la experiencia del usuario. Recientemente, abordamos una situación crítica relacionada con la gestión de almacenes declarantes que compartían el mismo ID de Registro de Establecimiento Primario (REP ID). Esta duplicidad podía llevar a errores significativos en la generación de informes, afectando la precisión de la información.

Para mitigar este riesgo, implementamos un sistema de advertencia proactivo. Ahora, cuando se detectan múltiples almacenes declarantes con el mismo REP ID, el sistema muestra una notificación de peligro persistente directamente en la página de índice de almacenes. Esta alerta visual informa al usuario sobre la inconsistencia y subraya la necesidad de corregirla antes de proceder con la generación de cualquier informe.

Esta mejora asegura que los usuarios sean conscientes de posibles problemas de datos de inmediato, permitiéndoles tomar medidas correctivas y garantizando que los informes generados se basen en información precisa y única. La implementación se beneficia de la flexibilidad de frameworks como Laravel y Filament para la gestión de la interfaz de usuario y las notificaciones.

namespace App\Filament\Pages;

use App\Models\Warehouse;
use Filament\Notifications\Notification;
use Filament\Pages\Page;
use Illuminate\Support\Collection;

class ManageWarehouses extends Page
{
    protected static ?string $navigationIcon = 'heroicon-o-building-storefront';

    protected static string $view = 'filament.pages.manage-warehouses';

    public function boot(): void
    {
        $duplicateRepIds = Warehouse::select('rep_id')
            ->groupBy('rep_id')
            ->havingRaw('count(*) > 1')
            ->pluck('rep_id');

        if ($duplicateRepIds->isNotEmpty()) {
            foreach ($duplicateRepIds as $repId) {
                Notification::make()
                    ->danger()
                    ->title('REP ID Duplicado Detectado')
                    ->body("El REP ID '{$repId}' está asociado a múltiples almacenes. Por favor, corríjalo antes de generar informes.")
                    ->persistent()
                    ->send();
            }
        }
    }
}

Este fragmento de código ilustra cómo se podría detectar y notificar la duplicación de REP IDs utilizando las capacidades de notificación de Filament, asegurando que la lógica de validación se ejecute y alerte a los usuarios cuando sea necesario.

Evitando Inconsistencias: Advertencias de REP ID Duplicados en Almacenes
Gerardo Ruiz

Gerardo Ruiz

Author

Share: