Relatório de lista de presença com plugin attendance no Moodle com comando SQL

Relatório de lista de presença com plugin attendance no Moodle com comando SQL

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

1 -Gerar lista de presença de todas as sessões e  de todos os alunos de um curso 

SELECT l.id,u.firstname,u.lastname,u.email,s.sessdate,st.description,st.grade FROM mdl_attendance_log l INNER JOIN mdl_attendance_sessions s ON l.sessionid=s.id INNER JOIN mdl_attendance_statuses st ON l.statusid=st.id INNER JOIN mdl_user u ON l.studentid =u.id INNER JOIN mdl_attendance at ON s.attendanceid=at.id WHERE at.course =?

Caso preferir formatar a data para banco MySQL execute esse comando. (É o mesmo comando que a de cima, a diferença é que traz a data formatada)

SELECT l.id,u.firstname,u.lastname,u.email, from_unixtime(s.sessdate, '%d/%m/%Y %H:%i:%s') AS sessdate,st.description,st.grade FROM mdl_attendance_log l INNER JOIN mdl_attendance_sessions s ON l.sessionid=s.id INNER JOIN mdl_attendance_statuses st ON l.statusid=st.id INNER JOIN mdl_user u ON l.studentid =u.id INNER JOIN mdl_attendance at ON s.attendanceid=at.id WHERE at.course =?

 

Passe o parâmetro id do curso em at.course =?

Para gerar lista de alunos ausentes, basta fazer o filtro st.grade = 0

2- Gerar lista de presença de um aluno

SELECT s.sessdate,st.description,st.grade FROM mdl_attendance_log l INNER JOIN mdl_attendance_sessions s ON l.sessionid=s.id INNER JOIN mdl_attendance_statuses st ON l.statusid=st.id INNER JOIN mdl_user u ON l.studentid =u.id INNER JOIN mdl_attendance at ON s.attendanceid=at.id WHERE at.course =? AND u.id=?

Passe o parâmetro id do curso em at.course =? e  id do aluno em u.id=?

3- Data da ultima presença que o aluno recebeu no curso

SELECT MAX(s.sessdate) AS sessdate FROM mdl_attendance_log l INNER JOIN mdl_attendance_sessions s ON l.sessionid=s.id INNER JOIN mdl_attendance_statuses st ON l.statusid=st.id INNER JOIN mdl_user u ON l.studentid =u.id INNER JOIN mdl_attendance at ON s.attendanceid=at.id WHERE at.course =? AND u.id=? AND st.grade >  0

Passe o parâmetro id do curso em at.course =? e  id do aluno em u.id=?