Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/amarcano568/pensionalamedida/llms.txt

Use this file to discover all available pages before exploring further.

El AlumnosController centraliza toda la lógica relacionada con los estudiantes de la residencia universitaria. Gestiona la importación masiva de alumnos desde ficheros Excel, el listado paginado con DataTables, la visualización del grupo familiar vinculado, la imputación y eliminación de trabajos realizados, y la asignación o actualización de hospedajes en habitaciones de la residencia. Todas las rutas están protegidas por el middleware auth; las de gestión principal requieren adicionalmente el permiso gestion_alumnos.

subirFicheroNuevosAlumnos

POST /subir-fichero-nuevos-alumnos Recibe un fichero Excel, lo almacena en disco local, vacía la tabla temporal alumnos_tmp y ejecuta la importación con AlumnosImport. Por cada registro importado llama a firstOrCreate sobre la tabla alumnos para evitar duplicados.
file
file
required
Fichero Excel (.xlsx / .xls) que contiene el listado de nuevos alumnos a importar. El nombre original del fichero se usa como nombre de almacenamiento.
Este endpoint no devuelve una respuesta JSON estructurada; la respuesta HTTP implícita es 200 OK cuando la importación finaliza sin excepciones. Los errores de validación de columnas son gestionados por la clase AlumnosImport.

deleteFicheroImportarAlumno

POST /delete-fichero-importar-alumno Elimina del disco local el fichero temporal que fue subido durante el proceso de importación. Verifica la existencia del archivo antes de intentar borrarlo.
filename
string
required
Nombre del fichero que se desea eliminar del almacenamiento local (p. ej. alumnos_2024.xlsx).
success
boolean
true si el fichero existía y fue borrado correctamente; false si no se encontró o hubo un problema.
message
string
Mensaje descriptivo del resultado de la operación.
data
string
Siempre cadena vacía en este endpoint.

gestionarEstudiantes

GET /gestionar-estudiantes Renderiza la vista principal de gestión de alumnos (alumnos.gestion). Requiere el permiso gestion_alumnos. Precarga el catálogo completo de trabajos y el listado de habitaciones disponibles para usarlos en los modales de imputación y asignación de hospedaje.
Este endpoint devuelve una vista HTML, no JSON. Está protegido por middleware: permission:gestion_alumnos.

listarEstudiantes

POST /listar-estudiantes Devuelve el listado de alumnos en formato DataTables, con columnas calculadas de detalle expandible (datos personales, hospedaje, foto) y botones de acción para imputar trabajos y gestionar residencia. Admite un filtro de estado para mostrar alumnos vigentes, de baja o todos.
filtro
string
Valor de filtro de estado que se pasa al scope Status del modelo Alumnos. Los valores típicos son vigente, baja o vacío (todos los registros).
data
array
Array de filas en formato DataTables. Cada fila incluye numIdAlumno, strNombre, strApellidos, strTelefono1, strEMail, strCodigoExpediente, blnVigente, uuid_habitacion, la columna calculada detalle (HTML con tarjeta de alumno) y action (botones de acción HTML).
recordsTotal
integer
Total de registros en la tabla sin filtrar.
recordsFiltered
integer
Total de registros tras aplicar el filtro de búsqueda de DataTables.

detalleAlumno

(Método interno — no expuesto como ruta HTTP directa) Construye y devuelve el fragmento HTML de la tarjeta de detalle de un alumno. La tarjeta incluye nombre completo, sexo, NIF, correo, fecha de nacimiento y edad calculada con Carbon, teléfonos, código de expediente, fecha de alta, datos de hospedaje en la residencia y dirección. Se invoca desde listarEstudiantes para rellenar la columna detalle de cada fila de la DataTable.
row
object
Fila del modelo Alumnos con los campos numIdAlumno, strNombre, strApellidos, strTelefono1, strEMail, strCodigoExpediente, blnVigente y uuid_habitacion. Se recibe directamente del callback de Datatables dentro de listarEstudiantes.
detalleAlumno no tiene una ruta registrada en web.php. Es un método auxiliar public llamado internamente mediante $this->detalleAlumno($row) dentro del callback de la columna calculada detalle de listarEstudiantes.

verGrupoFamiliarAlumno

