Boleto Estudiantil en más de una sede

Estamos teniendo problemas con la implementación del Boleto Estudiantil en la versión 3.20.1, porque el Ministerio nos ha otorgado un student_department para cada sede, debido a que el importe que se le paga al alumno es distinto, y no sabemos cómo ajustar el WS. Dado que no es el caso de más de una responsable académica.
¿Qué nos sugieren? Pensábamos guardar en mbe_solicitudes el código de la sede, para poder consultar desde el WS, y usar en la url este mismo código.

Gracias por su tiempo.

Hola Ana,

Claro, ahora esta pensado que una Universidad tenga solo un student_department, no se tuvo en cuenta de un student_department por facultad/responsable académica.

Vas a tener que personalizar en SIU-Guaraní Autogestión cuando el alumno pide el beneficio, y luego los comandos que se encargan notificar cuando el alumno pierde o recuperar la regularidad.

Vamos a analizarlo para mejorarlo en las próximas versiones.

Por ahora veo de como se podría personalizar y te doy una respuesta.

saludos.
2

Leonel:
El problema no son distintas unidades académicas, para nosotros es: la misma responsable académica (Guarani), distinta ubicación con student_department distintos.
Pensé lo siguiente:

  • En Autogestión
    • Que el método cumple_condicion_be, en modelo/datos/db/boletoestudiantil.php, me devuelva la ubicación de la propuesta con año de ingreso más actual, en que el alumno esta Activo y Regular
    • que guarde el codigo de la ubicación en mbe_solicitudes
    • qué el método accion__nueva_solicitud() en operaciones/boleto_estudiantil/controlador.php envíe el “student_department”, usuario y password según el código de sede
- En el WS:
     - ¿Podría tener dos unidades académicas (en este caso serían dos ubicaciones), y que verifique además de por hash por el código de la ubicación en mbe_solicitudes?
     - esto haría que apareciera el código de la ubicación en la URL.
     - solo que para hacer esto en basesDeDatos.inc.php tendría $bdGuarani['01'] y $bdGuarani['02'] apuntando a la misma base.
- En Gestion:
       No lo vi aún.

¿Te parece?
Gracias por tu tiempo

Hola Ana,

Autogestión operación Tramites => Boleto Estudiantil:

En la tabla sga_alumnos columna ubicacion tenes el dato, el problema es que una persona puede estar inscrita a varias propuestas con distintas ubicaciones. La operación Tramites => Boleto Estudiantil es independiente de la propuesta donde este parado el alumno (combo de arriba a la derecha), igualmente podes recuperar la ubicación de la propuesta donde esta parado.

Luego para hacer el mapeo de ubicaciones con student_department podes crear un archivo de configuración dentro de la carpeta instalacion, ej:

instalacion/sube.ini


[mapeo_ubicaciones]
1 = SD1
2 = SD2
3 = SD3

Con la función parse_ini_file podes leer dicho archivo.

1 seria la ubicación y SD1 seria el student_department que te asigno SUBE para dicha ubicación.

Gestión comandos bin/guarani pro_solicitudes_sube y bin/guarani notif_solicitudes_sube:

En Autogestión cuando el alumno solicita el beneficio guardas el student_department en la tabla mbe_solicitudes, luego pasas dicho valor al servicio benefit-update de SUBE.

Cualquier consulta sobre el detalle de como implementarlo no dudes en consultar.

saludos.
2

Leonel:

Autogestión operación Tramites => Boleto Estudiantil:
- Cómo obtengo la propuesta en la que está parado. ¿Está en sesión?
- Respecto al mapeo podría ser un sube.ini de la siguiente forma?:
[ubicacion_1]
institucion_boleto= SD1
user = user1
password = pass1
[ubicacion_2]
institucion_boleto= SD2
user = user2
password = pass2
– cuando el alumno solicita el beneficio guardado el student_department en la tabla mbe_solicitudes, luego paso dicho valor al servicio benefit-update de SUBE.

