<?php
session_start();
$conn = new mysqli('localhost', 'yoveraes_userdb', 't7@s5FxYn1GB', 'yoveraes_botica');
$cliente = $_POST['cliente'];
$metodo = $_POST['metodo'];
$numdocumento = $_POST['numdocumento'];
$tipoCpe = $_POST['tipoCpe'];
$fecha = $_POST['FechaSunat'];
$docident = $_POST['docident'];
$total = $_POST['total'];
$productos = $_POST['productos'];
$direccion = $_POST['direcc'];
$id_user = $conn->real_escape_string($_SESSION['idusuario']);
$correo = $conn->real_escape_string($_SESSION['correo']);
date_default_timezone_set('America/Lima');
$hora_venta = date('H:i:s'); // Hora actual
// Insertar venta
$sql_venta = "INSERT INTO ventas (cliente, metodo, num_docpe, tipo_doc, id_usuario, correo, fecha, doc_ident, total,direccion,hora_vtap ) VALUES ('$cliente', '$metodo', '$numdocumento', '$tipoCpe', '$id_user', '$correo', '$fecha', '$docident', '$total', '$direccion', '$hora_venta')";
$conn->query($sql_venta);
$idventas = $conn->insert_id;
// Insertar detalle de venta y actualizar stock
foreach ($productos as $producto) {
    $id_producto = $producto['id'];
    $cantidad = $producto['cantidad'];
    $precio = floatval($producto['precio']); // Obtener precio desde AJAX
    $presentacion = isset($producto['presentacion']) ? $producto['presentacion'] : ''; // Validar clave
    // Obtener precio del producto
    $result = $conn->query("SELECT precio, existencia FROM producto WHERE codproducto = $id_producto");
    $prod = $result->fetch_assoc();
    if ($prod['existencia'] >= $cantidad) {
        $conn->query("INSERT INTO detalle_ventas (id_venta, id_producto, precio, cantidad, presentacion) VALUES ($idventas, $id_producto, $precio, $cantidad, '$presentacion')");
        $conn->query("UPDATE producto SET existencia = existencia - $cantidad WHERE codproducto = $id_producto");
    } else {
        echo json_encode(["success" => false, "message" => "Stock insuficiente para el producto con ID $id_producto."]);
        exit;
    }
    if ($tipoCpe == "B") {
        $sql4 = "UPDATE emis_doc SET Emis_doc_Num = Emis_doc_Num + 1 WHERE TpDoc_emis_doc = '03' and correo='$_SESSION[correo]' ";
    }
    if ($tipoCpe == "F") {
        $sql4 = "UPDATE emis_doc SET Emis_doc_Num = Emis_doc_Num + 1 WHERE TpDoc_emis_doc = '01' and correo='$_SESSION[correo]' ";
    }
    if ($tipoCpe == "N") {
        $sql4 = "UPDATE emis_doc SET Emis_doc_Num = Emis_doc_Num + 1 WHERE TpDoc_emis_doc = '99' and correo='$_SESSION[correo]' ";
    }
    if ($tipoCpe == "G") {
        $sql4 = "UPDATE emis_doc SET Emis_doc_Num = Emis_doc_Num + 1 WHERE TpDoc_emis_doc = '09' and correo='$_SESSION[correo]' ";
    }
    if ($tipoCpe == "P") {
        $sql4 = "UPDATE emis_doc SET Emis_doc_Num = Emis_doc_Num + 1 WHERE TpDoc_emis_doc = '98' and correo='$_SESSION[correo]' ";
    }
    $stmt = $conn->prepare($sql4);
    if ($stmt->execute()) {
    } else {
    }
    // Confirmar la transacción
    $conn->commit();
}
// Retornar respuesta al frontend
echo json_encode([
    "success" => true,
    "idventa" => $idventas,
    "tipo_pago" => $metodo,
    "tipoCpe" => $tipoCpe
]);
?>