<?php
session_start();
include_once('../config.php');
include($rutaPhp.$rutaHtml.'/maqueta/includes.php');
//include_once($rutaPhp.$rutaHtml.'/librerias/funciones-gs1.php');

if($_POST['lectura']) $lectura=$_POST['lectura']; else $lectura=$_GET['lectura'];
if($_POST['lecturaEspecialCliente']) $lecturaEspecialCliente=$_POST['lecturaEspecialCliente']; else $lecturaEspecialCliente=$_GET['lecturaEspecialCliente'];

if($lectura) {

	unset($_SESSION['lecturasTemporalesGS1']);

	if($lecturaEspecialCliente) {
	
		//echo '<p>Lectura: '.$lectura.'</p>';
	
		if( $codigosEspeciales[$lecturaEspecialCliente]['separador'] || $codigosEspeciales[$lecturaEspecialCliente]['separador'] ) {
	
			$valores=explode($codigosEspeciales[$lecturaEspecialCliente]['separador'],$lectura);
			
			//Si no ha encontrado trozos con ese separador, prueba con el alternativo
			if(count($valores)<=1) $valores=explode($codigosEspeciales[$lecturaEspecialCliente]['separadoralternativo'],$lectura);
			
			$contador=0;
			
			foreach( $codigosEspeciales[$lecturaEspecialCliente]['datos'] as $dato) {
				$_SESSION['lecturasTemporalesGS1'][$dato] = $valores[$contador];
				$contador++;
			}
			
		}
		else {
		
			//23-12-2021 Nuevo caso con datos de longitud fija
			
			$posicion=0;
			
			foreach( $codigosEspeciales[$lecturaEspecialCliente]['datos'] as $clave=>$valor) {
			
				$longitud=$codigosEspeciales[$lecturaEspecialCliente]['longitudes'][$clave];
				
				if(!is_array($longitud)) {
					$_SESSION['lecturasTemporalesGS1'][$valor]=substr($lectura,$posicion,$longitud);
					$posicion=+$longitud;
				}
				else { //18-5-2022 nuevo caso, no son datos consecutivos, sino que pueden superponerse (cliente Betapack  de Transbidasoa)
					$_SESSION['lecturasTemporalesGS1'][$valor]=substr($lectura,$longitud[0],$longitud[1]);
				}

			}
		
		}
		
		//print_r($_SESSION['lecturasTemporalesGS1']);
	
	}
	else {

		//echo "<p>Lecturas GS1-128: ".$lectura."</p>";
	
		//27-12-2019
		//Miramos si la cadena resultante tiene paréntesis
		
		if( strpos($lectura,'(')!==false && strpos($lectura,')')!==false  ) {
	
			$bloques=explode('(',$lectura);
			
			foreach($bloques as $bloque) {
			
				$temp=explode(')',$bloque);
				$identificador=$temp[0];
				$valor=$temp[1];
				
				//echo "<p>Identificador: ".$identificador." / Valor: ".$valor."</p>";
				
				$_SESSION['lecturasTotales'][$identificador]=$valor;
				
				switch($identificador) {
					case '00':
						$_SESSION['lecturasTemporalesGS1']['paletCliente']=$valor;
						break;
					case '01':
					case '02':
						$_SESSION['lecturasTemporalesGS1']['eanDun']=$valor;
						break;
					case '240':
						$_SESSION['lecturasTemporalesGS1']['codigo']=$valor;
						break;
					case '10':
						$_SESSION['lecturasTemporalesGS1']['lote']=$valor;
						break;
					case '15':
					case '17':
						$_SESSION['lecturasTemporalesGS1']['fechaCaducidad']=formateaGS1($valor,'fecha',NULL);
						break;
					case '37':
						$_SESSION['lecturasTemporalesGS1']['cantidad']=(int)$valor;
						break;
				}
				
				if( substr($identificador,0,3)=='310' && $valor>0) {
					$decimales=substr($identificador,-1);
					$_SESSION['lecturasTemporalesGS1']['pesoNeto']=formateaGS1($valor,'numero',$decimales);
				}
			
			}
			
		}
		
	}
	
	//print_r($_SESSION['lecturasTemporalesGS1']);
	
	foreach($_SESSION['lecturasTemporalesGS1'] as $campo=>$valor) {
		echo $campo.';'.$valor.'@';
	}

}

?>