<?php

header("Access-Control-Allow-Origin: *");
header('Content-type: application/json; charset=utf-8');

$accion2 = $_REQUEST["accion"];
require __DIR__ . '\autoload.php';
use Mike42\Escpos\Printer;
use Mike42\Escpos\EscposImage;
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;


$usuario = "root";
$contrasena =""; 
$servidor = "localhost";
$basededatos = "turnomastermultiservicio";
$conexion = mysqli_connect($servidor, $usuario, $contrasena) or die("No se ha podido conectar al servidor de Base de datos");

$db = mysqli_select_db($conexion, $basededatos)or die("Upps! Pues va a ser que no se ha podido conectar a la base de datos");
$conn = new mysqli($servidor, $usuario, $contrasena, $basededatos);
mysqli_set_charset($conexion, 'utf8');
global $NumeroModulo;
$NumeroModulo = 11;

$fecha = DevolverUnDato("SELECT now()");
$IdSede = DevolverUnDato("SELECT IdSede FROM sedes");
$IdEmpresa = DevolverUnDato("SELECT emp_id FROM empresa");

function DevolverUnDato($query) {
    global $conexion;
    $resultado = mysqli_query($conexion, $query)or die("Algo ha ido mal en la consulta a la base de datos");
    $arreglo = mysqli_fetch_array($resultado);
    return $arreglo[0];
}

function DevolverUnArreglo($query) {
    global $conexion;

    $resultado = mysqli_query($conexion, $query)or die("Algo ha ido mal en la consulta a la base de datos");

//    array('IdCiudad' => '', 'NombreCiudad' => 'Seleccione una ciudad')
    $rawdata = array();
    while ($row = mysqli_fetch_assoc($resultado)) {
        $rawdata[] = $row;
    }
    return $rawdata;
}

if ($accion2 = "ImprimirTiket") {
    try {
        $turno2 = $_REQUEST["turno"];
        $servicio2 = $_REQUEST["servicio"];
        $NombrePaciente = $_REQUEST["nombre"];
        $data = $_REQUEST["data"];
        $Mensaje = $_REQUEST["mensaje"];
        $llamar = "";

    
    $fecha = date("Y-m-d");
    $auditorias = DevolverUnArreglo("SELECT Servicio FROM servicio WHERE servicio.IdServicio IN (SELECT IdServicio FROM tablatemporal WHERE tablatemporal.Turno = '$turno2' AND FechaLlegada between '$fecha 00:00:00' AND '$fecha 23:59:59') GROUP BY servicio.IdServicio");


        for($i=0;$i<strlen($servicio2);$i++){
            if($servicio2[$i] == " "){  
                $llamar = $llamar."%20";

            }else{
                $llamar = $llamar.$servicio2[$i];
            }

        }
        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
            $nombre_Impresora = "TURNOMASTER";
            $connector = new WindowsPrintConnector($nombre_Impresora);
            $printer = new Printer($connector);
        } else {
            $connector = new FilePrintConnector("/dev/usb/lp0");
            $printer = new Printer($connector);
        }


        $printer->setFont(Printer::FONT_C);
        $printer->setJustification(Printer::JUSTIFY_CENTER);
        $img = EscposImage::load("logoTiket.png");
        $printer->bitImage($img);
        //
        $printer->setTextSize(3, 2);
        $printer->text(" TURNO\n");
        $printer->setJustification(Printer:: JUSTIFY_CENTER);
        $printer->setEmphasis(true);
        $printer->setTextSize(3, 2);
        $printer->text("" . $turno2 . "\n");
        $printer->setTextSize(1, 1);
        //$printer->text($servicio2 . "\n");
        
        foreach ($auditorias as $value) {
            $printer->setTextSize(1, 1);
            $printer->text("" .  $value['Servicio'] . "\n");
        }
        $printer->setJustification(Printer::JUSTIFY_CENTER);
        $printer->setTextSize(1, 1);
        $printer->text(" " . $fecha . "\n");
        $printer->text("www.tecnologiaplus.com");
        $printer->feed();
        $printer->setJustification(Printer::JUSTIFY_CENTER);
        $printer->cut();
        $printer->pulse();
        $printer->close();
        $validar = array("estadoImpresion" => "Listo");
 	echo json_encode($validar, JSON_UNESCAPED_UNICODE);

    } catch (Exception $e) {
        $validar = array("estadoImpresion" => "ERROR");
        echo json_encode($validar, JSON_UNESCAPED_UNICODE);
        echo "Couldn't print to this printer: " . $e->getMessage() . "\n";
    }
}
?>
