Class EstadisticasController

java.lang.Object
com.gestorrh.api.controller.EstadisticasController

@RestController @RequestMapping("/api/estadisticas") public class EstadisticasController extends Object
Controlador REST para la consulta de métricas y estadísticas operativas del sistema.

Proporciona datos procesados para su visualización en gráficos y tableros de control (dashboards), permitiendo una toma de decisiones informada por parte de la empresa y supervisores.

  • Field Details

  • Constructor Details

    • EstadisticasController

      public EstadisticasController()
  • Method Details

    • obtenerKpisDashboard

      @GetMapping("/kpis") @PreAuthorize("hasAnyRole(\'EMPRESA\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<Map<String,Long>> obtenerKpisDashboard()
      Obtiene los Indicadores Clave de Desempeño (KPIs) generales para el cuadro de mando.

      Incluye el conteo total de empleados, los planificados para la jornada actual y los ausentes.

      URL de acceso: GET http://localhost:8080/api/estadisticas/kpis

      Returns:
      ResponseEntity que contiene un mapa con los nombres de las métricas y sus respectivos valores numéricos.
    • obtenerEmpleadosPorDepartamento

      @GetMapping("/empleados-departamento") @PreAuthorize("hasAnyRole(\'EMPRESA\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<List<DatoGraficoDTO>> obtenerEmpleadosPorDepartamento()
      Obtiene la distribución del número de empleados por cada departamento de la empresa.

      Información óptima para su representación en gráficos de barras o de sectores.

      URL de acceso: GET http://localhost:8080/api/estadisticas/empleados-departamento

      Returns:
      ResponseEntity con una lista de objetos DatoGraficoDTO representando los departamentos y su cantidad de empleados.
    • obtenerAusenciasAprobadasPorTipo

      @GetMapping("/ausencias-tipo") @PreAuthorize("hasAnyRole(\'EMPRESA\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<List<DatoGraficoDTO>> obtenerAusenciasAprobadasPorTipo()
      Obtiene estadísticas sobre las ausencias aprobadas, agrupadas por su tipología (médica, vacaciones, etc.).

      Información óptima para su representación en gráficos de donut o de sectores.

      URL de acceso: GET http://localhost:8080/api/estadisticas/ausencias-tipo

      Returns:
      ResponseEntity con una lista de objetos DatoGraficoDTO representando los tipos de ausencia y su frecuencia.
    • obtenerAusenciasPorEstado

      @GetMapping("/ausencias-estado") @PreAuthorize("hasAnyRole(\'EMPRESA\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<List<DatoGraficoDTO>> obtenerAusenciasPorEstado()
      Obtiene estadísticas sobre el estado de las solicitudes de ausencia (pendientes, aprobadas, denegadas).

      Permite visualizar la carga de trabajo administrativo en la revisión de solicitudes.

      URL de acceso: GET http://localhost:8080/api/estadisticas/ausencias-estado

      Returns:
      ResponseEntity con una lista de objetos DatoGraficoDTO representando los estados y su conteo.
    • obtenerTopRetrasos

      @GetMapping("/top-retrasos") @PreAuthorize("hasAnyRole(\'EMPRESA\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<List<DatoGraficoDTO>> obtenerTopRetrasos()
      Obtiene un listado de los empleados con mayor número de retrasos acumulados en sus fichajes.

      Información óptima para identificar desviaciones recurrentes en la puntualidad.

      URL de acceso: GET http://localhost:8080/api/estadisticas/top-retrasos

      Returns:
      ResponseEntity con una lista de objetos DatoGraficoDTO representando el ranking de retrasos por empleado.