Reportes y correo de finalización

Reportes y correo de finalización

de Javier Yáñez -
Número de respuestas: 1

Estimados, mi problema es acerca de como confeccionar un reporte que me diga, según cierta periodicidad, cual es el avance de los alumnos que tengo en los diversos cursos. Por ejemplo, que todos los fines de mes me llegue un correo o que yo pueda descargar algún archivo que me diga si mis alumnos avanzaron 3, 4 o 5 actividades.

Y lo otro es que no logro encontrar alguna opción que me deje enviar un correo automático a los alumnos al momento de finalizar cada curso ¿Existe esa opción?

Promedio de valoraciones: -
En respuesta a Javier Yáñez

Re: Reportes y correo de finalización

de Josué López -
si tienes acceso a tu base de datos puedes usar algo como esto:

SELECT
u.id user_id,
#u.username AS 'User',
CONCAT(u.firstname,' ',u.lastname)user_name,
c.id course_id,
c.shortname AS course_name,
c.fullname fullname,
m.name AS Activitytype,
cm.module ActivityType_id,
cm.instance,
CASE
WHEN cm.module = 1 THEN (SELECT a1.name FROM moodle.mdl_assign a1 WHERE a1.id = cm.instance)
WHEN cm.module = 2 THEN (SELECT a2.name FROM moodle.mdl_assignment a2 WHERE a2.id = cm.instance)
WHEN cm.module = 3 THEN (SELECT a3.name FROM moodle.mdl_book a3 WHERE a3.id = cm.instance)
WHEN cm.module = 4 THEN (SELECT a4.name FROM moodle.mdl_chat a4 WHERE a4.id = cm.instance)
WHEN cm.module = 5 THEN (SELECT a5.name FROM moodle.mdl_choice a5 WHERE a5.id = cm.instance)
WHEN cm.module = 6 THEN (SELECT a6.name FROM moodle.mdl_data a6 WHERE a6.id = cm.instance)
WHEN cm.module = 7 THEN (SELECT a7.name FROM moodle.mdl_feedback a7 WHERE a7.id = cm.instance)
WHEN cm.module = 8 THEN (SELECT a8.name FROM moodle.mdl_folder a8 WHERE a8.id = cm.instance)
WHEN cm.module = 9 THEN (SELECT a9.name FROM moodle.mdl_forum a9 WHERE a9.id = cm.instance)
WHEN cm.module = 10 THEN (SELECT a10.name FROM moodle.mdl_glossary a10 WHERE a10.id = cm.instance)
WHEN cm.module = 11 THEN (SELECT a11.name FROM moodle.mdl_imscp a11 WHERE a11.id = cm.instance)
WHEN cm.module = 12 THEN (SELECT a12.name FROM moodle.mdl_label a12 WHERE a12.id = cm.instance)
WHEN cm.module = 13 THEN (SELECT a13.name FROM moodle.mdl_lesson a13 WHERE a13.id = cm.instance)
WHEN cm.module = 14 THEN (SELECT a14.name FROM moodle.mdl_lti a14 WHERE a14.id = cm.instance)
WHEN cm.module = 15 THEN (SELECT a15.name FROM moodle.mdl_page a15 WHERE a15.id = cm.instance)
WHEN cm.module = 16 THEN (SELECT a16.name FROM moodle.mdl_quiz a16 WHERE a16.id = cm.instance)
WHEN cm.module = 17 THEN (SELECT a17.name FROM moodle.mdl_resource a17 WHERE a17.id = cm.instance)
WHEN cm.module = 18 THEN (SELECT a18.name FROM moodle.mdl_scorm a18 WHERE a18.id = cm.instance)
WHEN cm.module = 19 THEN (SELECT a19.name FROM moodle.mdl_survey a19 WHERE a19.id = cm.instance)
WHEN cm.module = 20 THEN (SELECT a20.name FROM moodle.mdl_url a20 WHERE a20.id = cm.instance)
WHEN cm.module = 21 THEN (SELECT a21.name FROM moodle.mdl_wiki a21 WHERE a21.id = cm.instance)
WHEN cm.module = 22 THEN (SELECT a22.name FROM moodle.mdl_workshop a22 WHERE a22.id = cm.instance)
WHEN cm.module = 24 THEN (SELECT a23.name FROM moodle.mdl_customcert a23 WHERE a23.id = cm.instance)
END AS Activityname,
# cm.section AS Coursesection,
CASE
WHEN cm.completion = 0 THEN '0 None'
WHEN cm.completion = 1 THEN '1 Self'
WHEN cm.completion = 2 THEN '2 Auto'
END AS Activtycompletiontype,
CASE
WHEN cmc.completionstate = 0 THEN 'In Progress'
WHEN cmc.completionstate = 1 THEN 'Completed'
WHEN cmc.completionstate = 2 THEN 'Completed with Pass'
WHEN cmc.completionstate = 3 THEN 'Completed with Fail'
ELSE 'Unknown'
END AS 'Progress',
cmc.completionstate,
DATE_FORMAT(FROM_UNIXTIME(cmc.timemodified), '%Y-%m-%d %H:%i:%s') AS 'When',
EXTRACT(DAY FROM FROM_UNIXTIME(cmc.timemodified) )day,
DATE_FORMAT(FROM_UNIXTIME(cmc.timemodified),'%M')month,
EXTRACT(YEAR FROM FROM_UNIXTIME(cmc.timemodified))year,
MONTH(FROM_UNIXTIME(cmc.timemodified))month_id
FROM moodle.mdl_course_modules_completion cmc
JOIN moodle.mdl_user u ON cmc.userid = u.id
JOIN moodle.mdl_course_modules cm ON cmc.coursemoduleid = cm.id
JOIN moodle.mdl_course c ON cm.course = c.id
JOIN moodle.mdl_modules m ON cm.module = m.id
# skip the predefined admin AND guest USER
WHERE u.id > 2
ORDER BY u.username, c.shortname, cmc.timemodified