<?php

session_start();
require '../../vendor/autoload.php';
use Mike42\Escpos\PrintConnectors\WindowsPrintConnector;
use Mike42\Escpos\CapabilityProfile;
use Mike42\Escpos\Printer;

#=================== Recibiendo datos ==================== #
require ('../../functions/ticket_nota.php');
    
    $id_nota = $_SESSION['cveNota'];
    $nota = get_nota($id_nota);

    $clasificaciones = clasificaciones($id_nota);
    $campo = get_productos_nota($id_nota);
    $no_nota = $nota[0]['CLAVE'];
    $tipo_venta = $nota[2]['ZONA'];
    $mesero = $nota[1]['NOMBRE'];
    $m=$nota[3]['MESA']; // Numero de mesa

    $productos_filtrados = filtrar_por_clasificaciones($campo, $clasificaciones[0]);
    $comensal1 = $productos_filtrados[0]['COMENSAL'];
    
    date_default_timezone_set('America/Mexico_City');
    $hoy=new DateTime();

#========================================================= #


#=================== Datos de la impresora =============== #

$name = $_POST['opcionImprComanda'];

$profile = CapabilityProfile::load("simple");
$connector = new WindowsPrintConnector("smb://CABANITA:1234@Micabanita2/BIXOLON-SRP-F312");
$printer = new Printer($connector, $profile);

#========================================================= #

foreach ($clasificaciones as $clasificacion) {
    // Configurar estilos de texto
    $printer->setJustification(Printer::JUSTIFY_CENTER);
 
    $printer->setEmphasis(true);
    $printer->setTextSize(2, 2);
    $printer->text($clasificacion. "\n");
    $printer->setEmphasis(false);
    $printer->setTextSize(1, 1);

    $printer->text("------------------------------------------");
    $printer->text(date("Y-m-d") ."  ". "NOTA:". $no_nota . "\n");
    $printer->text(date("H:i:s") . "\n");
    $printer->text("Tipo Venta:" . $tipo_venta . "  "."M:". $m . "\n");
    $printer->text("MESERO:" . $mesero . "\n");
    $printer->text("1er Comensal:" . $comensal1 . "\n");
    
    $printer->text("------------------------------------------");
    $printer->text("Cant     Descripcion  \n");

    /*----------  Detalles de la tabla  ----------*/
    
    $productos_filtrados = filtrar_por_clasificaciones($campo, $clasificacion);
    foreach ($productos_filtrados as $producto) {

        $tiempo = $producto['TIEMPO'];
        $comentario = $producto['COMENTARIO'];
        $comensal = $producto['COMENSAL'];

        $printer->text($producto['CANTIDAD'] . "   " . $producto['PRO_NOMBRE'] . "\n");
        $printer->text("Comensal:" . $comensal . "\n");
        $printer->text($comentario .  "\n");
        
        $printer->setJustification(Printer::JUSTIFY_CENTER);
        $printer->text("$tiempo   \n");

    }

    /*----------  Fin Detalles de la tabla  ----------*/

    // Cortar el papel
    $printer->cut();

    // Enviar un pulso de apertura del cajón de efectivo
    $printer->pulse();

    // Esperar un segundo para que la impresora procese la orden
    sleep(1);

}


// Cerrar la impresora
$printer->close();
?>