<?php
include_once 'config/database.php';

try {
    $database = new Database();
    $conn = $database->getConnection();

    // Asegurar sesión iniciada para obtener el usuario actual
    if (session_status() === PHP_SESSION_NONE) {
        session_start();
    }

    $search = isset($_GET['search']) ? trim($_GET['search']) : '';
    $estado_filter = isset($_GET['estado']) ? trim($_GET['estado']) : '';

    $query = "SELECT codprogramacion, fecha, cod, documento, nombre, sot, direccion, distrito, plano, paquete, contacto, tipo_trabajo, estado, fecha_creacion, fecha_actualizacion 
              FROM tclientes_import 
              WHERE 1=1";
    $params = [];

    if ($search) {
        $query .= " AND (
            nombre LIKE ? OR 
            documento LIKE ? OR 
            cod LIKE ? OR
            sot LIKE ? OR
            distrito LIKE ? OR
            estado LIKE ?
        )";
        $searchTerm = "%{$search}%";
        $params = array_merge($params, [$searchTerm, $searchTerm, $searchTerm, $searchTerm, $searchTerm, $searchTerm]);
    }

    if ($estado_filter) {
        $query .= " AND estado = ?";
        $params[] = $estado_filter;
    }

    $query .= " ORDER BY fecha_creacion DESC, codprogramacion DESC";

    $stmt = $conn->prepare($query);
    $stmt->execute($params);
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

    // Headers para Excel (XLS - HTML table compatible)
    $filename = 'clientes_import_' . date('Ymd_His') . '.xls';
    header('Content-Type: application/vnd.ms-excel; charset=utf-8');
    header('Content-Disposition: attachment; filename=' . $filename);
    header('Pragma: no-cache');
    header('Expires: 0');

    // Salida como tabla HTML que Excel interpreta como XLS
    echo '<html><head><meta charset="UTF-8"></head><body>';
    echo '<table border="1">';
    
    // Encabezados
    echo '<tr style="background-color: #4CAF50; color: white; font-weight: bold;">';
    echo '<th>ID</th>';
    echo '<th>Fecha</th>';
    echo '<th>Código</th>';
    echo '<th>Documento</th>';
    echo '<th>Nombre</th>';
    echo '<th>SOT</th>';
    echo '<th>Dirección</th>';
    echo '<th>Distrito</th>';
    echo '<th>Plano</th>';
    echo '<th>Paquete</th>';
    echo '<th>Contacto</th>';
    echo '<th>Tipo Trabajo</th>';
    echo '<th>Estado</th>';
    echo '<th>Fecha Creación</th>';
    echo '<th>Fecha Actualización</th>';
    echo '</tr>';
    
    // Datos
    foreach ($rows as $row) {
        echo '<tr>';
        echo '<td>' . htmlspecialchars($row['codprogramacion']) . '</td>';
        echo '<td>' . ($row['fecha'] ? date('d/m/Y', strtotime($row['fecha'])) : '') . '</td>';
        echo '<td>' . htmlspecialchars($row['cod'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['documento'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['nombre'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['sot'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['direccion'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['distrito'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['plano'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['paquete'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['contacto'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['tipo_trabajo'] ?? '') . '</td>';
        echo '<td>' . htmlspecialchars($row['estado'] ?? '') . '</td>';
        echo '<td>' . ($row['fecha_creacion'] ? date('d/m/Y H:i', strtotime($row['fecha_creacion'])) : '') . '</td>';
        echo '<td>' . ($row['fecha_actualizacion'] ? date('d/m/Y H:i', strtotime($row['fecha_actualizacion'])) : '') . '</td>';
        echo '</tr>';
    }
    
    echo '</table>';
    echo '</body></html>';
    
} catch(Exception $e) {
    header('Content-Type: text/html; charset=utf-8');
    echo 'Error al exportar: ' . htmlspecialchars($e->getMessage());
}
?>

