Class TareaProgramadaService

java.lang.Object
com.gestorrh.api.service.TareaProgramadaService

@Service public class TareaProgramadaService extends Object
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 Details

  • 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.