Buenos días, esta es una consulta que calculo que me la podrá responder el equipo de desarrollo, necesitamos disparar una llamada a un servicio cada vez que en sistema se de de alta un alumno, ya sea por un alta manual o por la importación de datos desde el modulo de preinscripción.
La pregunta es, podrían informarme que modulo del Guaran me convendría tocar para llevar a cavo esto?
Hola Ivan,
Si te referís al “dar de alta una persona” hay varios lugares:
Gestión: Operaciones Administrar Personas e Inscribir a Propuesta desde Preinscripción.
Autogestión: Operación Alta usuario curso si el parámetro cur_alta_usuario_cursos_autogestion esta en “Se habilita el alta de usuarios para cursos”, en la pantalla de login vas a ver el siguiente mensaje:
Si deseás inscribirte a cursos, y no tenés usuario y clave de acceso al sistema, podés crearlo accediendo aquí.
¿ustedes lo que necesitan es llamar a un Web Service de un sistema externo cada vez que se da de alta un usuario en Guaraní?
saludos.
2
Claro, nosotros tenemos una API-Rest que recibe determinados parámetros y crea las cuentas corrientes de los alumnos, la idea es que cuando a estos se los de de alta se llame a esta API de forma automática (por ejemplo, cuando se inscriben a una propuesta formativa).
Hola Ivan,
Tendrías que personalizar de la siguiente forma:
- Crear una clase que se encargue de llamar a tu API REST, podes tomar como ejemplo php/nucleo/moodle/moodle_nucleo.php, tenes la función __construct que crea el cliente para consumir dicha API: $this->clienteGuzzle = new Client([‘base_uri’ => $base_uri]);, una vez creado el cliente podes empezar a llamar a los Web Services, fíjate por ejemplo la función getCategoriasCursos donde trae las categorías de Moodle.
Se usa la librería Guzzle.
- Luego cada vez que se da de alta una persona llamar a dicho Web Service:
En Administrar Personas lo podes llamar en la función guardar de php/nucleo/matriculas/personas/cn_man_personas.php.
En Inscribir a Propuesta desde Preinscripción lo podes llamar en la función importar_persona de php/nucleo/matriculas/inscripciones/propuestas_preinscripcion/preinscripcion_nucleo.php.
En autogestión lo podes llamar en la función post_creacion de src/siu/operaciones/alta_usuario_cursos/controlador.php.
saludos.
2
Hola buenos días. Soy Hernan, desarrollador de la USAL y estoy encargado de este tema junto a Ivan.
Quería agradecer por la respuesta anterior que nos permitió avanzar con el tema y de paso solicitar asistencia nuevamente ya que nuestro sistema de cuenta corriente necesita ser informado de ciertos cambios en cuanto a la situación de un alumno.
Corrección de datos
Cambio Egresado a Regular
Cambio de año ingreso
Cambio de Regular a Aspirante
Modificación de Carrera y/o Sede
Baja (al cambiar de carrera a otra UA)
Transferencia de Aspirante a Regular
Transferencia de Regular a Aspirante
Reincorporación
Cambio Graduado a Egresado
Nuestro sistema académico actual se comunica con el de cuenta corrientes y en base a estos disparadores envía información necesaria.
La pregunta puntual es, dentro del SIU, en que archivos PHP se realizan estas operaciones? De esta manera podremos llamar a la clase que se comunica con nuestro web service y realizar el cruce de información necesario.
Desde ya muchas gracias.
Saludos
Hola Hernan, te voy diciendo:
Corrección de datos:
Gestión operación Administrar Personas: Función evt__guardar de php/operaciones/matriculas/personas/ci_nav_personas.php.
Autogestión operación Mis datos personales: Función accion__guardar de src/siu/operaciones/datos_censales/controlador.php.
Cambios de calidad de un alumno:
Gestión operación Cambiar de Calidad a un Alumno: Función evt__guardar de php/operaciones/matriculas/alumnos/cambios_de_calidad_alumnos/ci_nav_cambios_calidad_alumnos.php.
Cambiar de Plan/Plan-Versión a un Alumno
Gestión función evt__confirmar de php/operaciones/matriculas/alumnos/cambio_de_plan/ci_nav_cambio_plan.php.
Cambiar de Ubicación de un Alumno
Gestión función evt__guardar de php/operaciones/matriculas/alumnos/cambios_de_ubicacion_alumnos/ci_nav_cambios_ubicacion_alumnos.php.
Cambiar de Modalidad de un Alumno
Gestión función evt__guardar de php/operaciones/matriculas/alumnos/cambio_de_modalidad_alumnos/ci_nav_cambios_modalidad_alumnos.php.
Cambiar Alumnos de Plan de Estudios
Gestión función procesar de php/nucleo/matriculas/alumnos/cambio_masivo_plan_alumnos/pro_cambiar_masivamente_plan_alumnos_nucleo.php.
Voy buscando y los voy agregando.
saludos.
4
Una opción es como indica Leonardo incluyendo en el codigo php de las diferentes operaciones el código que registre estos cambios.
Otra forma es crear triggers de update de las tablas que se modifican ante cada uno de esos eventos:
Corrección de datos
Dependiendo de que datos, pueden crearse triggers en todas las tablas del modulo de datos personales y datos censales.
Cambio Egresado a Regular
Aca no entiendo cuando sucede esto. Cuando un alumno egresa por una orientacion y sigue cursando materias de otra orientación?
Se puede agregar un trigger de insert en la tabla sga_alumnos_hist_calidad, Para el caso de que el alumno pasa de calidad Pasivo (motivo por Egreso) a calidad Activo.
Cambio de año ingreso
No estamos permitiendo cambiar este dato. Pero en el caso que Uds personalicen el cambio de periodo de inscripcion. Debeia ser un trigger sobre la tabla sga_propuestas_aspira, cuando cambia el dato “periodo_insc”.
Cambio de Regular a Aspirante
Idem punto anterior, cuando cambia el campo situacion_asp de la tabla sga_propuestas_aspira. Deben solo registrar el movimiento cuando pasa de una situacion de aspirante Regular a Aspirante.
¿Cuando se da este caso? Porque lo normal es que sea Aspirante y luego Alumno regular.
Modificación de Carrera y/o Sede
Modificacion de sede, en la tabla sga_alumnos, cuando cambia el dato ubicacion.
¿Modificacion de carrera? misma tabla de alumnos pero cuando se genera un nuevo registro en esta tabla. Que no implica que sea un cambio de carrera ya que podria estar inscribiendose para cursar en paralelo en una 2da o 3er carrera.
Si van a desarrollar una operación para cambio de carrera (que implica pasarlo a pasivo por cambio de carrera en la que esta actualmente y registrar una inscripción en la carrera a la que se pasa), sería aqui donde generan este alerta.
Baja (al cambiar de carrera a otra UA)
Similar al anterior, podria ser en el trigger de insert de la tabla sga_alumnos_hist_calidad. Cuando en la carrera actual se lo cambia de calidad de Activo a Pasivo con un motivo que sea por cambio de carrera a otra UA.
Transferencia de Aspirante a Regular
Tabla de inscripcion a propuesta, sga_propuestas_aspira, cuando cambia el dato situacion_asp. Cuando el dato de situacion de aspirante pasa una situacion cuyo resulado es P (Pendiente) a una situacion cuyo resultado es A (Insc Aceptada).
Este dato de “resultado” de la situación de aspirante se encuentra en la tabla sga_situacion_aspirante.
Transferencia de Regular a Aspirante
Como lo mencione en el punto “Cambio de Regular a Aspirante”.
En Guarani lo unico que existe es volver a estado Pendiente (que seria pasar a estar como Aspirante) la inscripción a propuesta.
Si es esto, cuando se actualiza el campo situacion_asp de la tabla sga_prpuestas_aspira. Lo mismo que se comento en el punto anteiror, ver cuando pasa de una situacion cuyo resultado es A (Aceptada) a una cuyo resultado es P (Pendiente)
Reincorporación
Esto sería lo que en Guarani esta como pasar de “No Regular” a “Regular”?
En este caso cuando se actualiza el campo regular de la tabla sga_alumnos
O si es pasar de calidad “Pasivo” a calidad “Activo”, seria cuando cambia el campo calidad de la tabla sga_alumnos
Cambio Graduado a Egresado
Esto es, si usan el circuito de egreso, cuando el tramite de egreso cambia del estado de “Graduado” a “Egresado”.
Tabla sga_certificados_otorg, campo estado
3