Interface PrestamoService

All Known Implementing Classes:
PrestamoServiceImp

@Service public interface PrestamoService
Servicio encargado de la gestión de préstamos de la biblioteca. Proporciona operaciones para crear, modificar, consultar y gestionar el estado de los préstamos.
Author:
Álvaro Allén alvaro.allper.1@educa.jcyl.es
  • Method Details

    • registrarPrestamo

      Prestamo registrarPrestamo(PrestamoDTO prestamoDTO)
      Registra un nuevo préstamo en el sistema.
      Parameters:
      prestamoDTO - datos necesarios para crear el préstamo
      Returns:
      préstamo registrado
    • listarPrestamosPorUsuario

      List<Prestamo> listarPrestamosPorUsuario(Long idUsuario)
      Lista de todos los préstamoas asociados a un usuario.
      Parameters:
      idUsuario - identificador del usuario
      Returns:
      lista de préstamos del usuario
    • buscarPrestamoPorId

      Prestamo buscarPrestamoPorId(Long idPrestamo)
      Busca préstamos por su identificador.
      Parameters:
      idPrestamo - identificador del préstamo
      Returns:
      préstamo encontrado
    • buscarPrestamos

      org.springframework.data.domain.Page<Prestamo> buscarPrestamos(String busqueda, EstadoPrestamo estadoPrestamo, org.springframework.data.domain.Pageable pageable)
      Busca préstamos aplicando filtros y paginación
      Parameters:
      busqueda - texto de búsqueda
      estadoPrestamo - estado del préstamo
      pageable - configuración de paginación
      Returns:
      página de préstamos encontrados
    • editarPrestamo

      Prestamo editarPrestamo(Long idPrestamo, PrestamoDTO prestamoDTO)
      Edita un préstamo existente.
      Parameters:
      idPrestamo - identificador del préstamo
      prestamoDTO - datos actualizados del préstamo
      Returns:
      préstamo modificado
    • finalizarPrestamo

      void finalizarPrestamo(LocalDate fechaDevolucion, Long idPrestamo, String codigo)
      Finaliza un préstamo estableciendo su fecha de devolución.
      Parameters:
      fechaDevolucion - fecha en la que se devuelve el ejemplar
      idPrestamo - indentificador del préstamo
      codigo - código del ejemplar
    • reabrirPrestamo

      void reabrirPrestamo(Long idPrestamo)
      Reabre un préstamo previamente finalizado.
      Parameters:
      idPrestamo - identificador del préstamo
    • cambiarEstado

      void cambiarEstado(Long idPrestamo, EstadoPrestamo estadoPrestamo)
      Cambia el estado de un préstamo.
      Parameters:
      idPrestamo - identificador del préstamo
      estadoPrestamo - nuevo estado del préstamo
    • getPrestamoActivo

      Prestamo getPrestamoActivo(Ejemplar e)
      Obtiene el préstamo activo asociado a un ejemplar.
      Parameters:
      e - ejemplar consultado
      Returns:
      préstamo activo si existe
    • sumarDiasHabiles

      LocalDate sumarDiasHabiles(LocalDate FechaInicio)
      Calcula una fecha sumando días hábiles a una fecha inicial.
      Parameters:
      FechaInicio - fecha de inicio
      Returns:
      fecha resultante
    • actualizarPrestamosRetrasados

      void actualizarPrestamosRetrasados()
      Actualiza el estado de los préstamos retrasados en el sistema.