<?php
session_start();
include('config.php');
include($rutaPhp.$rutaHtml.'/maqueta/includes.php');

include($rutaPhp.$rutaHtml.'/acceso/control.php');
include($rutaPhp.$rutaHtml.'/maqueta/arriba.php');

include($rutaPhp.$rutaHtml.'/librerias/teclado.php');
include($rutaPhp.$rutaHtml.'/librerias/calculadora.php');


include($rutaPhp.$rutaHtml.'/librerias/funciones-gs1.php');


$infoId=NULL;


if($_POST['lecturaFinal']) {

	//TrazabilidadIDS#CT##05420067721024HS52RTA17R24CDL9M99C
	
	$lecturaFinalCodificada=base64_encode($_POST['lecturaFinal']); //Esto SIEMPRE se envía codificado en base64, ya que es una pantalla nueva y un ws nuevo, todos los clientes que lo tengan estará así, NO DEPENDE DEL PARAMETRO de codificación

	$peticion='TrazabilidadIDS#'.$_SESSION['empresa'].'#'.$lecturaFinalCodificada;
	
	$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);

	if($_GET['traza']=='si') {
		echo "<p>".$peticion."</p>";
		print_r($resultado);
	}
	
	if($resultado[0]['Error']) {
	
		$valores=explode('#',$resultado[0]['Error']);

		?>
		<script>
			alert('<?php echo $valores[1]; ?>',null,'ok')
			.done(function(){
				$('#lecturaGS1').focus();
			});
		</script>
		<?php

	}
	else {
	
		$infoId=$resultado[0];
		
		$detalleContenido=arreglaArrayPXMobileProxiumResult($infoId['DetalleContenido']);
		$movimientosTrazabilidad=arreglaArrayPXMobileProxiumResult($infoId['MovimientosTrazabilidad']);
		
	}

}





?>

<h2>Trazabilidad de tabaco</h2>

<form id="formularioLectura" name="formularioLectura" method="post" action="" enctype="multipart/form-data">
  <input type="hidden" name="lecturaFinal" id="lecturaFinal" style="width:600px" value="" />
</form>

<div id="bloqueContenedor" class="bloqueContenedorGS1">

  <p>Movimientos de Id:</p>
    
<div id="bloqueLectura" class="campoOrdenPreparacionBloque">
      <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoLectura" /><input name="lecturaGS1" type="text" class="campo campoOrdenPreparacion campoLecturaGS1" id="lecturaGS1" value="<?php echo $lectura; ?>" autocomplete="off"/>
        <img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarLectura" class="campoOrdenPreparacionBorrar campoOrdenPreparacionBorrarGS1" contador="1" />
  </div>

</div>
                
<?php if($infoId) { ?>

    <table class="tablaFormateada" style="margin-top:80px">
        <tr><th colspan="2">Información de Id</th></tr>
        <tr><td align="left">Código TTT:</td><td align="left"><?php echo $infoId['CodigoTTT']; ?></td></tr>
        <tr><td align="left">Id interno:</td><td align="left"><?php echo $infoId['ID']; ?></td></tr>
    </table>
    
    <?php if(is_array($detalleContenido) && count($detalleContenido)>0) { ?>
    
    	<p>Detalle del contenido:</p>
    
    	<table class="tablaFormateada">
            <tr>
            	<th>Producto</th>
                <th>Descripción</th>
                <th>Cantidad</th>
            </tr>
            <?php foreach($detalleContenido as $detalle) { ?>
            <tr>
            	<td align="left"><?php echo $detalle['Producto']; ?></td>
                <td align="left"><?php echo $detalle['Descripcion']; ?></td>
                <td align="right"><?php echo $detalle['Cantidad']; ?></td>
            </tr>
            <?php } ?>
        </table>
    
    <?php } ?>
    
    <?php if(is_array($movimientosTrazabilidad) && count($movimientosTrazabilidad)>0) { ?>
    
    	<p>Movimientos:</p>
    
    	<table class="tablaFormateada">
            <tr>
            	<th>Fecha</th>
                <th>Hora</th>
                <th>Tipo de movimiento</th>
                <th>Nº de documento</th>
                <th>Cliente</th>
                <th>Procedencia/Destinatario</th>
            </tr>
            <?php foreach($movimientosTrazabilidad as $movimiento) { ?>
            <tr>
            	<td align="center"><?php echo $movimiento['Fecha']; ?></td>
                <td align="center"><?php echo horaNacional($movimiento['Hora']); ?></td>
                <td align="left"><?php echo $movimiento['TipoMovimiento']; ?></td>
                <td align="center"><?php echo $movimiento['NumDocumento']; ?></td>
                <td align="left"><?php echo $movimiento['Cliente']; ?></td>
                <td align="left"><?php echo $movimiento['Procedencia']; ?></td>
            </tr>
            <?php } ?>
        </table>
    
    <?php } ?>

<?php } ?>


