# Culminar tarea y tiempo excedido

El detalle incluye **Culminar tarea**. Alcanzar el estimado no cierra la tarea ni detiene los cronómetros. Al culminarla se detienen los contadores activos y se guarda el tiempo real por persona, junto al estimado y excedente total de la tarea, en la actividad de cierre.

La tabla muestra solo los contadores del usuario conectado. No se reparte el estimado ni se calcula un excedente individual. El excedente total compara la suma del trabajo de todos contra el estimado completo. Se incluyen tiempos históricos y de reprocesos. Los usuarios retirados conservan sus tiempos registrados. Los comentarios y evidencias permanecen abiertos; Avances se despliega al hacer clic.

Se conservan los controles de permisos, versión, pasos pendientes y revisión. Si se exige revisión, culminar envía la tarea a revisión y el supervisor autorizado realiza el cierre. Esta acción no envía correo; se mantiene el envío para comentarios o evidencias del sistema.

## Actualizar el hosting

Subir estos archivos respetando las rutas:

- `app/Services/Work/TaskTimerService.php`
- `app/Services/Work/WorkTaskService.php`
- `app/Filament/Pages/UserTasks.php`
- `resources/views/filament/pages/partials/user-task-detail.blade.php`
- `resources/views/filament/pages/partials/task-timers.blade.php`

Este cambio presupone la actualización anterior de avance automático y comentarios. No requiere una migración nueva: el resumen se conserva en el campo JSON de la actividad.

Desde la carpeta del proyecto ejecutar:

```sh
php artisan view:clear
```

La cobertura comprueba el cierre desde Livewire, la detención de contadores, los tiempos por persona y el excedente total, y las restricciones de pasos y revisión.
