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

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

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


if($_POST['botonCierre']) {

	$cadenaEnvio='';

	$cadenaEnvio.='*PXTmpCierreSGAOrden'.PHP_EOL;
	$cadenaEnvio.='Empresa='.$_SESSION['orden']['Empresa'].PHP_EOL;
	$cadenaEnvio.='Orden='.$_SESSION['orden']['OrdenPreparacion'].PHP_EOL;
	$cadenaEnvio.='Usuario='.$_SESSION['usuario']['Usuario'].PHP_EOL;
	
	foreach(arreglaArrayPXMobileProxiumResult($_SESSION['orden']['DatosCierre']) as $datoCierre) {
	
		$cadenaEnvio.='*PXTmpCierreSGAOrdenCampos'.PHP_EOL;
		$cadenaEnvio.='NumCampo='.$datoCierre['NumCampo'].PHP_EOL;
		$cadenaEnvio.='Valor='.$_POST['campoCierre-'.$datoCierre['NumCampo']].PHP_EOL;
		
	}
	$cadenaEnvio.='*FIN'.PHP_EOL;

	//echo nl2br($cadenaEnvio);
	
	$resultado=EnviarDatos($wsUsuario,$wsClave,base64_encode(utf8_decode($cadenaEnvio)));
	
	//echo "<p>RESULTADO OBTENIDO</p>";
	//print_r($resultado['EnviarDatosResult']);
	
	$resultadoEvaluar=explode("#",$resultado['EnviarDatosResult']);
	if($resultadoEvaluar[0]==1) {
		?>
		<script>
		alert("Cierre realizado correctamente.").done( function(){
        	$('#popupCargando').show();
			window.location="<?php echo $rutaHtml; ?>/ordenes-preparacion.php";
		});
        </script>
		<?php
	}
	else $errorCierre=$resultadoEvaluar[1];

}



if($_GET['orden'] && $_GET['empresa']) { //Carga pantalla inicial
	
	unset($_SESSION['orden']);
	$peticion='SGAPreparar#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#DETALLEORDENPREP#'.$_SESSION['almacen'].';'.$_GET['empresa'].';'.$_GET['orden'];
}
else $peticion='SGAPreparar#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#DETALLEORDENPREP#'.$_SESSION['almacen'].';'.$_SESSION['orden']['Empresa'].';'.$_SESSION['orden']['OrdenPreparacion'];

$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
$_SESSION['orden']=$resultado[0];

if($_GET['traza']=='si') {
	echo "<p>".$peticion."</p>";
	print_r($resultado);
	echo "<hr>";
	print_r($_SESSION['orden']);
}

$hayPreparado=false;
$estaIncompleta=false;

$productos=arreglaArrayPXMobileProxiumResult($_SESSION['orden']['Productos']);

foreach($productos as $producto) {

	if($producto['Preparado']>0) $hayPreparado=true;
	if($producto['Preparado']!=$producto['Cantidad']) $estaIncompleta=true;

}

//print_r($_SESSION['comportamientosGlobales']);

//print_r($_SESSION['orden']);

?>
<h2>Orden de Preparación Nº <?php echo $_SESSION['orden']['OrdenPreparacion']; ?></h2>
<table class="tablaFormateada anchoMaximo">
<tr>
	<?php if(count($_SESSION['empresas'])>1) { ?><th>Empresa</th><?php } ?>
    <th>Familia</th>
    <th>Fecha Orden</th>
    <th>Régimen Origen</th>
    <th>Régimen Destino</th>
    <th>Cliente</th>
    <th>Carga</th>
    <th>Fecha Carga</th>
    <th>Hora Carga</th>
  </tr>
<tr>
	<?php if(count($_SESSION['empresas'])>1) { ?><td><?php echo $_SESSION['orden']['Empresa']; ?></td><?php } ?>
    <td><?php echo $_SESSION['orden']['FamiliaPreparacion']; ?></td>
    <td><?php echo fechaNacional($_SESSION['orden']['FechaGeneracion']); ?></td>
    <td><?php echo $_SESSION['orden']['RegimenOrigen']; ?></td>
    <td><?php echo $_SESSION['orden']['RegimenDestino']; ?></td>
    <td><?php echo $_SESSION['orden']['NombreCliente']; ?></td>
	<td><?php echo $_SESSION['orden']['Carga']; ?></td>
	<td><?php echo fechaNacional($_SESSION['orden']['FechaCarga']); ?></td>
	<td><?php echo $_SESSION['orden']['HoraCarga']; ?></td>
  </tr>
