Class FichajeController
Proporciona funcionalidades para registrar entradas y salidas, consultar el historial de fichajes y realizar modificaciones manuales por parte de perfiles autorizados.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<List<RespuestaFichajeDTO>> consultarFichajes(LocalDate fechaInicio, LocalDate fechaFin, Long empleadoId) Permite consultar el historial de fichajes realizados en un rango de fechas determinado.org.springframework.http.ResponseEntity<RespuestaFichajeDTO> ficharEntrada(@Valid PeticionFichajeEntradaDTO peticion) Registra el inicio de la jornada laboral de un empleado (fichaje de entrada).org.springframework.http.ResponseEntity<RespuestaFichajeDTO> ficharSalida(@Valid PeticionFichajeSalidaDTO peticion) Registra el fin de la jornada laboral de un empleado (fichaje de salida).org.springframework.http.ResponseEntity<RespuestaFichajeDTO> modificarFichajeManual(Long idFichaje, PeticionModificacionFichajeDTO peticion) Permite a un Supervisor o Administrador de Empresa modificar manualmente la hora de entrada o salida de un fichaje.
-
Field Details
-
fichajeService
-
-
Constructor Details
-
FichajeController
public FichajeController()
-
-
Method Details
-
ficharEntrada
@PostMapping("/entrada") @PreAuthorize("hasAnyRole(\'EMPLEADO\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<RespuestaFichajeDTO> ficharEntrada(@Valid @RequestBody @Valid PeticionFichajeEntradaDTO peticion) Registra el inicio de la jornada laboral de un empleado (fichaje de entrada).Este endpoint es utilizado principalmente por la aplicación móvil.
URL de acceso:
POST http://localhost:8080/api/fichajes/entrada- Parameters:
peticion- DTO con la información necesaria para el registro de entrada.- Returns:
- ResponseEntity con el
RespuestaFichajeDTOgenerado y estado HTTP 201 (Created).
-
ficharSalida
@PutMapping("/salida") @PreAuthorize("hasAnyRole(\'EMPLEADO\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<RespuestaFichajeDTO> ficharSalida(@Valid @RequestBody @Valid PeticionFichajeSalidaDTO peticion) Registra el fin de la jornada laboral de un empleado (fichaje de salida).Actualiza el registro de entrada correspondiente con la hora de salida y calcula la jornada.
URL de acceso:
PUT http://localhost:8080/api/fichajes/salida- Parameters:
peticion- DTO con la información necesaria para el registro de salida.- Returns:
- ResponseEntity con el
RespuestaFichajeDTOactualizado y estado HTTP 200 (OK).
-
consultarFichajes
@GetMapping @PreAuthorize("hasAnyRole(\'EMPLEADO\', \'SUPERVISOR\', \'EMPRESA\')") public org.springframework.http.ResponseEntity<List<RespuestaFichajeDTO>> consultarFichajes(@RequestParam @DateTimeFormat(iso=DATE) LocalDate fechaInicio, @RequestParam @DateTimeFormat(iso=DATE) LocalDate fechaFin, @RequestParam(required=false) Long empleadoId) Permite consultar el historial de fichajes realizados en un rango de fechas determinado.Puede ser filtrado opcionalmente por un empleado específico si el usuario tiene permisos.
URL de acceso:
GET http://localhost:8080/api/fichajes?fechaInicio=2026-03-01&fechaFin=2026-03-31- Parameters:
fechaInicio- Fecha de inicio para el rango de búsqueda.fechaFin- Fecha de fin para el rango de búsqueda.empleadoId- Identificador opcional del empleado a consultar.- Returns:
- ResponseEntity con la lista de
RespuestaFichajeDTOencontrados y estado HTTP 200 (OK).
-
modificarFichajeManual
@PutMapping("/{idFichaje}/modificar") @PreAuthorize("hasAnyRole(\'EMPRESA\', \'SUPERVISOR\')") public org.springframework.http.ResponseEntity<RespuestaFichajeDTO> modificarFichajeManual(@PathVariable Long idFichaje, @Valid @RequestBody PeticionModificacionFichajeDTO peticion) Permite a un Supervisor o Administrador de Empresa modificar manualmente la hora de entrada o salida de un fichaje.Esta acción queda registrada para auditoría a través de un campo de incidencias.
URL de acceso:
PUT http://localhost:8080/api/fichajes/{idFichaje}/modificar- Parameters:
idFichaje- Identificador único del fichaje que se desea corregir.peticion- DTO con los nuevos datos de tiempo y el motivo de la modificación.- Returns:
- ResponseEntity con el
RespuestaFichajeDTOmodificado y estado HTTP 200 (OK).
-