Matricula Estudiante (1) - [enrollStudent]
🧾 Descripción
Este servicio matricula automáticamente a un estudiante en todos los programas de capacitación correspondientes a su puesto actual (designation).
El flujo toma como origen:
-
Student (por DNI)
-
Program
-
Course
-
Program Enrollment
El servicio determina qué cursos pertenecen al puesto del estudiante, identifica qué programas contienen esos cursos y finalmente crea matrículas individuales para cada programa en el ERP.
🚀 Endpoint
POST /enroll-student
📥 Parámetros (Request Body)
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| dni | string | Sí | DNI del estudiante para buscarlo en el ERP |
🔐 Seguridad
Requiere autenticación interna mediante:
-
dbErp()para consultas SQL -
ServiceErp()para consumo REST de recursos del ERP
🧠 Flujo del Servicio (resumen)
1. Validar parámetro dni
Si no se envía DNI:
→ retorna error inmediato.
2. Buscar al estudiante en tabStudent
Si no existe:
→ retorna "no se encontró al estudiante".
3. Obtener todos los Programas del ERP
GET /resource/Program?fields=["name"]&limit=None
Por cada programa:
-
Se consulta
/resource/Program/<program_name> -
Se leen los cursos incluidos en ese programa
-
Se construye el mapa:
4. Obtener todos los Cursos del ERP
GET /resource/Course?fields=["name"]
Por cada curso:
-
Se consulta
/resource/Course/<course_name> -
Se revisan los
designationasociados al curso -
Se construye el mapa:
5. Validar si el puesto del estudiante tiene cursos asignados
Si no tiene cursos asociados:
→ retorna "No se encontró programas para este puesto".
6. Determinar los programas finales
Para cada curso del puesto, buscar en qué programas aparece y construir la lista final:
Si la lista queda vacía:
→ no existen programas asignados a este puesto.
7. Registrar las matrículas (Program Enrollment)
Para cada programa identificado:
-
Validar si ya existe matrícula:
-
Si existe, se almacena como encontrado.
-
Si no existe, se crea:
El servicio separa:
-
Matrículas creadas
-
Matrículas ya existentes
-
Errores durante el registro
📤 Respuesta 200 – Ejemplo
❗ Posibles Errores
1. Falta DNI
2. Estudiante no encontrado
3. Puesto sin cursos asociados
4. Error al registrar un enrollment
Se devuelve en errors:
No hay comentarios para mostrar
No hay comentarios para mostrar