</table>

<?php if($_SESSION['orden']['Estado']=='Iniciada') { ?>
<p>Esta orden de preparación está en curso.</p>
<?php } ?>

<h3>Productos 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>Preparado</th>
		</tr>
         <?php
         foreach($productos as $producto) {
			 
			 //print_r($producto);
			 //echo "<hr>";
			 
			 $datos=arreglaArrayPXMobileProxiumResult($producto['Datos']);
			 
			 ?>
			 <tr class="<?php if($producto['Cantidad']==$producto['Preparado']) { ?>verde<?php } else if($producto['Cantidad']>$producto['Preparado'] && $producto['ObservacionesIncidencia']) { ?>rojo<?php } ?>">
				<?php if(count($_SESSION['empresas'])>1) { ?><td valign="top"><?php echo $producto['Empresa']; ?></td><?php } ?>
				<td valign="top"><?php echo $producto['Codigo']; ?></td>
				<td align="left" valign="top"><?php echo $producto['Descripcion']; ?>
                <?php if($producto['ComentariosComercial']) { ?>
                <div style="margin-top:10px;border:#999999 1px solid;padding:10px;font-size:0.8em;"><?php echo $producto['ComentariosComercial']; ?></div><?php } ?>               </td>
				<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
					<?php if($comportamiento['Activo']=='S') { ?>
                        <td valign="top">
                            <?php
							foreach($datos as $dato) {
                                if($dato['Codigo']==$comportamiento['Codigo']) {
                                    echo formateaTipo($dato['Valor'],$comportamiento['Tipo']);
                                    break;
                                }
                            }
                            ?>                        </td>
                    <?php } ?>
                <?php } ?>
				<td align="right" valign="top"><?php echo number_format($producto['Cantidad'],0,',','.'); ?></td>
				<?php if($_SESSION['verEnCajas']=='S') { ?><td align="right" valign="top"><?php echo number_format($producto['Cajas'],2,',','.'); ?></td><?php } ?>
				<td align="right" valign="top"><?php echo number_format($producto['Preparado'],0,',','.'); ?></td>
		    </tr>
			<?php
        }
		?>
</table>

<div id="popupProducto" class="popupScroll" style="display:none;">
	<div class="popupContenidoScroll" style="padding-left:60px;padding-right:60px;">
		<form id="formularioCodigo" name="formularioCodigo" method="post" action="">
            <p>Código EAN/DUN:<br />
            <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoCodigo" /><input name="codigo" type="text" class="campo" id="codigo" size="14" maxlength="14"/>
            <img id="botonBuscar" src="<?php echo DIR_IMAGENES; ?>/buscar.png" style="width:40px;margin-left:-40px;padding-top:10px;padding-left:50px;margin-bottom:-5px" class="clicable"/>
            <img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="boton-x" id="borrarCodigo" style="margin-left:-110px;"/></p>
        </form>
        <form id="formularioBusqueda" name="formularioBusqueda" method="post" action="" style="display:none">
            <p>Buscar:<br />
            <input name="busqueda" type="text" class="campo" id="busqueda" size="14" maxlength="" value="<?php echo $_POST['busqueda']; ?>"/>
            <img id="botonCodigo" src="<?php echo DIR_IMAGENES; ?>/barcode.png" style="width:40px;margin-left:-40px;padding-top:10px;padding-left:50px;margin-bottom:-5px" class="clicable"/>
            <img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" class="boton-x" id="borrarBusqueda" style="margin-left:-110px;"/>
            </p>
        </form>
      <div id="detalleProducto" style="display:none">
            <h2 id="nombreProducto"></h2>
            <p id="observacionesProducto"></p>
            <div id="fichaProducto"></div>
            <input type="hidden" name="cantidadPedida" id="cantidadPedida" />
            <input type="hidden" name="embalajePrimario" id="embalajePrimario" />
            <div style="width:750px;margin:0 auto;clear:both;display:table">
                <div id="verLote" style="width:350px;float:left;">
                    <p>Lote:<br /><input name="lote" type="text" class="campo" id="lote" size="13"/><img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarLote" class="boton-x"/></p>
                </div>
                <div id="verCantidad" style="">
                    <p><span id="etiquetaCantidad">Cantidad:</span><br /><input name="cantidad" type="text" class="campo cantidad" id="cantidad" size="9"/><img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarCantidad" class="boton-x"/></p>
                </div>
            </div>
            <p><input type="submit" name="botonAceptar" id="botonAceptar" value="ACEPTAR" class="boton" /></p>
      </div>
        <p><input type="submit" name="botonCancelarPopup" id="botonCancelarPopup" value="Cancelar" class="boton" /></p>
	</div>
