<?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');

?>
<h2>Orden de Picking Nº <?php echo $_SESSION['ordenPicking']['Orden']; ?></h2>

<?php

	$peticion='SGAPicking#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#CARGADETALLEPICKING#'.$_SESSION['almacen'].';'.$_SESSION['ordenPicking']['Orden'];
	
	if($_GET['siguiente'] || $_GET['inicio']) $peticion.=';'.$_SESSION['parametros'];
	
	if($_GET['inicio']) $peticion.=';S';
	
	$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
	
	$producto=$resultado[0];
	$datos=$producto['Datos']['PXMobileProxiumResult'];
	
	if($_GET['traza']=='si') {
		echo "<p>".$peticion."</p>";
		print_r($resultado);
	}
	
	if($producto && !$producto['Error']) {
	
		?>
		<h3>Producto a Preparar</h3>
		<table class="tablaFormateada anchoMaximo">
		<tr>
			<?php if(count($_SESSION['empresas'])>1) { ?><th>Emp.</th><?php } ?>
			<th>Código</th>
			<th>Descripción</th>
			<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
				<?php if($comportamiento['Activo']) { ?><th><?php echo $comportamiento['Nombre']; ?></th><?php } ?>
<?php } ?>
			<th>Cant.</th>
            <?php if($_SESSION['verEnCajas']=='S') { ?><th>Cajas</th><?php } ?>
			<th>Contenedor</th>
			<th width="100">Ubicación</th>
		 </tr>
		 <tr>
			<?php if(count($_SESSION['empresas'])>1) { ?><td><?php echo $producto['Empresa']; ?></td><?php } ?>
			<td><?php echo $producto['Codigo']; ?></td>
			<td align="left"><?php echo $producto['Descripcion']; ?></td>
            <?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
				<?php if($comportamiento['Activo']=='S') { ?>
                	<td>
						<?php
						foreach($datos as $dato) {
							if($dato['Codigo']==$comportamiento['Codigo']) {
								echo formateaTipo($dato['Valor'],$comportamiento['Tipo']);
								break;
							}	
						}
						?>
                    </td>
				<?php } ?>
        	<?php } ?>
			<td align="right"><?php echo number_format($producto['CantidadPropuesta'],0,',','.'); ?><br /></td>
            <?php if($_SESSION['verEnCajas']=='S') { ?><td align="right"><?php echo number_format($producto['Cajas'],2,',','.'); ?></td><?php } ?>
			<td><?php echo $producto['Contenedor']; ?></td>
			<td><?php if($producto['UbicacionAlias']) echo $producto['UbicacionAlias']; else $producto['Ubicacion']; ?></td>
		</tr>
		</table>
        
		<div id="popupBusqueda" class="popup" style="display:none">
            <div class="popupContenidoSimple" id="popupBusquedaReloj"><img src="<?php echo DIR_IMAGENES; ?>/cargando.gif" alt="Cargando..." width="160" height="160" /></div>
            </div>
        </div>
        <div class="popupContenidoScroll" id="popupBusquedaContenido" style="display:none" ></div>
        
        <?php
        if($_SESSION['verEnCajas']=='S' && $producto['EmbalajePrimarioCaja']) {
			$etiqueta="Cajas";
			$etiquetaInversa="Unidades";
			$cajas=true;
		}
		else {
			$etiqueta="Unidades";
			$etiquetaInversa="Cajas";
			$cajas=false;
		}
		?>
        <input type="hidden" name="cajas" id="cajas" value="<?php if($cajas) { ?>1<?php } else { ?>0<?php } ?>"/>
        <input type="hidden" name="EmbalajePrimarioCaja" id="EmbalajePrimarioCaja" value="<?php echo $producto['EmbalajePrimarioCaja']; ?>" />
        
		<table  style="margin:0 auto">
        <tr>
            <td>
            <p style="margin:20px 0 10px 0">Contenedor:</p>
            <div style="width:360px;height:53px;position:relative;margin:0;text-align:left">
            <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoContenedor" /><input name="contenedor" type="text" class="campo" id="contenedor" maxlength="11" style="font-size:2em;width:330px;height:43px;position:absolute;left:10px;" autocomplete="off"/><img src="<?php echo DIR_IMAGENES; ?>/lupa.png" alt="Buscar" class="boton-lupa" id="buscarContenedor" style="with:55px;height:55px;position:absolute;left:10px;cursor:pointer"/><img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarContenedor" style="position:absolute;right:5px;cursor:pointer;"/>            </div>            </td>
        </tr>
        <tr>
          <td>
       	    <p style="margin:20px 0 10px 0">Cantidad (<span id="etiqueta"><?php echo $etiqueta; ?></span>)</p>
             <div style="width:360px;height:53px;position:relative;margin:0;text-align:left">
             <img src="<?php echo DIR_IMAGENES; ?>/<?php echo $etiquetaInversa; ?>.png" alt="Informar en <?php echo $etiqueta; ?>" class="iconoTeclado" id="iconoUnidades" /><input name="cantidad" type="text" class="campo cantidad" id="cantidad" style="font-size:2em;width:330px;height:43px;position:absolute;left:10px;" autocomplete="off"/><img src="<?php echo DIR_IMAGENES; ?>/completo.png" alt="Contenedor completo" class="boton-contenedor-completo" id="contenedorCompleto" style="with:55px;height:55px;position:absolute;left:10px;cursor:pointer"/><img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarCantidad" style="position:absolute;right:5px;cursor:pointer;"/>            </div>       	  </td>
        </tr>
		</table>

		<?php
		
		unset($_SESSION['parametros']);
		
		$_SESSION['parametros']=$producto['Ubicacion'];
		$_SESSION['parametros'].=';'.$producto['Contenedor'];
		
		foreach($_SESSION['comportamientosGlobales'] as $comportamiento) {
			$valor='-';
			foreach($datos as $dato) if($dato['Codigo']==$comportamiento['Codigo']) { $valor=$dato['Valor']; break; }
			$_SESSION['parametros'].=';'.$valor;
		}
		
		$_SESSION['parametros'].=';'.$producto['NumEntrada'];
		$_SESSION['parametros'].=';'.$producto['LineaEntrada'];
		
		$_SESSION['parametros'].=';'.$producto['Codigo']; 
		
		//print_r($_SESSION['parametros']);
		

		
		$peticion='SGAPicking#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#LISTAUBISPRODUCTOPICK#'.$_SESSION['almacen'].';'.$_SESSION['ordenPicking']['Orden'].';'.$_SESSION['parametros'];
		$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
		
		if($_GET['traza']=='si') {
			echo "<p>".$peticion."</p>";
			print_r($resultado);
		}
		
		if(count($resultado)>0 && !$resultado[0]['Error']) {
			?>
			<h3>Otras ubicaciones con este producto:</h3>
			<table class="tablaFormateada anchoMaximo">
			<tr>
				<?php if(count($_SESSION['empresas'])>1) { ?><th>Emp.</th><?php } ?>
				<th>Código</th>
				<th>Descripción</th>
				<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
				<?php if($comportamiento['Activo']) { ?><th><?php echo $comportamiento['Nombre']; ?></th><?php } ?>
	      		<?php } ?>
				<th>Cant.</th>
				<?php if($_SESSION['verEnCajas']=='S') { ?><th>Cajas</th><?php } ?>
				<th>Contenedor</th>
				<th width="100">Ubicación</th>
			</tr>
        	<?php
			foreach($resultado as $productoUbicacion) {
			
				$datosProductoUbicacion=$productoUbicacion['Datos']['PXMobileProxiumResult'];
				?>
                   <tr>
                        <?php if(count($_SESSION['empresas'])>1) { ?><td><?php echo $productoUbicacion['Empresa']; ?></td><?php } ?>
                        <td><?php echo $productoUbicacion['Codigo']; ?></td>
                        <td align="left"><?php echo $productoUbicacion['Descripcion']; ?></td>
                        <?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
                            <?php if($comportamiento['Activo']=='S') { ?>
                                <td>
                                    <?php
                                    foreach($datosProductoUbicacion as $dato) {
                                        if($dato['Codigo']==$comportamiento['Codigo']) {
                                            echo formateaTipo($dato['Valor'],$comportamiento['Tipo']);
                                            break;
                                        }
                                    }
                                    ?>
                                </td>
                            <?php } ?>
                        <?php } ?>	
                      <td align="right"><?php echo number_format($productoUbicacion['CantidadPropuesta'],0,',','.'); ?></td>
                      <?php if($_SESSION['verEnCajas']=='S') { ?><td align="right"><?php echo number_format($productoUbicacion['Cajas'],2,',','.'); ?></td><?php } ?>
                      <td><?php echo $productoUbicacion['Contenedor']; ?></td>
                    <td><?php echo $productoUbicacion['Ubicacion']; ?></td>
                </tr>
				<?php
			}
			?>
            </table>
            <?php
		}
		?>
		<br />
		<p><input type="submit" name="botonAnular" id="botonAnular" value="Anular este producto del Picking"class="boton reducido"/></p>

		<?php
		
		$mostrarInfo=true;

		include($rutaPhp.$rutaHtml.'/maqueta/menu-orden-picking.php');
		
} else {
	
	//Si hay error, puede que la orden se haya terminado. La recorremos para comprobarlo, recargando datos.
	$hayIncompletos=false;
	
	$peticion='SGAPicking#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#DETALLEORDENPICKING#'.$_SESSION['almacen'].';'.$_SESSION['ordenPicking']['Orden'];
	$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
	
	if($_GET['traza']=='si') {
		echo "<p>".$peticion."</p>";
		print_r($resultado);
	}
	
	$_SESSION['ordenPicking']=$resultado[0];
	
	if($_SESSION['ordenPicking']['EstadoUsuario']=='Iniciada') {
		
		$productos=arreglaArrayPXMobileProxiumResult($_SESSION['ordenPicking']['Productos']);
		foreach($productos as $producto) {
			if($producto['CantidadPropuesta']!=$producto['CantidadLeida']) $hayIncompletos=true;
		}
	}
	
	if(count($productos)>0 && !$hayIncompletos) { //PROCEDEMOS AL CIERRE
		
		$peticion='SGAPicking#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#CERRARPICKING#'.$_SESSION['almacen'].';'.$_SESSION['ordenPicking']['Orden'];
		
		$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
		
		if($_GET['traza']=='si') {
			echo "<p>".$peticion."</p>";
			print_r($resultado);
		}
		
		$error=explode('#',$resultado[0]['Error']);
		
		if($error[0]=='0') {
			?>
            <h3 style="margin:50px 0 50px 0"><?php echo $error[1]; ?></h3>
            <p><input type="submit" name="botonVolverListado" id="botonVolverListado" value="Volver al listado" class="boton" /></p>
            <?php
		}
		else {
			?><p class="error">ERROR: <?php echo $error[1]; ?></p><?php
		}
	}
	else {
		$error=explode("#",$producto['Error']);
		?><p class="error">ERROR: <?php echo $error[1]; ?></p><?php
	}
}
?>

