Empezar con nueva numeración actas de Exámen

Hola:

Recientemente migramos de Guaraní 2.9.3 a 3.14.0

Hasta ahora todas las actas de exámenes finales no se generaban por gestión sino que se migraban por sistemas externos según lo que se iba cargando a mano en libro fisico/papel. Vamos a empezar a generar las actas de exámen final por gestión.

Se nos presenta el problema de que hasta ahora las actas cargadas estaban nomencladas de la siguiente forma: numero_de_libro+guion+nro_folio_libro

Por ejemplo: 201-27

Nos gustaría empezar a utilizar la numeración automática de Guaraní 3, pero sabemos que el método que genera el acta toma el valor más alto de todas las actas con el mismo origen y le suma 1. En nuestro caso como el campo nro_acta es alfanumérico no es posible generar el próximo número de acta.

¿Es posible de alguna forma pasar a la numeración automática ya que vamos a empezar con libros nuevos generados desde Guaraní?
¿Podremos setear un valor máximo temporalmente y de ahí en más generar los valores de las próximas actas?
¿Podremos realizarlo sin tener que personalizar el método?

Gracias por cualquier ayuda

Federico

Nos gustaría empezar a utilizar la numeración automática de Guaraní 3, pero sabemos que el método que genera el acta toma el valor más alto de todas las actas con el mismo origen y le suma 1. En nuestro caso como el campo nro_acta es alfanumérico no es posible generar el próximo número de acta.
Por mas que sea alfanumerica, pueden separar el nro de acta que actualmente lo tienen con este format: aaa-bbb. Por un lado lo que esta a izquierda del guion (aaa) y lo que esta a la derecha (bbb) y de ahi tomar el dato como un numero y hacer el calculo que necesiten.
¿Es posible de alguna forma pasar a la numeración automática ya que vamos a empezar con libros nuevos generados desde Guaraní?

Si.

¿Podremos setear un valor máximo temporalmente y de ahí en más generar los valores de las próximas actas? 

Si.
Deberían crear una tabla donde vayan registrando el ultimo nro de acta según como quieran enumerar las actas (cursadas/promociones/examenes) y de alli hacer el calculo para recuperar el próximo numero de acta, ya que en la tabla de actas va a haber actas con la numeración actual (alfanumérica = aaa-bbb) y con la nueva (solo numérica).

¿Podremos realizarlo sin tener que personalizar el método?
Van a tener que personalizar para obtener el próximo numero de acta. A menos que reenumeren las actas actuales llevándolas al formato nuevo que sea solo numérico.

Se me ocurre que podríamos personalizar la función generar_nro_acta() de co_actas.php

Y en la línea SQL que se trae el máximo número de acta agregar una condición al WHERE que excluya todas las actas que contengan el caracter “-”.
De esa forma no tendríamos que llevar una tabla aparte:


$sql = "SELECT  COALESCE(MAX(CAST(sga_actas.nro_acta AS integer)), 0) + 1 as nro_acta
                                FROM    sga_actas
                                WHERE   sga_actas.origen = $origen
                                AND nro_acta NOT LIKE '%-%'
                ";

Probamos la setencia en pgadmin y nos devuelve un entero.

¿Qué opinan al respecto, es una solución viable?

Si esta bien realizar esa personalización.

Vamos a realizar la personalización entonces.

Seguimos la documentación sobre personalizaciones y el ejemplo de http://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.14.0/personalizaciones/reporte

En nuestro caso solo necesitamos modificar un método de PHP. Entendemos que desde toba solo haría falta modificar la consulta PHP co_actas. Cambiar el punto de montaje a “personalización” y luego apuntar al archivo dentro del directorio personalizacion que contiene la nueva definición del método generar_nro_acta()

En este caso, ¿basta con solo redefinir la consulta PHP desde toba editor? ¿Hace falta modificar algún objeto o algún CI?

¿Podemos solo redefinir el método con el mismo nombre: “generar_nro_acta” o hace falta que lo clonemos como nuevo método con un nuevo nombre?

Buenos días, deberías hacer lo que dijiste.
Para reutilizar la clase co_actas que enviamos desde el siu, deberías extender tu nueva clase del co_actas original.
Para modificar la función generar_nro_acta deberías solamente en la clase hija sobreescribir el método este.
Igualmente siempre recomendamos que revises cuando haces este tipo de cambios desde donde se esta llamando a esa función para que veas si el nuevo método cumple con el nuevo comportamiento que estas modificando.
Te dejo un link para que puedas ver más rapidamente desde donde se está llamando esa función.

Espero sea de utilidad la info anteriormente descripta.
Ante cualquier otra duda no dudes en consultar.
Saludos.