HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.0.30
System: Linux multiplicar 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64
User: root (0)
PHP: 8.0.30
Disabled: NONE
Upload Files
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";
}