File: /var/www/html/verificar_cohortes.php
<?php
// ==================================================
// VERIFICAR COHORTES SEGÚN MAPA DE CARGOS
// ==================================================
define('CLI_SCRIPT', true);
// Configuración de Moodle
require_once('/var/www/html/demo.sumar.com.py/config.php');
require_once($CFG->libdir . '/datalib.php');
require_once($CFG->dirroot . '/cohort/lib.php');
// ==================================================
// Mapa de Cargos -> Cohortes
// ==================================================
$mapaCohortes = [
'AU - ENCARGADO DE TESORERIA' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Administración y analistas de gestión',
'AU - CAJERO/A' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Administración y Gestión de Caja',
'AU - ASISTENTE DE MARKETING' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Administración y analistas de gestión',
'AU - ASISTENTE DE TESORERIA' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Administración y analistas de gestión',
'AU - AUXILIAR DE REPUESTOS' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Administración y analistas de gestión',
'AU - ASISTENTE ADMINISTRATIVO DE TALLER' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Administración y analistas de gestión',
'AU - COBRADOR' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Gestión de cobranzas',
'AU - AUXILIAR DE COBRANZA' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Gestión de cobranzas',
'AU - OFICIAL DE CRÉDITO' => 'EJECUTIVO ADMINISTRATIVO Y DE TALENTO - Gestión de Análisis de Créditos',
'AU - VENDEDOR DE MOTOS' => 'EJECUTIVO COMERCIAL - Motos & Scooters',
'AU - VENDEDOR DE AUTOS' => 'EJECUTIVO COMERCIAL - Automotores',
'AU - VENDEDOR DE REPUESTOS' => 'EJECUTIVO COMERCIAL - Repuestos y Autoaccesorios',
'AU - ANALISTA DE COMERCIO EXTERIOR' => 'EJECUTIVO COMERCIO EXTERIOR',
'AU - EJECUTIVO DE COMERCIO EXTERIOR' => 'EJECUTIVO COMERCIO EXTERIOR',
'AU - AUXILIAR DE LOGÍSTICA' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - CHOFER' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR DE DEPOSITO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR DE OPERACIONES' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - OPERARIO DE ENSAMBLAJE' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR DE PRODUCCION' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - CONTROL DE CALIDAD' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - PROGRAMADOR' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - DESARROLLADOR ABAP' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR ADMINISTRATIVO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - SECRETARIA' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR DE RRHH' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - ASISTENTE DE RRHH' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - ANALISTA DE RRHH' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR CONTABLE' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - CONTADOR' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUDITOR INTERNO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR DE TESORERIA' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - ANALISTA DE TESORERIA' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR DE MARKETING' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - ASISTENTE DE MARKETING' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - ANALISTA DE MARKETING' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - COORDINADOR DE MARKETING' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - GERENTE DE MARKETING' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - GERENTE DE VENTAS' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - GERENTE GENERAL' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - PRESIDENTE' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - CEO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - DIRECTOR' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - JEFE DE SUCURSAL' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - GERENTE DE SUCURSAL' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - SUBGERENTE' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - ENCARGADO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - SUPERVISOR' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - COORDINADOR' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - JEFE DE DEPARTAMENTO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - GERENTE DE DEPARTAMENTO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - DIRECTOR DE AREA' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - GERENTE DE AREA' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - VICEPRESIDENTE' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - AUXILIAR' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - ASISTENTE' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - PRACTICANTE' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - PASANTE' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - BECARIO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - APRENDIZ' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'AU - VOLUNTARIO' => 'EJECUTIVO EN GESTIÓN OPERATIVA',
'EXTRACURRICULAR' => 'EXTRACURRICULAR',
'PROGRAMA DE FORMACION LIDERES EN ACCION' => 'PROGRAMA DE FORMACIÓN LÍDERES EN ACCIÓN'
];
// ==================================================
// Verificar cohortes
// ==================================================
$cohortesNoEncontrados = [];
foreach ($mapaCohortes as $cargo => $nombreCohorte) {
$cohort = $DB->get_record('cohort', ['name' => $nombreCohorte]);
if (!$cohort) {
echo "⚠ Cohorte '$nombreCohorte' no existe en Moodle\n";
$cohortesNoEncontrados[] = $nombreCohorte;
} else {
echo "✔ Cohorte encontrada: '$nombreCohorte'\n";
}
}
// ==================================================
// Resumen final
// ==================================================
echo "\n=================================\n";
if (!empty($cohortesNoEncontrados)) {
echo "LISTA DE COHORTES NO ENCONTRADAS:\n";
echo "=================================\n";
foreach ($cohortesNoEncontrados as $c) {
echo "- $c\n";
}
echo "=================================\n";
} else {
echo "✅ Todas las cohortes del mapa existen en Moodle.\n";
}