Docentes en 3w no pueden agregar alumnos a la evaluacion

Hola
Con algunos docentes en 3w nos pasa que van a la evaluacion,
esa evaluacion esta sin alumnos, entonces van a agregar alumnnos
seleccionan alumnos de la comision → agregar, pero no pasa nada

alumnos hay y desde gestion se pueden agregar los alumnos a la evaluacion

me podes indicar mas o menos por donde revisar, ya que en los no aparece ningun error

muchas gracias
Ricardo

Hola Ricardo,
nos podrás indicar en la versión que están?, eso les sucede con diferentes docentes de una misma comisión?, o es en general algunos pueden en cierta comisión y otros no en otras comisiones?, los docentes que no pueden agregar los alumnos a la evaluación notaron alguna particularidad entre ellos?, cuando seleccionan alumnos de la comisión → agregar les muestra algún mensaje?
Saludos

hola
Me olvide de pasarte a versión, es el siu 3.21

Ayer hable un poco mas con el dto de alumnos: son pocos los docentes que generan la evaluación por su cuenta ( por lo general se hace desde gestión, en el dpto de alumnos), pero esos pocos tienen problema.

Son de distintas comisiones y cuando hacen click en agregar no da ningún error en pantalla ni en los logs de 3w. Queda todo como esta…
No se si ese error puede aparecer en los los de apache o postgres ???

Saludossss

Hola Ricardo,

Nos podrías enviar las capturas de la configuración de la evaluación y decirnos cuál es el tercer dígito de la versión para poder replicar el caso en un ambiente de esa versión. En cuanto a tu consulta sobre los logs la verdad que lo desconozco se la pasé a los técnicos en cuanto tenga una respuesta te lo comento.
Saludos

Ricardo, es probable que aparezca el error por lo que te pedimos también que nos envíes los logs de apache y postgres.

hola

dale, luego te paso un zip con toda la info

Saludossss

hola,
te adjunto lo que rescate, por que desde gestion ya les agregaron los alumnos
la version de siu es la 3.21.0
si necesitas algo mas , avisame

Saludosss
Gracias


20240912_093032___1868.log (33,9 KB)
20240912_093037___2299.log (34,6 KB)
access.log (277,3 KB)
error.log (161,0 KB)

Buen día Ricardo,

si necesitas algo mas , avisame

Sí, vamos a necesitar que nos envíes desde el módulo de autogestión ( de algún docente que tiene la dificultad), alguna comisión que el docente no puede agregar los alumnos a la evaluación, las siguientes capturas:
Cursada >> Comisiones >> Alumnos
Cursada >> Comisiones >> Evaluaciones >> Administrar Evaluaciones
Cursada >> Comisiones >> Evaluciones >> Editar
Saludos

dale, ahora pido esa info y luego te la envio

gracias

Hola
te paso el resto de las capturas

Saludossss





Hola Ricardo,
te comento que hicimos unas pruebas y está funcionando bien, con respecto a las capturas enviadas observamos que está todo bien, vamos a derivar el tema al equipo técnico para que analicen los logs.
La comisión tiene subcomisiones?
Saludos

hola!!!
No hay subcomisiones

Saludos

Gracias, cuando los técnicos puedan analizar los logs van a darte una respuesta.

Saludos

hola!!!
no se si pudieron ver algo mas???

por lo pronto continue haciendo unas pruebas mas:
si no segui mal el codigo, toda la parte de agregar los alumnos de la comision a la evaluacion termina en la funcion
function agregar_alumnos_a_evaluacion($parametros)

que esta en /proyectos/g3w3/src/siu/modelo/datos/db/carga_evaluaciones_parciales.php

para agregar a los alumnos de la comision hace

