<?php
include '../includes/session_control.php';
include '../db/db.php';

$idUsuario = $_POST['idUsuario'];
$idTercero = !empty($_POST['idTercero']) ? $_POST['idTercero'] : NULL;
$idFacturacion = !empty($_POST['idFacturacion']) ? $_POST['idFacturacion'] : NULL;
$observaciones = $_POST['observaciones'];

// Preparar la consulta
$sql = "INSERT INTO tb_cotizaciones (idUsuario, idUsuarioDireccion, idUsuarioFacturacion, idEstado, idTipo, fechaCreacion, observaciones) VALUES (?, ?, ?, 1, 1, NOW(), ?)";
$stmt = $conn->prepare($sql);

// Verificar y asignar los parámetros, manejando NULL adecuadamente
if ($idTercero === NULL && $idFacturacion === NULL) {
    $stmt->bind_param("iiss", $idUsuario, $idTercero, $idFacturacion, $observaciones);
} elseif ($idTercero === NULL) {
    $stmt->bind_param("iiss", $idUsuario, $idTercero, $idFacturacion, $observaciones);
} elseif ($idFacturacion === NULL) {
    $stmt->bind_param("iiss", $idUsuario, $idTercero, $idFacturacion, $observaciones);
} else {
    $stmt->bind_param("iiis", $idUsuario, $idTercero, $idFacturacion, $observaciones);
}

// Ejecutar la consulta
$stmt->execute();
$cotizacionId = $stmt->insert_id;

// Consulta para obtener los detalles de la cotización
$sql = "SELECT tb_usuarios.nombre, tb_usuarios.apellido, tb_usuarios.email, tb_usuarios_direcciones.direccion, tb_usuarios_direcciones.direccionLinea2, tb_usuarios.telefono, tb_ciudades.nombre AS Ciudad, tb_departamentos.nombre AS Departamento, tb_cotizaciones.fechaCreacion
        FROM ((tb_cotizaciones 
        INNER JOIN tb_usuarios ON tb_cotizaciones.idUsuario = tb_usuarios.id) 
        LEFT JOIN tb_usuarios_direcciones ON tb_cotizaciones.idUsuarioDireccion = tb_usuarios_direcciones.id) 
        LEFT JOIN (tb_ciudades LEFT JOIN tb_departamentos ON tb_ciudades.idDepartamento = tb_departamentos.id) 
        ON tb_usuarios.idCiudad = tb_ciudades.id
        WHERE tb_cotizaciones.id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $cotizacionId);
$stmt->execute();
$result = $stmt->get_result();
$cotizacion = $result->fetch_assoc();

echo json_encode([
    'cotizacionId' => $cotizacionId,
    'cotizacion' => $cotizacion
]);

$conn->close();
?>