WS
Ya que la actualizacion la hace únicamente por hash en mbe_solicitudes:
UPDATE mbe_solicitudes SET respuesta = :respuesta, respuesta_fecha = CURRENT_TIMESTAMP, respuesta_desc = :respuesta_descripcion, procesado = ‘S’ WHERE hash = :tid ;

¿Podría simplemente hacer la siguiente modificación en institucionBoleto.inc.php?:

$mapeo_ua[‘SD1’] = ‘01’;
$mapeo_ua[‘SD2’] = ‘01’;
Es decir mapear a la misma unidad académica que es toda la Institución.

Hola Ana,

Cómo obtengo la propuesta en la que está parado. ¿Está en sesión?
Usando [b]$ubicacion = kernel::persona()->get_id_ubicacion_activa();[/b] ya te trae la ubicación del alumno en la propuesta. Igualmente si queres la propuesta podes hacer [b]$propuesta_activa = kernel::persona()->get_id_propuesta_activa();[/b].
Respecto al mapeo podría ser un sube.ini de la siguiente forma?:
No sabia que también cambian las credenciales, de ser así también agregalas al archivo, tenes que llamar la función de la siguiente manera [b]parse_ini_file("instalacion/sube.ini", true)[/b], te va a devolver algo asi:

Array
(
[ubicacion_1] => Array
  (
  [institucion_boleto] => SD1
  [user] => user1
  [password] => pass1
  )
[ubicacion_2] => Array
  (
  [institucion_boleto] => SD2
  [user] => user2
  [password] => pass2
  )
[ubicacion_3] => Array
  (
  [institucion_boleto] => SD3
  [user] => user3
  [password] => pass3
  )
)

Los Web Services no hace falta personalizar, solo los comandos.

saludos.
2

Leonel:
Pero en el web servis, va la institucion del boleto
http://host/boletows/sube_actualizar_solicitud/INSTITUCIONBOLETO/HASH

y en este caso tengo dos “SD1” y “SD2”
¿Vos decis que lo deje con una, no importa cual y que siempre responda por esa? Me parecía más prolijo que fueran dos, una por cada "student_department ".

Claro, esa es la callback de SUBE, es decir, SUBE llama a la API de SIU-Guaraní para avisar si el beneficiario completo el formulario o el mismo expiro luego de 20 minutos, se encarga SUBE de agregar ese INSTITUCIONBOLETO y HASH a la URL.

Te dejo el foro 25807 donde se explica.

Con respecto a la ubicación también se me ocurre que el alumno pueda elegir que ubicación quiere para el beneficio, deberias personalizar la operación Tramites => Boleto Estudiantil para agregar el combo/select.

saludos.
2

Con respecto a la ubicación también se me ocurre que el alumno pueda elegir que ubicación quiere para el beneficio, deberias personalizar la operación Tramites => Boleto Estudiantil para agregar el combo/select.
Eso me gustó. Podría mostrar las ubicaciones dónde este inscripto en propuestas dónde se encuentre ACTIVO y REGULAR. Y con esto solucionaría, el tema de los alumnos inscriptos en más de una sede. pero tengo que consultarlo.

Hola Ana,

Si, podría ser una alternativa, te dejo la query por si te sirve:


SELECT DISTINCT
sga_ubicaciones.ubicacion,
sga_ubicaciones.nombre
FROM sga_alumnos
JOIN sga_ubicaciones ON (sga_alumnos.ubicacion = sga_ubicaciones.ubicacion)
WHERE sga_alumnos.regular = 'S'
AND sga_alumnos.calidad = 'A'
AND sga_alumnos.persona = <PERSONA>
ORDER BY sga_ubicaciones.nombre;

La la podes obtener con la función $persona = kernel::persona()->get_id();.

Ya creamos el ticket para analizar (https://redmine.siu.edu.ar/redmine/issues/45689).

saludos.
2

Gracias Leonel. mañana estamos pasando a producción la nueva versión. Después estoy retomando el tema de la personalización. Me quedará personalizar gestión, cualquier cosa abro un GDS.

se contnua via gds 63928