Package com.gestorrh.api.service
Class TareaProgramadaService
java.lang.Object
com.gestorrh.api.service.TareaProgramadaService
Servicio encargado de la ejecución de procesos automáticos y tareas de mantenimiento en segundo plano.
Utiliza las capacidades de programación de Spring (@Scheduled) y la escucha de eventos del
ciclo de vida de la aplicación para asegurar la integridad de los datos de los empleados.
Este servicio no es invocado por controladores externos; su ejecución es disparada automáticamente por el contenedor de Spring.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidRealiza la actualización masiva del estado de los empleados basándose en la vigencia de sus contratos.
-
Field Details
-
empleadoRepository
-
-
Constructor Details
-
TareaProgramadaService
public TareaProgramadaService()
-
-
Method Details
-
actualizarEstadoEmpleados
@Transactional @Scheduled(cron="0 1 0 * * ?") @EventListener(org.springframework.boot.context.event.ApplicationReadyEvent.class) public void actualizarEstadoEmpleados()Realiza la actualización masiva del estado de los empleados basándose en la vigencia de sus contratos.Esta tarea se ejecuta automáticamente bajo dos condiciones fundamentales:
- Ejecución Diaria: Programada a las 00:01 AM (Cron: "0 1 0 * * ?") para procesar bajas del día anterior.
- Arranque del Sistema: Se dispara al recibir el
ApplicationReadyEvent, asegurando que el estado sea coherente tras un reinicio.
El proceso busca todos los empleados cuya fecha de baja de contrato sea igual o anterior a la fecha actual y los marca como inactivos (
activo = false) en una sola operación de base de datos para optimizar el rendimiento.
-