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

$response = (object)[];

if (count($input) > 0) {
    require_once __DIR__ . '/../connection/SqlServer.php';

    $db = new connection();
    $db->SERVER_11_2();

    $query = 'SELECT TOP(1) numero_documento,nombre_completo from visitas.datos_visitantes where tipo_documento = :tipo_documento and numero_documento like :documento and nombre_completo = :nombre_completo and fecha_nacimiento = :fecha_nacimiento ORDER BY fecha_registro DESC;';

    $documento = $input['documento'] . "-%";
    $fecha_nacimiento = !empty($input['fecha_nacimiento']) ? date('Y-m-d', strtotime($input['fecha_nacimiento'])) : '';
    empty($input['nombre_completo']) && $input['nombre_completo'] = "";

    $result = $db->conexion->prepare($query, [PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL]);
    $result->bindParam(':tipo_documento', $input['tipo_documento'], PDO::PARAM_STR);
    $result->bindParam(':documento', $documento, PDO::PARAM_STR);
    $result->bindParam(':nombre_completo', $input['nombre_completo'], PDO::PARAM_STR);
    $result->bindParam(':fecha_nacimiento', $fecha_nacimiento, PDO::PARAM_STR);

    try {
        $result->execute();
        $response->status = 200;

        if ($result->rowCount() > 0) {
            $data = $result->fetch(PDO::FETCH_ASSOC);
            $response->message = 'Existente';
            $response->documento = $data['numero_documento'];
            $response->nombre_completo = $data['nombre_completo'];
        } else {
            $response->message = 'Nuevo';
        }
    } catch (PDOException $e) {
        $response->status = 500;
        $response->message = $e->getMessage();
    } finally {
        $db->conexion = null;
    }
}

echo json_encode($response);
