<?php // File: Controladores/ConsultaController.php require_once 'Controladores/BaseController.php'; // Reutilizamos el modelo de Asistencia require_once 'Modelos/AsistenciaModel.php'; class ConsultaController extends BaseController { private $asistenciaModel; private $empresaNombre; public function __construct() { // Verificar sesión al inicio del controlador if (!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] !== true) { $this->redirect(BASE_URL . '/index.php?url=login/index'); } $this->asistenciaModel = new AsistenciaModel(); // --- CORREGIDO: Lógica correcta para verificar la empresa en sesión --- if (!isset($_SESSION['empresa']) || empty(trim($_SESSION['empresa']))) { die("Error: El nombre de la empresa del usuario no se encontró en la sesión. Inicie sesión nuevamente."); } $this->empresaNombre = $_SESSION['empresa']; // ---------------------------------------- } // Acción principal para mostrar la tabla de consulta (GET /index.php?url=consulta/index) public function index() { // 1. Obtener la variable de la URL (ver_todos) $verTodos = isset($_GET['ver_todos']) && $_GET['ver_todos'] == '1'; // 2. Obtener parámetros de filtro desde GET $filtros = [ 'cedula' => isset($_GET['cedula']) ? trim($_GET['cedula']) : '', 'capacitacion' => isset($_GET['capacitacion']) ? trim($_GET['capacitacion']) : '', 'fecha_desde' => isset($_GET['fecha_desde']) ? trim($_GET['fecha_desde']) : '', 'fecha_hasta' => isset($_GET['fecha_hasta']) ? trim($_GET['fecha_hasta']) : '', ]; // 3. Delegar la obtención de datos al Modelo // --- CORREGIDO: Parámetros en el orden correcto --- // getRegistrosAsistencia($nombreEmpresa, $verTodos, $filtros) $registros = $this->asistenciaModel->getRegistrosAsistencia($this->empresaNombre, $verTodos, $filtros); // 4. Obtener las capacitaciones de la empresa para el dropdown del filtro $capacitaciones = $this->asistenciaModel->getCapacitaciones($this->empresaNombre); // 5. Crear el array de datos para la Vista $data = [ 'registros' => $registros, 'verTodos' => $verTodos, 'fechaConsulta' => date('d/m/Y H:i:s'), 'filtros' => $filtros, 'capacitaciones' => $capacitaciones, ]; // 6. Cargar la vista de consulta $this->view('consulta/index', $data); } }