</div>

<?php if($hayPreparado) { ?>
<p><input type="submit" name="botonLiberar" id="botonLiberar" value="Liberar productos preparados" class="mostrarCargando boton"/></p>
<?php } ?> 

<?php if(!$estaIncompleta) { ?>
			<h3>DATOS PARA EL CIERRE</h3>
            <form id="form1" name="form1" method="post" action="">
            <div style="margin:0 auto;width:800px;overflow:hidden;">
            <input type="hidden" name="esCierre" value="si" />
			<?php
			foreach(arreglaArrayPXMobileProxiumResult($_SESSION['orden']['DatosCierre']) as $datoCierre) {
				?>
                <div style="width:260px;float:left;">
				<p><?php echo $datoCierre['Texto']; ?><?php if ($datoCierre['Obligatorio']=='S') echo "*"; ?><br />
                <input type="text" name="campoCierre-<?php echo $datoCierre['NumCampo']; ?>" id="campoCierre-<?php echo $datoCierre['NumCampo']; ?>" value="<?php echo $datoCierre['Valor']; ?>" class="campo cantidad campoCierre" style="width:200px" obligatorio="<?php echo $datoCierre['Obligatorio']; ?>" /></p>
                </div>
                <?php
			}
			?>
        	</div>
            <p class="mini">* Datos obligatorios</p>
            <p><input type="submit" name="botonCierre" id="botonCierre" value="Cerrar Orden" class="boton" onclick="return validaCierre()"/></p>
            </form>
			<script>
			
			function validaCierre() {
			
				var hayErrores=false;
					
				$('.campoCierre').each(function() {
						
						if($(this).attr('obligatorio')=='S' && $(this).val()=='') {
							$(this).addClass('campoError');
							hayErrores=true;
							$(this).focus();
						}
						else $(this).removeClass('campoError');
					});
					
				if(hayErrores) {
					alert("Por favor, cumplimenta los campos obligatorios.");
					return false;
				}
				else {
					$('#popupCargando').show();
					return true;
				}
			
			}
			
			$(document).ready(function() {
				
				$('.campoCierre').on("click",function(e) {
					$('#calculadora').show();
					$('#valorCalculadora').val( $(this).val() );
					$('#enterCalculadora').attr('campoValor',$(this).attr('id'));
				});
			});
			
            </script>
<?php } ?> 

