<?php
// Devuelve solo los colaboradores de nuevo ingreso (por ejemplo, ingresados en los últimos 30 días)
require_once __DIR__ . '/../config/database.php';
require_once __DIR__ . '/../models/Empleados.php';

header('Content-Type: application/json; charset=utf-8');

session_start();

try {
    $dbClass = new Database();
    $db = $dbClass->connect();
    $empleadosModel = new EmpleadosModel($db);

    // Obtener el departamento interno del usuario desde la sesión
    $departamentoInterno = isset($_SESSION['user_pdv']) ? $_SESSION['user_pdv'] : null;
    if (!$departamentoInterno) {
        echo json_encode([
            'success' => false,
            'message' => 'No se pudo determinar el departamento interno del usuario.'
        ]);
        exit;
    }
    $dias = 5;
    $query = "SELECT CURP, NOMBRES, `APELLIDO PATERNO`, `APELLIDO MATERNO`, `GENERO`, `PUESTO`, `FECHA DE INGRESO`
        FROM Plantilla 
        WHERE `Estatus` = 'ACTIVO' 
        AND `DEPARTAMENTO INTERNO` = :departamento 
        AND `FECHA DE INGRESO` >= DATE_SUB(CURDATE(), INTERVAL :dias DAY)
        AND CURP NOT IN (
            SELECT curp FROM HorariosAsignados
        )
        ORDER BY `FECHA DE INGRESO` DESC";
    $stmt = $db->prepare($query);
    $stmt->bindParam(':departamento', $departamentoInterno, PDO::PARAM_STR);
    $stmt->bindParam(':dias', $dias, PDO::PARAM_INT);
    $stmt->execute();
    $empleados = $stmt->fetchAll(PDO::FETCH_ASSOC);
    if (empty($empleados)) {
        echo json_encode([
            'success' => true,
            'data' => []
        ]);
    } else {
        echo json_encode([
            'success' => true,
            'data' => $empleados
        ]);
    }
} catch (Exception $e) {
    echo json_encode([
        'success' => false,
        'message' => htmlspecialchars($e->getMessage())
    ]);
}
