Detectamos que el modulo de encuestas no funciona correctamente, al revisar los archivos (/a_alumnos/elegirEncuesta.php) descubrimos 2 stores procedures que realizan aparentemente la misma funcionalidad pero el que esta actualmente en uso
(sp_carga_enc_list) no retorna los resultados esperados ya que trae duplicidad de información. El que se encuentra comentado
(sp_encuestas_pen) es el que retorna datos correctos.
Pregunta : este cambio se realizó por algo en particular, alguna prueba etc.? o podemos volver a utilizar el store procedure comentado.
Ese cambio se realizó por performance. El proceso sp_encuestas_pend hace una evaluación de la historia y actividad académica del alumno y se fija si le corresponde responder alguna encuesta a partir del alcance de la misma.
El nuevo proceso, sp_carga_enc_list, hace una consulta de la gde_encuestas_pend, buscando si esa persona tiene encuestas pendientes. Esa tabla se completa cuando se define el alcance de la encuesta y ya no se hace una evaluación cada vez que el alumno entra.
El primer proceso se torna imposible de usar si tenés muchas encuestas activas. Por eso se creo la nueva tabla y el nuevo proceso, que es mucho más simple y performante.
Te pediría que evalues las consultas del proceso sp_carga_enc_list y busques dónde te está duplicando las encuestas, a partir de la información que tienen en su base.
Guillermo, Entendemos que se haya querido solucionar el tema de la performance, pero los resultado no son correctos ya que los dos store procedure con los mismos parámetros devuelven datos distintos.
Cuando te referís a encuestas activas, cuantitativamente de cuánto estamos hablando para que empiece a perder performance?
Lo que te pedía, y es lo mismo que te pide Emilio, es que verifiques por que el proceso que debería ir, está retornando información duplicada, ya que en los test que nosotros hicimos estaba funcionando bien. Probablemente sea alguna particularidad con los datos de tu institución o algún problema que nosotros no detectamos.
Por eso la consulta es si podes ver el contenido de ese procedure y ejecutar las consultas por separado para un alumno que sepas que está devolviendo mal la información y detectar dónde está el problema: puede ser que en la tabla gde_encuestas_pend tengas los registros duplicados por ejemplo.
Esto es importante, porque aunque hayas cambiado ese proceso y ahora veas una sola encuesta para contestar, el control de encuestas pendientes continua trabajando sobre la tabal gde_encuestas_pend, que es la tabla que se agrego en la v 2.7 junto con este proceso que te está devolviendo dos registros en vez de uno.
Si podés verificar esas consultas en tu base de datos y contarnos dónde surge esa duplicación, sería ideal. Sino te pediremos si nos podés pasar tu base de datos para depurarlo nosotros.
Para procesar la encuesta y que sea visible una vez armada corremos el proceso que se llama
Registrar alumnos por alcance (gde00005) , esto habilita a los alumnos que esten encuadrados en el alcance para responder.
Despues de este proceso detectamos duplicidad de datos en la tabla gde_encuestas_pend, (Adj. archivo resultado_encuestas_pendientes.txt) .
Al correr el proceso recalcular alumnos por alcance (gde00006) dicha duplicidad se elimina, representando correctamente las encuestas que el alumno debería responder.
La duplicidad esta relacionada con una asignatura (TSC01) que es comun a todas las carrera de la universidad.
Te adjunto todos los archivos donde esta las pruebas que estamos haciendo.
42 Lic. En Ciencias Ambientales
43 Lic. En Actividad Física y Deporte
46 C.C.C. En Guiado de Viajes y Turismo
47 Lic. En Gestión Cultural
48 Lic. En Artes Audivisuales
49 Tec. En Periodismo
50 Lic. En Periodismo
51 C.C.C. En Lic. En Historia
52 Tec. En Diseño de Marcas y Envases
53 Ingeniería Informática
54 Tec. En Enfermería
55 Lic. En Enfermería
Aparentemente “uno por carrera” y le marcastes una encuesta por docente.
El punto es que en todo los alcances debes haber elegido la comisión de la materia comun y entonces a cada alumno que haya estado en esa comision lo va a mostrar para cada alcance.
Por eso se generan todas estas encuestas en lugar de generarse una por cada docente-comision.
Creo haber entendido el tema, me queda una duda porque con la aplicación gde00005 quedan datos duplicados, y cuando corremos la aplicación gde00006 queda normalizada la encuesta, como muestra los archivos que adjunte anteriormente.