<script>

	function cargaProducto(data) {
	
		if(data!='error') {
		
			var datos=data.split('#');
			
			$('#detalleProducto').show();
			
			$('#nombreProducto').html(datos[0]+' - '+datos[1]);
			if( datos[2]!='' ) $('#observacionesProducto').html(datos[2]); else $('#observacionesProducto').hide();
			
			//Montamos la ficha del detalle del producto solicitado
			
			var tabla;
			tabla='<table class="tablaFormateada anchoMaximo" style="width:auto">';
			tabla=tabla+'<tr>';
			
			if(datos[3]=='S') tabla=tabla+'<th colspan="2">Lote</th>';
			
			tabla=tabla+'<th>Cantidad</th>';
			<?php if($_SESSION['verEnCajas']=='S') { ?>
			tabla=tabla+'<th>Cajas</th>';
			<?php } ?>
			tabla=tabla+'<th>Preparado</th>';
			tabla=tabla+'</tr>';
			tabla=tabla+'<tr>';
			
			if(datos[3]=='S') tabla=tabla+'<td>'+datos[7]+'</td><td style="border-left:none"><img src="<?php echo DIR_IMAGENES; ?>/select.png" alt="Seleccionar" class="botonSelect" lote="'+datos[7]+'"/></td>';
			
			tabla=tabla+'<td align="rigth">'+datos[4]+'</td>';
			<?php if($_SESSION['verEnCajas']=='S') { ?>
			tabla=tabla+'<td align="rigth">'+datos[6]+'</td>';
			<?php } ?>
			tabla=tabla+'<td align="rigth">'+datos[5]+'</td>';
			tabla=tabla+'</tr>';
			tabla=tabla+'</table>';
			
			if(datos[3]=='S' && datos[8]!=null) {
				if( datos[8].substring(0,10)=='OTROSLOTES' ) {
					var otrosLotes=datos[8].split(';');
					tabla=tabla+'<br><table class="tablaFormateada anchoMaximo" style="width:auto">';
					tabla=tabla+'<tr><th colspan="2">Otros lotes disponibles</th></tr>';
					otrosLotes.forEach(function(element) {
						if(element!='OTROSLOTES' && element!=datos[7]) tabla=tabla+'<tr><td>'+element+'</td><td style="border-left:none"><img src="<?php echo DIR_IMAGENES; ?>/select.png" alt="Seleccionar" class="botonSelect" lote="'+element+'"/></td></tr>';
					});
					tabla=tabla+'</table>';
				}
			}



			$('#fichaProducto').html(tabla);
			
			var cantidad=parseFloat(datos[4]) - parseFloat(datos[5]);
			$('#cantidadPedida').val( cantidad );

			if(datos[3]=='S') { //Control de lotes
				$('#verLote').show();
				$('#otrosLotes').show();
			}
			else {
				$('#verLote').hide();
				$('#otrosLotes').hide();
			}

			$('#formularioCodigo').hide();
			$('#formularioBusqueda').hide();

		}
		else {
			alert("ERROR: No se ha encontrado ningún Producto a preparar.");
			$('#popupCargando').hide();
		}
	
	}

	$(document).ready(function() {
	
		$('.popupScroll').height( $(document).height() );
	
		<?php if($_GET['iniciar']) { ?>
		$('#popupProducto').show();
		$('#codigo').focus();
		<?php } ?>
	
			$('#tecladoCodigo').on("click",function(){
			
				$('#teclado').show();
				$('#valor').val( $('#codigo').val() );
				$('#valorOculto').val( $('#codigo').val() );
				$('#enter').attr('campoValor','codigo');
				$('#enter').attr('formulario','formularioCodigo');
				
			});
			
			$('#borrarCodigo').on("click",function(){
			
				$("#codigo").val('');
				$("#codigo").focus();
				
				cargarPedidos();
				
			});
			
			$('#busqueda').on("click",function(){
				
				$('#teclado').show();
				$('#valor').val( $('#busqueda').val() );
				$('#valorOculto').val( $('#busqueda').val() );
				$('#enter').attr('campoValor','busqueda');
				$('#enter').attr('formulario','formularioBusqueda');
				
			});
			
			$('#borrarBusqueda').on("click",function(){
			
				$("#busqueda").val('');
				$("#busqueda").focus();
				
				cargarPedidos();
				
			});
			
			$('#formularioCodigo').on("submit",function(e){
				
				e.preventDefault();
				
				if( $('#codigo').val()!='' ) {
					
					$('#popupCargando').show();
					
					$.post( "<?php echo $rutaHtml; ?>/contenidos/leer-codigo-barras.php", { 'codigo' : $('#codigo').val()  })
					.done(function(data) {
						
						var datos=data.split('#');
						
						if( datos[0] ) {
						
							$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-N-obtener-linea.php", { 'codigo' : datos[0] })
								.done(function(data) {
									cargaProducto(data);
								});
								
							if(datos[1]=='DUN') {
								$('#embalajePrimario').val(datos[2]);
								$('#etiquetaCantidad').html('Cajas:');
							}
							else {
								$('#embalajePrimario').val('');
								$('#etiquetaCantidad').html('Cantidad:');
							}
						}
						else {
							alert("ERROR: No se ha encontrado ningún producto relacionado con ese código.");
						}
						
						$('#popupCargando').hide();
		
					});
				}
				
			});
			
			$('#formularioBusqueda').on("submit",function(e){
			
				e.preventDefault();
				
				$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-N-obtener-linea.php", { 'busqueda' : $('#busqueda').val() })
					.done(function(data) {
						$('#embalajePrimario').val('');
						$('#etiquetaCantidad').html('Cantidad:');
						cargaProducto(data);
					});
				
			});
			
			$('#botonBuscar').on("click",function(){
		
				$('#formularioBusqueda').show();
				$('#busqueda').focus();
				$('#formularioCodigo').hide();
				
			});
			
			$('#botonCodigo').on("click",function(){
			
				$('#formularioCodigo').show();
				$('#codigo').focus();
				$('#formularioBusqueda').hide();
				
			});

	
		$('#cantidad').on("click",function(e) {
			
			e.preventDefault();
			$('#calculadora').show();
			$('#valorCalculadora').val( $(this).val() );
			$('#enterCalculadora').attr('campoValor',$(this).attr('id'));
			
		});
		
		$('#lote').on("click",function(e) {
			
			e.preventDefault();
			
			$('#teclado').show();
			$('#valor').val( $('#lote').val() );
			$('#valorOculto').val( $('#lote').val() );
			$('#enter').attr('campoValor','lote');
			$('#enter').attr('formulario','');
		
		});
		
		$('#detalleProducto').on("click","img.botonSelect",function() {
			
			$('#lote').val( $(this).attr('lote') );
			
		});
		
		
		$('#borrarCantidad').on("click",function(){
			
			$("#cantidad").val('');
			$("#cantidad").focus();
				
		});
		
		$('#borrarLote').on("click",function(){
			
			$("#lote").val('');
			$("#lote").focus();
				
		});
	
		$('#botonCancelarPopup').on("click",function(e){
		
			e.preventDefault();
			
			$('#codigo').val('');
			$('#busqueda').val('');
			$('#cantidadPedida').val('');
			$('#embalajePrimario').val('');
			
			$('#cantidad').val('');
			$('#cantidad').removeClass('campoError');
			$('#lote').val('');
			
			$('#detalleProducto').hide();
			$('#popupProducto').hide();
		});
	
		$('#botonLiberar').on("click",function(e){
			window.location='<?php echo $rutaHtml; ?>/orden-preparacion-liberar.php?orden=<?php echo $_SESSION['orden']['OrdenPreparacion']; ?>&empresa=<?php echo $_SESSION['orden']['Empresa']; ?>'
		});
	
		$('#botonSgteProducto').on("click",function(e){
			<?php if($_SESSION['orden']['Estado']=='Iniciada') { ?>
				$('#popupProducto').show();
				$('#formularioCodigo').show();
				$('#formularioBusqueda').hide();
				$('#codigo').focus();
			<?php } else { ?>
				$('#popupCargando').show();
				$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-iniciar.php" )
					.done(function(data) {
						var resultado=data.split('#');
						if(resultado[0]==1) {
							$('#popupCargando').hide();
							alert('Error: '+resultado[1]);
						}
						else {
							window.location="orden-preparacion-N.php?iniciar=si";
						}
				});
			<?php } ?>
		});
		
		$('#botonAceptar').on("click",function(e){
		
			e.preventDefault();
			
			var valorCantidad;
			if( $('#embalajePrimario').val() > 0 ) valorCantidad = parseFloat($('#embalajePrimario').val()) * parseFloat($('#cantidad').val());
			else valorCantidad = parseFloat($('#cantidad').val());
			
			if( valorCantidad==0 || valorCantidad==null || isNaN(valorCantidad)) {
				alert("ERROR: No has especificado ninguna cantidad.");
				$('#cantidad').addClass('campoError');
				$('#cantidad').focus();
			}
			else if( valorCantidad > parseFloat($('#cantidadPedida').val()) ) {
				alert("ERROR: La cantidad excede el total solicitado.");
				$('#cantidad').addClass('campoError');
				$('#cantidad').focus();
			}
			else {
				
				$('#cantidad').removeClass('campoError');
				$('#popupCargando').show();
				
				$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-N-preparar.php", { cantidad : valorCantidad , lote : $('#lote').val() } )
					.done(function(data) {
					
						var resultado=data.split('#');
						if(resultado[0]==1) {
							$('#popupCargando').hide();
							alert('Error: '+resultado[1]);
						}
						else {
							//alert('Ok resultado: '+resultado[1]);
							window.location='<?php echo $rutaHtml; ?>/orden-preparacion-N.php';
						}
						
				});
			}
			
		
		});

	});
	
</script>
<?php
include($rutaPhp.$rutaHtml.'/maqueta/menu-orden-preparacion-N.php');

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