# Reapertura de tareas por reproceso

En el detalle de una tarea completada, los asignados o supervisores pueden solicitar su reapertura indicando el motivo. Solo puede haber una solicitud pendiente por tarea. Hasta su aprobación, la tarea continúa completada y no permite editar ni registrar avance.

Otro supervisor de la empresa o administrador autorizado puede aprobar o rechazar desde el detalle. Los administradores también ven las solicitudes en Gestión de tareas > Aprobaciones, con los filtros de empresa y estado existentes. No se puede aprobar ni rechazar la propia solicitud. Rechazar exige motivo y permite una nueva solicitud posterior.

Al aprobar, la tarea pasa a En proceso y el avance del reproceso empieza en 0%. Se conservan fechas, asignados, pasos cumplidos y horas anteriores. Los supervisores pueden editar los pasos que deban repetirse. El tiempo previo queda como base para que no vuelva a completar automáticamente la tarea. Si ya existe la siguiente tarea recurrente, no se genera otra copia al cerrar el reproceso.

Solicitud y resolución quedan en el historial y auditoría. Los avisos usan la configuración existente de notificaciones y correo; el envío requiere el trabajador de cola habitual.

## Archivos para hosting

- app/Models/Work/TaskReopenRequest.php
- app/Services/Work/TaskReopenService.php
- app/Services/Work/WorkTaskService.php
- app/Filament/Pages/UserTasks.php
- resources/views/filament/pages/user-tasks.blade.php
- resources/views/filament/pages/partials/user-task-detail.blade.php
- resources/views/filament/pages/partials/task-reopen-approvals.blade.php
- database/migrations/2026_09_12_000005_create_task_reopen_requests.php

Desde la raíz del proyecto, después de subir los archivos:

```bash
php artisan migrate --force
php artisan optimize:clear
php artisan queue:restart
```

La migración añade una tabla; no modifica las tareas existentes.