<script>

$(document).ready(function() {
	
	<?php if($_SESSION['ordenPicking']['EstadoUsuario']=='Iniciada' && $producto && !$producto['Error']) { ?>
	
	$('#contenedor').focus();
	
	$('#botonAnular').on("click",function() {
		
		confirm("Se va a prodecer a anular este Picking de la Orden en curso.").done( function(){
		
			$('#popupCargando').show();
		
			$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-picking-anular.php", { orden : "<?php echo $_SESSION['ordenPicking']['Orden']; ?>" , linea : "<?php echo $producto['Linea']; ?>" } )
				.done(function(data) {
					var resultado=data.split('#');
					if(resultado[0]==1) {
						$('#popupCargando').hide();
						alert('Error: '+resultado[1]);
					}
					else {
						window.location.reload();
					}
				});
		
		});
		
	});
	
	$('.continuar').on("click",function(e){

		e.preventDefault();
		
		if( $('#contenedor').val()=='' && $('#cantidad').val()=='' ) {
		
			$('#popupCargando').show();
			window.location='<?php echo $rutaHtml; ?>/orden-picking-proceso.php?siguiente=si';

		}
		else {
		
			$('#popupCargando').show();
			
			var valorCantidad;
			if( $('#cajas').val()==1 ) valorCantidad = parseInt( $('#cantidad').val() * $('#EmbalajePrimarioCaja').val() );
			else valorCantidad = $('#cantidad').val();
			
			$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-picking-asignar.php?traza=<?php echo $_GET['traza']; ?>", { cantidad: valorCantidad, contenedor: $('#contenedor').val() } )
				.done(function(data) {
					var resultado=data.split('#');
					if(resultado[0]==1) {
						$('#popupCargando').hide();
						alert('Error: '+resultado[1]);
					}
					else window.location.reload();
			});

		}
		
	});
	
	$('.cantidad').on("click",function(e) {
		$('#calculadora').show();
		$('#valorCalculadora').val( $(this).val() );
		$('#enterCalculadora').attr('campoValor',$(this).attr('id'));
	});
	
	$('#borrarContenedor').on("click",function(){
		$("#contenedor").val('');
		$("#contenedor").focus();
	});
	
	$('#borrarCantidad').on("click",function(){
		$("#cantidad").val('');
		$("#cantidad").focus();
	});

	$('#tecladoContenedor').on("click",function(){
		
		$('#teclado').show();
		$('#valor').val( $('#contenedor').val() );
		$('#valorOculto').val( $('#contenedor').val() );
		$('#enter').attr('campoValor','contenedor');
		
	});
	
	$('#buscarContenedor').on("click",function(){
		$("#popupBusqueda").show();
		$("#popupBusquedaReloj").show();
		$("#popupBusquedaContenido").hide();
		$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-picking-buscar-contenedor.php?traza=<?php echo $_GET['traza']; ?>" )
			.done(function(data) {
				$("#popupBusquedaReloj").hide();
				$("#popupBusquedaContenido").show();
				$("#popupBusquedaContenido").html(data);
			});
	});
	
	$('#contenedorCompleto').on("click",function(){
		$('#popupCargando').show();
		$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-picking-cantidad-contenedor-completo.php", { contenedor: $('#contenedor').val() } )
			.done(function(data) {
				$('#popupCargando').hide();
				if(data=='error') {
					$('#contenedor').addClass('error');
					alert("Ese contenedor no contiene el producto.");
				}
				else {
					$('#contenedor').removeClass('error');
					if( $('#cajas').val()==1 ) {
						var flotante = parseFloat( data / $('#EmbalajePrimarioCaja').val() );
						var resultado = Math.round(flotante*100)/100;
						$("#cantidad").val(resultado);
					}
					else {
						$("#cantidad").val(data);
					}
				}
			});
	});
	
	$('#iconoUnidades').on("click",function(e){
	
		if( $('#cajas').val()==1 ) {
			$(this).attr('src','<?php echo DIR_IMAGENES; ?>/Cajas.png');
			$('#cajas').val(0);
			$('#etiqueta').html('Unidades');
			
			var resultado = parseInt( $('#cantidad').val() * $('#EmbalajePrimarioCaja').val() );
			
			if(resultado>0) $('#cantidad').val( resultado );
		}
		else {
			$(this).attr('src','<?php echo DIR_IMAGENES; ?>/Unidades.png');
			$('#cajas').val(1);
			$('#etiqueta').html('Cajas');
			
			var flotante = parseFloat( $('#cantidad').val() / $('#EmbalajePrimarioCaja').val() );
			var resultado = Math.round(flotante*100)/100;
			
			if(resultado>0) $('#cantidad').val( resultado );
		}
	
	});
		
	<?php } ?>
	
	$('#botonVolverListado').on("click",function(e){
	
		e.preventDefault();
		window.location='<?php echo $rutaHtml; ?>/ordenes-picking.php';
		
	});
	
});

</script>

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