<?php
/**
 * API: GestionPro - Buscador potente de productos agrupados por día
 */
header('Content-Type: application/json; charset=utf-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');

if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {
    http_response_code(200);
    exit;
}

require_once __DIR__ . '/config/db.php';

try {
    $pdo = getConnection();
    $query = trim($_GET['query'] ?? '');

    if (strlen($query) < 2) {
        throw new Exception("Búsqueda demasiado corta");
    }

    $searchTerm = "%$query%";
    $stmt = $pdo->prepare("
        SELECT fd.*, fi.fecha_importacion, DATE(fi.fecha_importacion) as fecha_dia,
               dp.pdf_concatenado,
               COALESCE(pm.producto_id, 0) as producto_maestro_id,
               p.CodigoInterno, p.NombreComercial as maestro_comercial, p.NombreGenerico as maestro_generico
        FROM fel_importacion_detalle fd
        JOIN fel_importaciones fi ON fd.importacion_id = fi.id
        LEFT JOIN factura_dias_pdf dp ON DATE(fi.fecha_importacion) = dp.fecha
        LEFT JOIN fel_producto_mapping pm ON fd.descripcion = pm.descripcion_factura
        LEFT JOIN productos p ON pm.producto_id = p.id
        WHERE (fd.descripcion LIKE :q1 OR fd.proveedor_nombre LIKE :q2 OR p.NombreComercial LIKE :q3 OR p.NombreGenerico LIKE :q4 OR p.CodigoInterno LIKE :q5)
        ORDER BY fi.fecha_importacion DESC
        LIMIT 100
    ");

    $stmt->execute([
        ':q1' => $searchTerm,
        ':q2' => $searchTerm,
        ':q3' => $searchTerm,
        ':q4' => $searchTerm,
        ':q5' => $searchTerm
    ]);
    
    $results = $stmt->fetchAll();
    echo json_encode(['success' => true, 'data' => $results]);
    exit;

} catch (Exception $e) {
    http_response_code(500);
    echo json_encode(['success' => false, 'error' => $e->getMessage()]);
}
