<?php
header('Content-Type: application/json; charset=utf-8');
$input = json_decode(file_get_contents('php://input'), true);

$response = (object)[];

if (count($input) > 0) {
    require_once __DIR__ . '/../connection/SqlServer.php';
    require_once __DIR__ . '/parameters.php';
    $db = new connection();
    $db->SERVER_11_2();

    $respuesta = null;
    $fecha_nacimiento = !empty($input['fecha_nacimiento']) ? date('Y-m-d', strtotime($input['fecha_nacimiento'])) : null;
    $ipEquipo = getIp();

    $query = 'EXEC visitas.sp_guardar_visita :tipo_documento,:documento,:nombre_completo,:direccion,:fecha_nacimiento,:sucursal,:cluster,:poligono,:casa,:motivo,:ip,:response;';
    $result = $db->conexion->prepare($query, [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]);
    $result->bindParam(':tipo_documento', $input['tipo_documento'], PDO::PARAM_STR);
    $result->bindParam(':documento', $input['documento'], PDO::PARAM_STR);
    $result->bindParam(':nombre_completo', $input['nombre_completo'], PDO::PARAM_STR);
    $result->bindParam(':direccion', $input['direccion'], PDO::PARAM_STR);
    $result->bindParam(':fecha_nacimiento', $fecha_nacimiento, PDO::PARAM_STR);
    $result->bindParam(':sucursal', $input['sucursal'], PDO::PARAM_INT);
    $result->bindParam(':cluster', $input['cluster'], PDO::PARAM_INT);
    $result->bindParam(':poligono', $input['poligono'], PDO::PARAM_STR);
    $result->bindParam(':casa', $input['casa'], PDO::PARAM_STR);
    $result->bindParam(':motivo', $input['motivo'], PDO::PARAM_STR);
    $result->bindParam(':ip', $ipEquipo, PDO::PARAM_STR);
    $result->bindParam(':response', $respuesta, PDO::PARAM_STR | PDO::PARAM_INPUT_OUTPUT, 4000);

    try {
        $result->execute();
        $response->status = 200;
        $response->message = $respuesta;
    } catch (PDOException $e) {
        $response->status = 500;
        $response->message = $e->getMessage();
    } finally {
        $db->conexion = null;
    }
}

echo json_encode($response);
