<?php
header('Content-Type: application/json');
require_once __DIR__ . '/../config/db.php';
$pdo = getDBConnection();

$data = json_decode(file_get_contents('php://input'), true);

if (!$data || !isset($data['producto_id'])) {
    echo json_encode(['success' => false, 'message' => 'Datos incompletos']);
    exit;
}

try {
    $pdo->beginTransaction();
    $producto_id = (int)$data['producto_id'];
    $presentaciones = $data['presentaciones'] ?? [];

    foreach ($presentaciones as $pres) {
        $pres_id = (int)$pres['presentacion_id'];
        $margen = round((float)$pres['margen'], 2);
        $precio = round((float)$pres['precio_venta'], 2);

        $pdo->prepare("UPDATE producto_presentaciones 
            SET precio_venta = ?
            WHERE producto_id = ? AND presentacion_id = ?")
            ->execute([$precio, $producto_id, $pres_id]);
    }

    // Also update descuento_colaborador if provided
    if (isset($data['descuento_colaborador'])) {
        $desc = round((float)$data['descuento_colaborador'], 2);
        $pdo->prepare("UPDATE productos SET descuento_colaborador = ? WHERE id = ?")
            ->execute([$desc, $producto_id]);
    }

    $pdo->commit();
    echo json_encode(['success' => true, 'message' => 'Márgenes guardados correctamente']);
} catch (Exception $e) {
    if ($pdo->inTransaction()) $pdo->rollBack();
    echo json_encode(['success' => false, 'message' => 'Error: ' . $e->getMessage()]);
}
?>
