<?php
// ? Errores (quitar en produccion)
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// ? CORS y Headers
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: Content-Type");
header("Access-Control-Allow-Methods: POST, OPTIONS");
header("Content-Type: application/json; charset=utf-8");

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

// ? Conexion
require_once(__DIR__ . '/../config.php');
 $mysqli->set_charset("utf8mb4");

// ? JSON
 $input = json_decode(file_get_contents('php://input'), true);
if (!$input) { 
    echo json_encode(['success'=>false,'message'=>'JSON invalido']); 
    exit; 
}

// --- VALIDACION DE PARAMETROS ---
 $slug_tienda = isset($input['slug_tienda']) ? trim($input['slug_tienda']) : '';
 $nota_id = isset($input['nota_id']) ? (int)$input['nota_id'] : 0;

if (!$slug_tienda || !$nota_id) {
    echo json_encode(['success' => false, 'message' => 'Parametros invalidos.']);
    exit;
}

try {
    // 1. Obtener datos del encabezado de la nota de credito
    $stmt_nota = $mysqli->prepare("
        SELECT nc.*, f.numero_factura, f.cliente_nombre, f.cliente_documento
        FROM notas_credito nc
        JOIN facturas f ON nc.factura_id_relacionada = f.id
        WHERE nc.id = ? AND nc.slug_tienda = ?
    ");
    $stmt_nota->bind_param("is", $nota_id, $slug_tienda);
    $stmt_nota->execute();
    $nota = $stmt_nota->get_result()->fetch_assoc();
    $stmt_nota->close();

    if (!$nota) {
        http_response_code(404);
        echo json_encode(['success'=>false,'message'=>'Nota de credito no encontrada.']);
        exit;
    }

    // 2. Obtener los detalles (productos) de la nota
    $stmt_detalles = $mysqli->prepare("
        SELECT ncd.*, a.titulo as articulo_titulo
        FROM nota_credito_detalles ncd
        LEFT JOIN articulos a ON ncd.articulo_id = a.id COLLATE utf8mb4_unicode_ci
        WHERE ncd.nota_credito_id = ?
    ");
    $stmt_detalles->bind_param("i", $nota_id);
    $stmt_detalles->execute();
    $detalles = $stmt_detalles->get_result()->fetch_all(MYSQLI_ASSOC);
    $stmt_detalles->close();
    
    echo json_encode([
        'success' => true, 
        'nota' => $nota,
        'detalles' => $detalles
    ]);
    
} catch (Exception $e) {
    http_response_code(500);
    echo json_encode(['success'=>false,'message'=>$e->getMessage()]);
} finally {
    if (isset($mysqli) && $mysqli) { $mysqli->close(); }
}
?>