<script>


////////////////////////////////////Procedimiento de interpretación de códigos

var lecturaScanner=new Array(); //array global para almacenar las pulsaciones de teclas obtenidas desde el scanner, cuando se comporta así (scanner externo bluetooth como teclado)
var cadenaLectura='';
var esLecturaGS1Correcta=false;

//17-01-2020 Controlamos las longitudes de las lecturas secundarias
var longitudCorrecta=0;

function reiniciaLectura(error) {
	
	lecturaScanner=new Array();
	cadenaLectura='';
	esLecturaGS1Correcta=false;
	
	if(error) {
		$('#lecturaGS1').addClass('error');
	}
	else {
		$('#lecturaGS1').removeClass('error');
		$('#lecturaFinal').val('');
		$('#lecturaGS1').val('');
	}
	
	$('#lecturaGS1').focus();
}



////////////////////////////////////





$(document).ready(function() {
	
	
	/////////////////////////////////////////////////////Gestion campo lectura ID pantalla inicial

	$('#tecladoLectura').on('click',function(){
		$('#teclado').show();
		$('#valor').val( $('#lecturaGS1').val() );
		$('#valorOculto').val( $('#lecturaGS1').val() );
		$('#enter').attr('campoValor','lecturaGS1');
		$('#enter').attr('forzarEnter','si');
	});
	
	<?php if(!$desactivaScannerBluetooth) { ?>
	
	$('#lecturaGS1').on('keydown',function(e){
	
		e.preventDefault();
		var resultado='';
		
		if(e.which==13 || e.key=='Enter') {
			$('#lecturaGS1').trigger('change');
		}
		else lecturaScanner.push( [ String.fromCharCode(e.which) , e.which , e.key ] );
	}); 
	
	<?php } ?>	
	
	$('#lecturaGS1').on('change',function(e){
		
		e.preventDefault();
		
		//Método que detecta que se ha hecho una nueva lectura.
		//tenemos que comprobar si procede del scanner o procede del teclado emergente
				


		//27-9-2021 Version ultima con escaneres integrados sin separadores

		var lecturaFinal='';

		<?php if( ($desactivaScannerBluetooth || $lecturaEspecial) && !$lecturaSinSeparadores ) { ?>
		
		console.log('TRAZA TTT 1: desactivaScannerBluetooth || lecturaEspecial || lecturaSinSeparadores');
		
		lecturaFinal=transformaLecturaManualAlFormatoScanner( $('#lecturaGS1').val() );
		
		<?php } else if($lecturaSinSeparadores) { ?>
			if( $('#lecturaGS1').val().indexOf('(')!=-1 ) { 
				lecturaFinal=transformaLecturaManualAlFormatoScanner( $('#lecturaGS1').val() );
			}
			else {
				<?php if($caracterSeparadorGs1){ ?>
				lecturaFinal=extraeBloquesSinSeparadorCaracterSeparador( $('#lecturaGS1').val() , <?php echo $caracterSeparadorGs1; ?> );
				<?php } else { ?>
				lecturaFinal=extraeBloquesSinSeparador( $('#lecturaGS1').val() );
				<?php } ?>
			}
		<?php } else { ?>
		if(lecturaScanner.length > 0) {
			lecturaFinal=limpiaLecturaDesdeScanner( lecturaScanner );
		}
		else {
			lecturaFinal=transformaLecturaManualAlFormatoScanner( $('#lecturaGS1').val() );
		}
		<?php } ?>
		
		var resultado=pintaLecturaHumana( lecturaFinal );


		
		console.log('PUNTO CONTROL TRAS PROCESO: lecturaFinal -> '+lecturaFinal+' / resultado (tras pintaLecturaHumana) -> '+resultado);
	
		if(resultado=='error')  {
			alert('Error en la lectura. Código GS1-128 no reconocido.',null,'error')
			.done(function(){
				reiniciaLectura();
			});
		}
		else if ( ! gs1ValidoConTTT(resultado) ){
			alert('Error en el código.<br>GS1-128 correcto pero que no contiene TTT válido.',null,'advertencia')
			.done(function(){
				reiniciaLectura();
			});
		}
		else {
			
			$('#lecturaGS1').val( resultado );
			$('#lecturaFinal').val( resultado );
			$('#popupCargando').show();
			$('#formularioLectura').submit();
		
		}
		
	});
			
	$('#borrarLectura').on('click',function(e){
		e.preventDefault();
		reiniciaLectura();
	});

	reiniciaLectura('<?php echo $error; ?>');

});

</script>

<?php
include($rutaPhp.$rutaHtml.'/maqueta/abajo.php');
?>
