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