elseif ($parametros['param_alumnos'] == "'COMISION'") {
			$sql = "INSERT INTO	sga_eval_detalle (alumno, evaluacion, escala_nota)
					SELECT	sga_eval_detalle_cursadas.alumno,
							{$parametros['evaluacion']},
							{$parametros['escala_nota']}
					FROM	sga_evaluaciones,
							sga_evaluaciones as eval_comision,
							sga_evaluaciones_tipos,
							sga_eval_detalle_cursadas
					WHERE	sga_evaluaciones.evaluacion = {$parametros['evaluacion']} AND
							eval_comision.entidad = sga_evaluaciones.entidad AND
							sga_evaluaciones_tipos.evaluacion_tipo = eval_comision.evaluacion_tipo AND
							sga_evaluaciones_tipos.automatica = 'S' AND
							sga_eval_detalle_cursadas.evaluacion = eval_comision.evaluacion AND
							sga_eval_detalle_cursadas.alumno NOT IN $sql_not_exists
			";


pero ese select o retorna vacio o retorna los alumnos que ya estan en la evaluacion ( no los que faltan de la comsion)

Saludosssss

Hola Ricardo!

Te pedimos disculpas por la demora.
El equipo técnico está analizando los datos enviados para intentar encontrar por dónde viene el problema.

hola!!!

por el momento y no estoy seguro si es lo correcto, personalizamos el archivo
/g3w3/src/pers/pers_ude/modelo/datos/db/carga_evaluaciones_parciales.php
function agregar_alumnos_a_evaluacion($parametros)

nos quedo asi la funcion, que de momento anda ok
cuando se van a agregar los alumos de la comision, en lugar de buscarlos en la evaluacion ( que en nuestro caso no estan) los busca en la inscripcion de la cursada

	/**
	 * parametros: evaluacion, escala_nota, param_alumnos, alumno, subcomision, resultado, evaluacion_origen
	 * param_null: alumno, subcomision, resultado, evaluacion_origen
	 * cache: no
	 * filas: n
	 */
	function agregar_alumnos_a_evaluacion($parametros)
	{
		/*
		  La evaluacion, param_alumnos y escala_nota debe pasarse siempre.
		  param_buscar_alumnos:
		  - ALUMNO      = Inserta el alumno pasado por parámetro (alumno)
		  - COMISION    = Todos los Alumnos de la comision (comision)
		  - SUBCOMISION = Todos los Alumnos de una subcomision. Viene el dato en subcomision
		  - EVALUACION  = Alumnos de una evaluacion. Vienen los datos en evaluacion_origen y resultado
		 */
		$sql_not_exists = " (SELECT alumno FROM sga_eval_detalle WHERE evaluacion = {$parametros['evaluacion']})";
		if ($parametros['param_alumnos'] == "'ALUMNO'") {
			$sql = "INSERT INTO	sga_eval_detalle (alumno, evaluacion, escala_nota)
					VALUES ({$parametros['alumno']}, {$parametros['evaluacion']}, {$parametros['escala_nota']})";
		} elseif ($parametros['param_alumnos'] == "'COMISION'") {
			//$sql = "INSERT INTO	sga_eval_detalle (alumno, evaluacion, escala_nota)
			//		SELECT	sga_eval_detalle_cursadas.alumno,
			//				{$parametros['evaluacion']},
			//				{$parametros['escala_nota']}
			//		FROM	sga_evaluaciones,
			//				sga_evaluaciones as eval_comision,
			//				sga_evaluaciones_tipos,
			//				sga_eval_detalle_cursadas
			//		WHERE	sga_evaluaciones.evaluacion = {$parametros['evaluacion']} AND
			//				eval_comision.entidad = sga_evaluaciones.entidad AND
			//				sga_evaluaciones_tipos.evaluacion_tipo = eval_comision.evaluacion_tipo AND
			//				sga_evaluaciones_tipos.automatica = 'S' AND
			//				sga_eval_detalle_cursadas.evaluacion = eval_comision.evaluacion AND
			//				sga_eval_detalle_cursadas.alumno NOT IN $sql_not_exists
			//";
			//cambio este select asi encuentra a los alumnos de la comision
			$sql = "INSERT INTO	sga_eval_detalle (alumno, evaluacion, escala_nota)
					SELECT	sga_insc_cursada.alumno,
							{$parametros['evaluacion']},
							{$parametros['escala_nota']}
					FROM	sga_comisiones,sga_insc_cursada, sga_evaluaciones
					WHERE	sga_evaluaciones.evaluacion = {$parametros['evaluacion']} AND
							sga_comisiones.entidad  = sga_evaluaciones.entidad AND
							sga_insc_cursada.comision = sga_comisiones.comision AND
							sga_insc_cursada.alumno NOT IN $sql_not_exists
			";
			//Fin
		} elseif ($parametros['param_alumnos'] == "'SUBCOMISION'") {
			$sql = "INSERT INTO	sga_eval_detalle (alumno, evaluacion, escala_nota)
					SELECT	sga_insc_cursada.alumno,
							{$parametros['evaluacion']},
							{$parametros['escala_nota']}
					FROM	sga_insc_subcomision,
							sga_insc_cursada
					WHERE	sga_insc_subcomision.subcomision = {$parametros['subcomision']} AND
							sga_insc_cursada.inscripcion = sga_insc_subcomision.inscripcion AND
							sga_insc_cursada.estado = 'A' AND
							sga_insc_cursada.alumno NOT IN $sql_not_exists
			";
		} elseif ($parametros['param_alumnos'] == "'EVALUACION'") {
			$sql_resultado = '';
			if ($parametros['resultado'] == "'X'") {
				// Ausentes y desaprobados
				$sql_resultado = " AND sga_eval_detalle.resultado IN ('R','U') ";
			}
			if ($parametros['resultado'] == "'A'" || $parametros['resultado'] == "'R'" || $parametros['resultado'] == "'U'" ) {	
				// Aprobados, Desaprobados o Ausentes.
				$sql_resultado = " AND sga_eval_detalle.resultado = ".$parametros['resultado'];
			}
			$sql = "INSERT INTO	sga_eval_detalle (alumno, evaluacion, escala_nota)
					SELECT	sga_eval_detalle.alumno,
							{$parametros['evaluacion']},
							{$parametros['escala_nota']}
					FROM	sga_eval_detalle
					WHERE	sga_eval_detalle.evaluacion = {$parametros['evaluacion_origen']}
							$sql_resultado AND
							sga_eval_detalle.alumno NOT IN $sql_not_exists
			";
		}
		return kernel::db()->ejecutar($sql);
	}	
	

Saludosssss

Hola Ricardo, el unico problemaque tendrias alli es que si se agregaron alumnos a la comision sin una inscripcion (estos alumnos estan en sga_eval_detalle_cursadas con dato inscripto = N), no los va a recuperar para agregarlos a la evaluacion parcial.

¿Recupera alumnos la consulta siguiente?

SELECT	*
FROM	sga_evaluaciones,
sga_evaluaciones as eval_comision,
sga_evaluaciones_tipos,
sga_eval_detalle_cursadas
WHERE	sga_evaluaciones.evaluacion = <ID EVALUACION PARCIAL> AND
eval_comision.entidad = sga_evaluaciones.entidad AND
sga_evaluaciones_tipos.evaluacion_tipo = eval_comision.evaluacion_tipo AND
sga_evaluaciones_tipos.automatica = 'S' AND
sga_eval_detalle_cursadas.evaluacion = eval_comision.evaluacion

Deberian estar todos los alumnos inscriptos en la comision en la tabla sga_eval_detalle_cursadas (Siempre que no se haya aun cerrado el acta de regularidad)

hola!!
luego la pruebo y te comento

Saludossss

hola!!!
ante que nada disculpas por no responder antes!!!
te comento que venimos arrastrando otro problema con las actas: no aparecían los alumnos cuando se querían generar las actas de regulares o promoción

este problema lo consulte en foro, me pasaron una solución y se corrigió.
(en parte los alumnos no estaban en esta tabla sga_eval_detalle_cursadas o faltaban instancias de inscripciones, había un poco de lio…)

yo creo que el problema de esta consulta era por todo esto

Cualquier cosa vuelvo a consultar

Muchas Gracias!!!
Ricardo