POST /ver-grupo-familiar-alumno Localiza el grupo familiar del alumno por su UUID y delega la construcción de la tarjeta visual en GruposFamiliaresController::drawGroupFamily, devolviendo el HTML resultante en el campo data.
uuid
string
required
UUID del grupo familiar asociado al alumno (almacenado en alumnos.uuid_grupo_familiar).
success
boolean
true cuando el grupo familiar fue localizado y renderizado correctamente.
message
string
Mensaje descriptivo del resultado.
data
string
Fragmento HTML con la tarjeta del grupo familiar (padre, madre e hijos).

listarTrabajosRealizados

POST /listar-trabajos-realizados Devuelve en formato DataTables los trabajos imputados a un alumno concreto, haciendo join con el catálogo trabajos para obtener el nombre del trabajo. Incluye un botón de eliminación por fila.
idAlumno
integer
required
ID del alumno (alumnos.numIdAlumno) cuyos trabajos realizados se desean listar.
data
array
Array de filas con los campos trabajo (nombre del trabajo), fecha, observaciones e id (ID del registro en trabajos_realizados), más la columna action con el botón de eliminación.
recordsTotal
integer
Total de trabajos imputados al alumno sin filtrar.
recordsFiltered
integer
Total de trabajos tras aplicar el filtro de búsqueda de DataTables.

guardarTrabajoImputado

POST /guardar-trabajo-imputado Imputa un trabajo realizado a un alumno creando un nuevo registro en la tabla trabajos_realizados.
trabajo_id
integer
required
ID del trabajo del catálogo de trabajos (trabajos.id).
fecha_trabajo
date
required
Fecha en que se realizó el trabajo (formato YYYY-MM-DD).
id_alumno_trabajo
integer
required
ID del alumno al que se imputa el trabajo (alumnos.numIdAlumno).
observaciones_trabajo
string
Observaciones opcionales sobre el trabajo realizado.
success
boolean
true si el registro fue creado correctamente; false si no pudo ser imputado.
message
string
Mensaje descriptivo del resultado de la operación.
data
string
Cadena vacía en ambos casos de respuesta.

eliminarTrabajo

POST /eliminar-trabajo Elimina permanentemente un registro de trabajo imputado de la tabla trabajos_realizados por su ID.
idTrabajo
integer
required
ID del registro a eliminar en la tabla trabajos_realizados.
success
boolean
Siempre true cuando la eliminación se ejecuta sin excepciones.
message
string
Mensaje confirmando que el trabajo fue eliminado correctamente.
data
string
Cadena vacía.

verHospedajeAlumno

POST /ver-hospedaje-alumno Busca el registro de hospedaje de un alumno por su UUID de habitación y lo devuelve completo en el campo data. Si el alumno no tiene hospedaje asignado, responde con success: false.
uuid
string
required
UUID del hospedaje almacenado en alumnos.uuid_habitacion. Corresponde a un registro de la tabla hospedajes.
success
boolean
true si se encontró un hospedaje activo para el UUID indicado; false en caso contrario.
message
string
Mensaje descriptivo del resultado.
data
object
Objeto con los datos completos del hospedaje (uuid, num_habitacion, desde, hasta, observaciones) cuando existe, o cadena vacía si no se encontró.

actualizarHospedaje

POST /actualizar-hospedaje Crea o actualiza el hospedaje de un alumno en una habitación de la residencia. Si el alumno no tiene aún un UUID de habitación asignado, genera uno nuevo con Uuid::generate() y lo vincula al alumno. En caso contrario, actualiza el registro existente.
uuid_habitacion
string
UUID del hospedaje existente a actualizar. Si es null o no se envía, se crea un nuevo registro de hospedaje.
numero_habitacion
string
required
Número o identificador de la habitación a asignar (p. ej. "101", "2B").
fecha_entrada
date
required
Fecha de entrada del alumno a la habitación (formato YYYY-MM-DD).
fecha_salida
date
required
Fecha de salida prevista del alumno (formato YYYY-MM-DD).
observaciones_entrega_hab
string
Observaciones opcionales sobre el estado de la habitación en la entrega.
id_habitacion_alumno
integer
ID del alumno (alumnos.numIdAlumno). Requerido cuando se crea un hospedaje nuevo para vincular el UUID generado al alumno.
success
boolean
Siempre true cuando la operación se completa sin excepciones.
message
string
"La habitación fue asignada correctamente." en caso de creación, o "La habitación del alumno se actualizo correctamente." en caso de actualización.
data
string
Cadena vacía.

Build docs developers (and LLMs) love