obtener_notas_calificaciones
Consultar notas de calificaciones
obtener_notas_calificaciones ( (opcional) id_grupo as Integer, (opcional) id_categoria_calificacion as Integer, (opcional) id_calificacion as Integer, (opcional) tipo_calificacion as String)
El método obtiene el listado de notas para cada usuario pertenecientes a las calificaciones que resultan de los filtros aplicados mediante los parámetros de entrada especificados.
Devuelve el listado de notas de cada usuario con el siguiente formato: 0{id_categoria + nombre + descripcion + estado + (id_modulo) + id_grupo + 0{id_calificacion + nombre + (descripcion) + id_docente + fecha + rango_usuarios + tipo_calificacion +([id_evaluacion | id_actividad]) + 0{id_nota + id_usuario + fecha +(nota) + (detalles) + (observaciones)}n}n}n
Funcionamiento
- El método esta contemplado para ser invocado en todos los tipos de grupos.
- La respuesta del WS se divide en tres bloques, cada uno contenido en el anterior: categoría de calificaciones, calificaciones y notas.
- Podemos llegar a obtener solo el primero bloque como respuesta, si hay coincidencias en la categoría de calificaciones y/o grupo, pero no existen calificaciones asociadas.
- Podemos llegar a obtener los dos primeros bloques, si hay coincidencias en la categoría de calificaciones y/o grupo y/o calificaciones y/o tipo de calificación, pero no existen notas asociadas.
- Si hay coincidencias en el 'id_usuario' ingresado, indefectiblemente la respuesta contendrá notas.
- Detalles en las respuestas (en todas se supone coincidencias en el parámetro indicado):
- Si no se especifica parámetro alguno: el método retorna las notas de cada usuario para todas las calificaciones existentes en la plataforma.
- Si sólo se especifica el 'id_grupo': el método retorna las notas de cada usuario agrupadas para cada calificación contenida en cada categoría de calificaciones del grupo especificado.
- Si sólo se especifica el 'id_categoria_calificacion': el método retorna las notas de cada usuario para cada calificación contenida en la categoría de calificaciones especificada.
- Si sólo se especifica el 'id_calificacion': el método retorna las notas de cada usuario para la calificación especificada.
- Si sólo se especifica el 'tipo_calificacion': el método retorna las notas de cada usuario agrupadas para cada calificación del tipo especificado contenida en cada categoría de calificaciones existente.
- 'tipo_calificacion': puede tomar los valores MANUAL, ACTIVIDAD o AUTOEVALUACION.
- Si solo se especifica el 'id_usuario': devuelve todas las notas para ese usuario existentes en la plataforma.
- Filtros conjuntos permitidos: todos los parámetros pueden ser combinados.
- En el caso de que la combinación de parámetros no produzca resultados, la respuesta será vacía.
- Tener en cuenta que hay ciertas combinaciones que pueden llegar a ser inútiles, esto es en el caso de especificar atributos más específicos como 'id_calificación' en conjunto con atributos como 'id_grupo' o 'id_categoria_calificacion', en este caso el 'id_calificación' ya identificaría unívocamente a la calificación sin la necesidad de los demás parámetros, pero al haberlos especificados si no hay coincidencia entre los 3 , el resultado será vacío.
Ejemplo de Respuesta
Ejemplo de respuesta de la llamada obtener_notas_calificaciones pasando 'id_grupo'="66", que solicita las notas de los usuarios para cada calificación dentro de las categorías de calificaciones en el grupo 66.
<categorias>
<id_categoria_calificacion>24</id_categoria_calificacion>
<nombre>Categoría de Calificación Unidad 1</nombre>
<descripcion>Evolución de Sistemas Informáticos</descripcion>
<estado>true</estado>
<id_modulo>1</id_modulo>
<id_grupo>66</id_grupo>
<calificaciones>
<id_calificacion>18</id_calificacion>
<nombre>Sistemas de primera generación</nombre>
<descripcion>Conocimientos de sistemas</descripcion>
<id_docente>id_profesor</id_docente>
<fecha>2010-05-18T08:20:57-03:00</fecha>
<rango_usuarios>GRUPO</rango_usuarios>
<tipo_calificacion>AUTOEVALUACION</tipo_calificacion>
<id_evaluacion>34</id_evaluacion>
<notas>
<id_nota>18</id_nota>
<id_usuario>alumno1</id_usuario>
<fecha>2010-07-11T00:00:00</fecha>
<nota>20/100</nota>
<detalles></detalles>
<observaciones></observaciones>
</notas>
<notas>
<id_nota>99</id_nota>
<id_usuario>alumno1</id_usuario>
<fecha>2011-11-18T08:20:57-03:00</fecha>
<nota>78/100</nota>
<detalles/></detalles>
<observaciones/></observaciones>
</notas>
<notas>
<id_nota>50</id_nota>
<id_usuario>alumno2</id_usuario>
<fecha>2010-08-11T11:00:00</fecha>
<nota>90/100</nota>
<detalles/></detalles>
<observaciones/></observaciones>
</notas>
</calificaciones>
<calificaciones>
<id_calificacion>2800467</id_calificacion>
<nombre>Composición sobre la vida</nombre>
<descripcion/>
<id_docente>lsilveira</id_docente>
<fecha>2009-11-17T06:02:49-03:00</fecha>
<rango_usuarios>GRUPO</rango_usuarios>
<tipo_calificacion>ACTIVIDAD</tipo_calificacion>
<id_actividad>59</id_actividad>
<notas>
<id_nota>52</id_nota>
<id_usuario>lsilveira</id_usuario>
<fecha>2009-11-17T06:02:49-03:00</fecha>
<nota>Aprobada</nota>
<detalles/></detalles>
<observaciones/></observaciones>
</notas>
</calificaciones>
</categorias>
En esta respuesta, podemos observar que:
- existe una sola categoría de calificaciones en el grupo 66, llamada "Categoría de Calificación Unidad 1". La misma corresponde al 'id_modulo' 1 (es decir a la unidad 1)
- esta categoría contiene 2 calificaciones cuyo 'tipo_calificacion' nos indica que una está asociada a (es el resultado de) una evaluación con 'id_evaluacion' 34 y la otra está asociada a (es el resultado de) una actividad con 'id_actividad' 59
- los usuarios que poseen notas en la primer calificación son alumno1 y alumno2. El alumno1 posee 2 notas, debido a que realizó 2 veces la evaluación: la que posee mayor fecha es la que se muestra en evaluaciones. Esto ocurre porque la realización de la evaluación asociada fue liberada la primer vez.
- el usuario que posee nota en la segunda calificación es "lsilveira", aprobando la actividad.
Errores de validación
- Educativa::Aula::Error::GrupoInexistente - ocurre cuando se intenta consultar las notas de un grupo no existente en la plataforma.
- Educativa::Aula::Error::TipoCalificacionInvalida - cuando el 'tipo_calificacion' ingresado no es válido.