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

$traza=($_GET['traza']=='si');

if($_POST['accion']) $accion=$_POST['accion']; else $accion=$_GET['accion'];
if($_POST['id']) $id=$_POST['id']; else $id=$_GET['id'];
if($_POST['precinta']) $precinta=$_POST['precinta']; else $precinta=$_GET['precinta'];

$id=base64_decode($id);

if($traza) {
	echo '<p>accion: '.$accion.'</p>';
	echo '<p>id: '.$id.'</p>';
	echo '<p>precinta: '.$precinta.'</p>';
}

switch($accion) {

	case 'listado':
		
		if(is_array($_SESSION['lecturas']) && count($_SESSION['lecturas'])>0) {
		
			?><p>Resumen de lecturas actuales para enviar a Proxium:</p><?php
		
			
			if($_POST['formatoLecturasCiegas']) {

				?>
				<table class="tablaFormateada" >
					<tr>
                    	<th></th>
						<th>Id</th>
					</tr>
					<?php foreach($_SESSION['lecturas'] as $lectura) { ?>
					<tr <?php if(is_array($_SESSION['errores']) && in_array($lectura['CodigoEscaneado'],$_SESSION['errores'])) { ?>class="rojo"<?php } ?>>
						<td><img src="<?php echo DIR_IMAGENES; ?>/x.png" width="50" height="50" class="cancelarLectura clicable" lectura="<?php echo base64_encode($lectura['CodigoEscaneado']); ?>" /></td>
						<td align="left"><?php echo formateaTTT($lectura['CodigoEscaneado']); ?></td>
					</tr>
                    <?php } ?>
                </table>
                <br />
				<?php

			}
			else {
		
				$productosUnicos=array();
				foreach($_SESSION['lecturas'] as $lectura) if(is_array($productosUnicos) && !in_array($lectura['Producto'],$productosUnicos)) $productosUnicos[]=$lectura['Producto'];
			
				foreach($productosUnicos as $productoUnico) {
					$total=0;
					$contador=0;
					?>
					<table class="tablaFormateada" >
					<tr>
						<th></th>
						<th>Código</th>
						<th>Descripción</th>
						<th>Precinta</th>
						<th>Id</th>
						<th>Formato</th>
						<th>Cantidad</th>
					</tr>
					<?php foreach($_SESSION['lecturas'] as $lectura) { ?>
					<?php if($lectura['Producto']==$productoUnico) { ?>
					<tr <?php if(is_array($_SESSION['errores']) && in_array($lectura['CodigoEscaneado'],$_SESSION['errores'])) { ?>class="rojo"<?php } ?>>
						<td><img src="<?php echo DIR_IMAGENES; ?>/x.png" width="50" height="50" class="cancelarLectura clicable" lectura="<?php echo base64_encode($lectura['CodigoEscaneado']); ?>" /></td>
						<td><?php echo $lectura['Producto']; ?></td>
						<td><?php echo $lectura['Descripcion']; ?></td>
						<td align="center"><?php echo $lectura['Precinta']; ?></td>
						<td align="left"><?php echo formateaTTT($lectura['CodigoEscaneado']); ?></td>
						<td>
						<?php
								$arrayTemp=unserialize(FORMATOS_TRAZABILIDAD);
								echo $arrayTemp[$lectura['Formato']];
						?>					</td>
						<td align="right"><?php echo $lectura['Cantidad']; ?></td>
					</tr>
					<?php $total+=(int)$lectura['Cantidad']; ?>
					<?php $contador++; ?>
					<?php } ?>
					<?php } ?>
					<tr>
						<td colspan="6" align="right">Lecturas actuales:</td>
						<td align="right"><strong><?php echo $contador; ?></strong></td>
					</tr>
					<tr>
						<td colspan="6" align="right">Total cantidad actual:</td>
						<td align="right"><strong><?php echo $total; ?></strong></td>
					</tr>
					</table>
					<br />
					<?php
					
				} //Fin foreach codigos unicos
			
			}

		}
		
		break;

	case 'contar':
	
		if(is_array($_SESSION['lecturas'])) echo count($_SESSION['lecturas']);
		break;
		
	
	case 'evaluarcantidad':
		
		$cantidadTotalProducto=0;	
		$cantidadALeer=0;
		
		$cantidadLeida=0;
		$cantidadPreparadaParaLeer=0;
		
		//Buscamos el producto
		foreach($_SESSION['productos'] as $producto) {
		
			if($producto['Precinta']==$precinta) {
		
				foreach(arreglaArrayPXMobileProxiumResult($producto['IDsDisponibles']) as $item) {
					if(htmlspecialchars_decode($item['CodigoEscaneado'])==$id) {
						$productoEncontrado=$producto;
						$cantidadTotalProducto=$producto['Cantidad'];
						$cantidadALeer=$item['Cantidad'];
						break;
					}
				}
				
			}
			
		}
		
		if($traza) {
			echo "<p>Cantidad total producto solicitada: ".$cantidadTotalProducto."</p>";
			echo "<p>Cantidad a leer con este id: ".$cantidadALeer."</p>";
		}
		
		foreach(arreglaArrayPXMobileProxiumResult($productoEncontrado['IDsLeidos']) as $item) {
			$cantidadLeida+=$item['Cantidad'];
		}
		
		if($traza) {
			echo "<p>Cantidad ya leida: ".$cantidadLeida."</p>";
		}
		
		foreach($_SESSION['lecturas'] as $item) {
			if($item['Precinta']==$precinta) {
				$cantidadPreparadaParaLeer+=$item['Cantidad'];
			}
		}
		
		if($traza) {
			$cantDisponibleLeer=$cantidadTotalProducto-$cantidadLeida-$cantidadPreparadaParaLeer;
			echo "<p>Cantidad preparada para leer: ".$cantidadPreparadaParaLeer."</p>";
			echo "<p>Cantidad disponible por leer: ".$cantDisponibleLeer."</p>";
		}
		
		$cantidadPendiente=$cantidadTotalProducto-$cantidadLeida-$cantidadPreparadaParaLeer;
		
		if($traza) {
			echo "<p>cantidadALeer: ".$cantidadALeer."</p>";
			echo "<p>cantidadPendiente: ".$cantidadPendiente."</p>";
		}
		
		if( $cantidadALeer <= $cantidadPendiente ) echo 0;
		else echo $cantidadALeer.'#'.$cantidadTotalProducto.'#'.$cantidadPendiente;
		
		break;
		

	case 'leidos':
	
		$leidos='';
		foreach($_SESSION['lecturas'] as $lectura) $leidos.=$lectura['CodigoEscaneado'].',';
		echo $leidos;
		break;
		
	case 'comprobar':
	
		if($traza) {
			echo '<p>Lecturas:</p>';
			print_r($_SESSION['lecturas']);
		}
		
		$encontrada=false;
		foreach($_SESSION['lecturas'] as $lectura) if($lectura['CodigoEscaneado']==$id) $encontrada=true;
		
		if($traza) {
			echo '<p>Encontrada entre las lecturas: '.$encontrada.'</p>';
		}
		
		foreach($_SESSION['productos'] as $producto) {
			
			foreach(arreglaArrayPXMobileProxiumResult($producto['IDsLeidos']) as $item) {
				if(htmlspecialchars_decode($item['CodigoEscaneado'])==$id) $encontrada=true;
			}
		}
		
		if($traza) {
			echo '<p>Encontrada entre los productos y lo leido: '.$encontrada.'</p>';
		}
		
		if($encontrada) echo 0;
		else echo 1;
		
		break;
		
	case 'disponibilidad':
	
		$encontrado=false;
		$cuantosEncontrados=0;
		$precinta='';
		
		foreach($_SESSION['productos'] as $producto) {
			foreach(arreglaArrayPXMobileProxiumResult($producto['IDsDisponibles']) as $item) {
			
				if(htmlspecialchars_decode($item['CodigoEscaneado'])==$id) { //Algunos caracteres especiales se "escapan" para que los interprete html, como los ampersand & y no debería, porque no los encuentra
					$encontrado=true;
					$precinta=$producto['Precinta'];
					$cuantosEncontrados++;
				}
			}
		}
		
		if($encontrado) echo $cuantosEncontrados.'#'.$precinta;
		else echo '0';
		
		break;
	
	case 'leer':
		
		//unset($productoEncontrado);
		//unset($lecturaEncontrada);
		
		if($_POST['formatoLecturasCiegas']) {
		
			$_SESSION['lecturas'][]=array('CodigoEscaneado'=>$id,'Precinta'=>$precinta);
		
		}
		else {
		
			foreach($_SESSION['productos'] as $producto) {
			
				if( $producto['Precinta']==$precinta ) {
			
					foreach(arreglaArrayPXMobileProxiumResult($producto['IDsDisponibles']) as $item) {
						if(htmlspecialchars_decode($item['CodigoEscaneado'])==$id) {
							//$productoEncontrado=$producto;
							$lecturaEncontrada=$item;
							$_SESSION['lecturas'][]=array('Producto'=>$producto['Producto'],'Descripcion'=>$producto['Descripcion'],'CodigoEscaneado'=>$id,'Formato'=>$lecturaEncontrada['Formato'],'Cantidad'=>$lecturaEncontrada['Cantidad'],'Precinta'=>$precinta);
						}
					}
					
				}
				
			}
		
		}
		
		//$_SESSION['lecturas'][]=array('Producto'=>$producto['Producto'],'Descripcion'=>$producto['Descripcion'],'CodigoEscaneado'=>$id,'Formato'=>$lecturaEncontrada['Formato'],'Cantidad'=>$lecturaEncontrada['Cantidad']);
		break;
		
	case 'cancelar':
		
		$temporal=array();
		foreach($_SESSION['lecturas'] as $lectura) if($lectura['CodigoEscaneado']!=$id) $temporal[]=$lectura;
		$_SESSION['lecturas']=$temporal;
		break;

}

?>