Estamos trabajando con un servicio externo que impacte una serie de datos en Guaraní. En esta ocasión necesitamos otorgarle al alumno una prorroga en el vencimiento de la escolaridad. Queríamos sacarnos la duda de que estemos tocando los datos correctos y no quede alguna tabla sin actualizar. Les paso a comentar lo que hacemos:
Obteniendo el DNI del alumno y la propuesta consultamos sus regularidades de la vista “vw_regularidades_basica”. Las filtramos por el plan versión que tenga el alumno en la tabla “sga_alumnos”, resultado = “A”, origen_otra_propuesta = “FALSE”, origen IN (C, R). Ademas filtramos que no estén en la vista "vw_hist_academica_basica’ con resultado = “A” y origen_otra_propuesta = “FALSE”. Con esto obtendríamos actividades que debe rendir final.
Una vez que el alumno tiene el listado, selecciona a la que quiera pedir una prorroga y envía el tramite, llamando a otro servicio al cual le pasa el id del acta, id del alumno y la nueva fecha de vencimiento (calculada por el sistema). En el sistema validamos que existan y luego generamos un nuevo registro en “sga_regularidades_venc”. La completamos con los datos pasados. La fecha_vigencia_anterior la calculamos: si el alumno-acta ya tiene un registro en esta tabla, nos quedamos con la fecha mas alta y ponemos esta fecha. Si no tenia registro en esta tabla, obtenemos la fecha de “sga_actas_detalle”, campo fecha_vigencia.
Con esto completaríamos el circuito para otorgarle una prorroga. Les parece que esta correcto el circuito? Deberíamos chequear algo mas?
Obteniendo el DNI del alumno y la propuesta consultamos sus regularidades de la vista "vw_regularidades_basica". Las filtramos por el plan versión que tenga el alumno en la tabla "sga_alumnos",
No, porque el alumno pudo obtener la regularidad de la materia en un plan anterior o en una version de plan anterior a la version del plan actual.
No deberian filtrar por este dato.
resultado = "A", origen_otra_propuesta = "FALSE"
Esta bien, solo prorrogar regularidades aprobadas por la propuesta por la cual obtuvo la regularidad.
, origen IN (C, R)
.
origen = C -> Cursadas
origen = R -> Equivalencias de regularidad.
Recuerden que deben recuperar el ultimo registro de regularidad valido. Si permiten recursar actividades, podria estar el caso de que un alumno cursa y aprueba la cursada pero al año siguiente la vuelve a cursar (por los motivos que fuere… quiere una nota mas alta, etc…) asi que deberan tomar la ultima cursada de cada actividad.
Si quieren solo mostrar regularidades ya vencidas, entonces agreguen el filtro “es_vigente = 0”. Significa que la regularidad ya venció.
Ademas filtramos que no estén en la vista "vw_hist_academica_basica' con resultado = "A" y origen_otra_propuesta = "FALSE". Con esto obtendríamos actividades que debe rendir final.
Si esta bien lo de vericar que no este aprobada la actividad por examen final/promocion/equivalencia/resolucion
Lo del [u]origen en otra propuesta[/u], creo no deberian poner ese filtro, a menos que no dejen rendir final por una propuesta diferente a la propuesta por la que el alumno regularizó esa actividad con lo cual siempre el examen final va a ser por la misma propuesta por la que lo regularizo. Esto siempre por el tema de actividades comunes entre propuestas.
Una vez que el alumno tiene el listado, selecciona a la que quiera pedir una prorroga y envía el tramite, llamando a otro servicio al cual le pasa el id del acta, id del alumno y la nueva fecha de vencimiento (calculada por el sistema). En el sistema validamos que existan y luego generamos un nuevo registro en "sga_regularidades_venc". La completamos con los datos pasados. La fecha_vigencia_anterior la calculamos: si el alumno-acta ya tiene un registro en esta tabla, nos quedamos con la fecha mas alta y ponemos esta fecha. Si no tenia registro en esta tabla, obtenemos la fecha de "sga_actas_detalle", campo fecha_vigencia.
Depende de lo que esten otorgando una prorroga.. si de una cursda o una equivalencia de regularidad, porque depende de esto es el campo que tienen que registrar en la tabla sga_regularidades_venc (id_acta o equivalencia) con el dato del acta de cursada (sag_actas.id_acta) o id de equivalencia (sga_equiv_otorgada.equivalencia)
Ademas, deben reflejar la nueva fecha de vencimiento en el acta de cursada (sga_actas_detalle.fecha_vigencia) o en la equivalencia (sga_equiv_otorgada.fecha_vigencia).
Vean como esta funcionando la operación que existe en Gestion como para que lo que desarrollen se comporte de la misma manera. Alli tienen la query par ael listado de actividades que pueden prorrogarse y tambien lo que se hace al confirmar la prorroga.