Relatório de alunos que enviaram tarefa e o tutor não deu nota

Relatório de alunos que enviaram tarefa e o tutor não deu nota

por Lino Vaz Moniz -
Número de respostas: 0

Para montar o relatório da relação dos alunos que enviaram tarefas mas o professor não deu nota, execute no banco o seguinte comando SQL:

SELECT DISTINCT u.id, u.firstname,u.lastname,u.email,u.username, g.finalgrade,g.timecreated FROM  mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_context e  ON rs.contextid=e.id LEFT JOIN mdl_grade_items i ON e.instanceid=i.courseid LEFT JOIN mdl_grade_grades g ON (g.itemid=i.id AND u.id=g.userid)  LEFT JOIN mdl_logstore_standard_log  l ON (e.instanceid=l.courseid AND u.id=l.userid) WHERE e.instanceid=9  AND i.id=? AND g.finalgrade IS NULL AND l.component='mod_assign' AND l.contextinstanceid=? AND l.action='submitted'

 

Passe o parâmetro id do item de avaliação em i.id=?

Passe o parâmetro id do instância da atividade no contexto do curso item de avaliação em l.contextinstanceid

 O comando anterior usa como referência o registro de log. Já esse comando só verifica se o registro de nota foi criado mas vazio. Esse comando funcionou na versão 3.1 para módulo de tarefa. Em outras versões precisa ser testada. 

SELECT DISTINCT u.id, u.firstname,u.lastname,u.email,u.username, g.finalgrade AS nota, g.timecreated FROM  mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_context e  ON rs.contextid=e.id LEFT JOIN mdl_grade_items i ON e.instanceid=i.courseid LEFT JOIN mdl_grade_grades g ON (g.itemid=i.id AND u.id=g.userid) LEFT JOIN mdl_logstore_standard_log  l ON (e.instanceid=l.courseid AND u.id=l.userid) WHERE  i.id=? AND g.finalgrade IS NULL  AND g.timecreated >0

Passe o parâmetro id do item de avaliação em i.id=?

Na mesma sequência do comando anterior, esse comando mapeia total de alunos com nota e sem nota na atiivdade do tipo tarefa

SELECT i.id AS itemid, COUNT(DISTINCT u.id) AS countenrol, COUNT( DISTINCT  g.finalgrade) countgrad, COUNT(DISTINCT u.id)-COUNT( DISTINCT  g.finalgrade) AS enrolnotgraded FROM  mdl_role_assignments rs INNER JOIN mdl_user u ON u.id=rs.userid INNER JOIN mdl_context e  ON rs.contextid=e.id LEFT JOIN mdl_grade_items i ON e.instanceid=i.courseid LEFT JOIN mdl_grade_grades g ON (g.itemid=i.id AND u.id=g.userid) LEFT JOIN mdl_logstore_standard_log  l ON (e.instanceid=l.courseid AND u.id=l.userid) WHERE  e.instanceid=?  GROUP BY i.id

Passe o parâmetro id do curso  eme.instanceid=?