Obtener avance usuario por unidad

obtener_avance_usuario_unidad (id_grupo as Integer , (opcional) id_usuario as String)

El método nos permite consultar el avance general sobre un grupo para un usuario, así como el avance particular en cada una de las unidades del grupo. También nos brinda la posibilidad de obtener estos avances para todos los usuarios pertenecientes a un grupo en particular.

Devuelve: 0{id_usuario + avance total + 1{id_unidad + avance}n}n


Funcionamiento

  • Si queremos consultar el avance de un usuario para un grupo específico al que pertenece, debemos correr el WS pasandole como parámetros el 'id_usuario' de dicho usuario, junto con el 'id_grupo' del grupo en el que se quiere consultar el avance del usuario.
  • Si queremos consultar el avance de todos los usuarios para un grupo específico, debemos especificar solamente el 'id_grupo'. En este caso, el método retorna para el grupo 'id_grupo' indicado, para cada uno de los usuarios asociados al mismo:
    • el avance global en el grupo
    • el avance alcanzado en cada unidad que lo compone. Se informa cada id_unidad con el avance del usuario
  • Se retorna 100 para el caso de que la unidad no registre avance o bien el aula completa no registre avance.
  • En las aulas sin unidades retorna un avance de 0


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada obtener_avance_usuario_unidad, que indica consultar el avance para un usuario en un grupo específico:

  • Llamada:

    <aula:obtener_avance_usuario_unidad>
       <aula:id_grupo>1</aula:id_grupo>
       <aula:id_usuario>alumno</aula:id_usuario>
    </aula:obtener_avance_usuario_unidad>

En esta llamada, podemos observar que: se solicita consultar el avance para un usuario con 'id_usuario'= "alumno" en el grupo con 'id_grupo'= "1".

  • Respuesta:

<obtener_avance_usuario_unidad_response xmlns="urn:Educativa/Aula/">
       <usuarios>
          <id_usuario>alumno</id_usuario>
          <avance_total>41</avance_total>
          <unidades>
             <id_unidad>57</id_unidad>
             <avance>50</avance>
          </unidades>
          <unidades>
             <id_unidad>58</id_unidad>
             <avance>75</avance>
          </unidades>
          <unidades>
             <id_unidad>219</id_unidad>
             <avance>100</avance>
          </unidades>
          <unidades>
             <id_unidad>220</id_unidad>
             <avance>0</avance>
          </unidades>
          <unidades>
             <id_unidad>231</id_unidad>
             <avance>100</avance>
          </unidades>
          <unidades>
             <id_unidad>233</id_unidad>
             <avance>100</avance>
          </unidades>
          <unidades>
             <id_unidad>237</id_unidad>
             <avance>50</avance>
          </unidades>
          <unidades>
             <id_unidad>239</id_unidad>
             <avance>0</avance>
          </unidades>
       </usuarios>
    </obtener_avance_usuario_unidad_response>


Errores de validación


  • Educativa::Aula::Error::IdUsuarioInvalido - cuando el "id_usuario" ingresado contiene caracteres inválidos


  • Educativa::Aula::Error::UsuarioInexistente - ocurre cuando el usuario no existe en la plataforma.


  • Educativa::Aula::Error::IdGrupoInvalido - El 'id_grupo' ingresado no es integer.


  • Educativa::Aula::Error::GrupoInexistente - ocurre cuando el grupo ingresado no existe en la base de datos.


  • Educativa::Aula::Error::UsuarioInexistenteEnGrupo - ocurre cuando se intenta consultar el avance para un usuario en un grupo en el que no existe.