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

//08-02-2021 la construcción unserialize(OPERACIONES)[$_SESSION['accion']] da error 500 en Carreras
$arrayOperaciones=unserialize(OPERACIONES);

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

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






//SGAOperacionesLog#PXPU#PMO#LISTADOOPERACIONES#1;PXPU;PREC;TL200173 

$peticion='SGAOperacionesLog#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#LISTADOOPERACIONES#'.$_SESSION['almacen'].';'.$_SESSION['operacion']['Empresa'].';'.$_SESSION['accion'].';'.$_SESSION['operacion']['NumOperacion'];
$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);

if($_GET['traza']=='si') {
	echo '<p>Recarga de datos operacion:</p>';
	echo "<p>".$peticion."</p>";
	print_r($resultado);
}
	
if(!$resultado[0]['BloqueoProxium']) {
		
	
	$_SESSION['operacion']=$resultado[0];
	
	$requierePaletizar=( $_SESSION['operacion']['ProcedenciaPicking']=='S' );
	
	$productos=arreglaArrayPXMobileProxiumResult($_SESSION['operacion']['ProductosPrecintables']);
	$paletsPicking=arreglaArrayPXMobileProxiumResult($_SESSION['operacion']['PaletsPicking']);
	
	
	if($_POST['enviarFormulario']=='1') {
	
		$peticion='SGAOperacionesLog#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#PRECINTADOTABACO#'.$_SESSION['almacen'].';'.$_SESSION['operacion']['Empresa'].';'.$_SESSION['operacion']['NumOperacion'];
		$peticion.=';'.$_GET['Regimen'].';'.$_GET['Producto'].';'.$_GET['Idioma'].';'.$_GET['Precinta'].';'.$_GET['Lote'].';'.$_GET['FechaCaducidad'].';'.$_GET['NumSerie'];
		$peticion.=';'.$_POST['paletPicking'].';'.$_POST['paletExpedicion'].';'.$_POST['tipoPrecinta'];
		$peticion.=';'.$_POST['cantidadPrecintada'].';'.$_POST['cantidadPrecintasAnuladas'].';'.$_POST['cantidadPrecintasDanyadas'];
		// *** Hemos ocultado el Lote y no lo hemos puesto en esta lalmada
		
		$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
		
		if($_GET['traza']=='si') {
			echo '<p>Llamada precintado:</p>';
			echo "<p>".$peticion."</p>";
			print_r($resultado);
		}
		
		$valores=explode('#',$resultado[0]['Error']);
		
		if($valores[0]=='1') {
			?>
			<script>
				alert('Error: <?php echo $valores[1]; ?>',null,'error');
			</script>
			<?php
		}
		else {
			?>
			<script>
				$('#popupCargando').show();
				window.location='operacion-logistica.php';
			</script>
			<?php
		}
	
	}
	
	?>
	
	<h2>Orden de <?php echo $arrayOperaciones[$_SESSION['accion']]; ?> Nº <?php echo $_SESSION['operacion']['NumOperacion']; ?></h2>
	<table class="tablaFormateada" style="margin:0 auto">
	  <tr>
		<?php if(count($_SESSION['empresas'])>1) { ?><th>Emp.</th><?php } ?>
		<th>Nº Orden</th>
			<th>Fecha</th>
			<th>Cliente</th>
			<th>Estado</th>
		</tr>
		<tr>
			<?php if(count($_SESSION['empresas'])>1) { ?><td valign="top"><?php echo $_SESSION['operacion']['Empresa']; ?></td><?php } ?>
			<td valign="middle"><?php echo $_SESSION['operacion']['NumOperacion']; ?></td>
			<td valign="middle"><?php echo fechaNacional($_SESSION['operacion']['Fecha']); ?></td>
			<td valign="middle"><?php echo $_SESSION['operacion']['ClienteNombre']; ?></td>
			<td valign="middle"><?php echo $_SESSION['operacion']['Estado']; ?></td>
		</tr>
	</table>
	<br />
	<table class="tablaFormateada">
	  <tr>
	    <th>Código</th>
				<th>Descripción</th>
				<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
				<?php if($comportamiento['Activo']=='S' && $comportamiento['NombreSQL']!='NumSerie') { ?><th><?php echo $comportamiento['Nombre']; ?></th>
				<?php } ?>
				<?php } ?>
		<?php if($requierePaletizar) { ?><th>Palet Picking</th><?php } ?>
		<th>Cant.</th>
				<th>Cajas</th>
				<th><?php echo $arrayOperaciones[$_SESSION['accion']]; ?></th>
				<th>Anulado</th>
				<th>Pendiente</th>
                <th>Cajas</th>
			</tr>
			 <?php
			 foreach($productos as $producto) {
				 
				 $coincidencia=true;
				 
				 if($producto['Producto']!=$_GET['Producto']) $coincidencia=false;
				 foreach($_SESSION['comportamientos'] as $comportamiento) if($producto[$comportamiento['NombreSQL']]!=$_GET[$comportamiento['NombreSQL']]) $coincidencia=false;
				 
				 if($coincidencia) {
				 
					 $tiposPrecinta=explode(',',$producto['TiposPrecinta']);
					 $tiposPrecintaSeleccionada=$producto['TiposPrecintaSeleccionada'];
					 $pedirLote=($producto['Lote']=='' || $producto['Lote']=='-');
					 //ocultamos completamente porque aparentemente no se usa para precintar tabaco ***
					 $pedirLote=false;
					 
					 ?>
	  <tr Producto="<?php echo $producto['Producto']; ?>" <?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?><?php echo $comportamiento['NombreSQL']; ?>="<?php echo $producto[$comportamiento['NombreSQL']]; ?>" <?php } ?> Palets="<?php echo $producto['Contenedor']; ?>">
					   <td valign="top"><?php echo $producto['Producto']; ?></td>
						<td valign="top"><?php echo $producto['ProductoDescripcion']; ?></td>
						<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
							<?php if($comportamiento['Activo']=='S' && $comportamiento['NombreSQL']!='NumSerie') { ?>
								<td valign="top">
								<?php if($comportamiento['NombreSQL']=='Lote' && $pedirLote ) { ?>
								<img src="<?php echo DIR_IMAGENES; ?>/iconos/informacion.png" style="width:20px"/><br /><span style="font-size:0.9em">Informar</span>
								<?php } else { ?>
								<?php echo $producto[$comportamiento['NombreSQL']]; ?>
								<?php } ?>
								</td>
							<?php } ?>
						<?php } ?>
						<?php if($requierePaletizar) { ?>
						<td align="center" valign="top">
						<?php
						$contenedores=explode(',',$producto['Contenedor']);
						$cantidadesContenedores=explode(',',$producto['ContenedorCant']);
						$cajasContenedores=explode(',',$producto['ContenedorCajas']);
						
						foreach($contenedores as $clave=>$contenedor) {
							$cadena='<br><span style="font-size:0.75em">(';
							$cadena.=$cantidadesContenedores[$clave].' uns';
							if($_SESSION['verEnCajas']=='S') $cadena.=' / '.formateaNumeroDecimal($cajasContenedores[$clave]).' cajas';
							$cadena.=')';
							echo $contenedor.$cadena.'</span><br>';
						}
						?>						</td>
		<?php } ?>
		<td align="right" valign="top"><?php echo $producto['Cantidad']; ?></td>
						<td align="right" valign="top"><?php echo formateaNumeroDecimal($producto['CantidadCajas']); ?></td>
						<td align="right" valign="top"><?php echo $producto['CantidadPreparada']; ?></td>
						<td align="right" valign="top"><?php echo $producto['CantidadAnulada']; ?></td>
						<td align="right" valign="top"><?php echo $producto['CantidadPendiente']; ?></td>
                        <td align="right" valign="top"><?php echo formateaNumeroDecimal($producto['CantidadPendienteCajas']); ?></td>
	  </tr>
					<?php
				}
			}
			?>
	</table>
    
    
    <?php if($producto['InstruccionesPreparacion']) { ?>
    
    <table id="tablaObservacionesComercial" class="tablaFormateada" style="min-width:480px;margin:20px auto">
		<tr><th style="height:20px">Instrucciones de preparación</th></tr>
		<tr><td valign="top" style="font-weight:bold;font-size:1.3em"><?php if($producto['InstruccionesPreparacion'] && is_string($producto['InstruccionesPreparacion'])) echo nl2br($producto['InstruccionesPreparacion']); ?></td></tr>
	</table>
    
    <?php } ?>
	
	
	<form id="formulario" name="formulario" method="post" action=""  style="margin-top:20px">
		
		<?php if($requierePaletizar) { ?>
		
		<p class="sinMargen">Palet origen:</p>
		<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
			<img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoPaletPicking" /><input id="paletPicking" name="paletPicking" type="text" class="campo campoOrdenPreparacion" style="left:5px;" value="<?php echo $_POST['paletPicking']; ?>" autocomplete="off"/>
			<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarPaletPicking" class="iconoBorrar" style="position:absolute;right:5px;cursor:pointer;"/>
		</div>
		
		<p class="sinMargen" style="margin-top:15px">Palet destino:</p>
		<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
			<img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoPaletExpedicion" /><input id="paletExpedicion" name="paletExpedicion" type="text" class="campo campoOrdenPreparacion" style="left:5px;" value="<?php echo $_POST['paletExpedicion']; ?>" autocomplete="off"/>
			<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarPaletExpedicion" class="iconoBorrar" style="position:absolute;right:5px;cursor:pointer;"/>
		</div>
		
		<?php } ?>
		
	    <?php if($pedirLote) { ?>
		
		<p class="sinMargen" style="margin-top:15px">Lote:</p>
		<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
			<img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoLote" /><input name="lote" type="text" class="campo campoOrdenPreparacion campoGS1" id="lote" style="left:5px;" value="<?php echo $_POST['lote']; ?>" maxlength="30" autocomplete="off"/>
			<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarLote" class="iconoBorrar" style="position:absolute;right:5px;cursor:pointer;"/>
		</div>
		
		<?php } ?>
		
		 <p class="sinMargen" style="margin-top:15px">Tipo de precinta:</p>
		<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
			<input id="tipoPrecinta" name="tipoPrecinta" type="text" class="campo campoOrdenPreparacion" style="left:5px;" value="<?php if( is_array($tiposPrecinta) && count($tiposPrecinta)==1 ) echo $tiposPrecinta[0]; else if($_POST['tipoPrecinta']) echo $_POST['tipoPrecinta']; else if($tiposPrecintaSeleccionada) echo $tiposPrecintaSeleccionada; ?>" readonly autocomplete="off"/>
		</div>
		
		<p class="sinMargen" style="margin-top:15px">Cantidad precintada:</p>
		<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
			<input id="cantidadPrecintada" name="cantidadPrecintada" type="text" class="campo campoOrdenPreparacion cantidad calculadoraAutomatica" style="left:5px;" value="<?php echo $_POST['cantidadPrecintada']; ?>" autocomplete="off"/>
			<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarCantidadPrecintada" class="iconoBorrar" style="position:absolute;right:5px;cursor:pointer;"/>
		</div>
        
        <p class="sinMargen" style="margin-top:15px">Cantidad anulada:</p>
		<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
			<input id="cantidadPrecintasAnuladas" name="cantidadPrecintasAnuladas" type="text" class="campo campoOrdenPreparacion cantidad calculadoraAutomatica" style="left:5px;" value="<?php echo $_POST['cantidadPrecintasAnuladas']; ?>" autocomplete="off"/>
			<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarCantidadPrecintada" class="iconoBorrar" style="position:absolute;right:5px;cursor:pointer;"/>
		</div>
        
        <p class="sinMargen" style="margin-top:15px">Cantidad de precintas dañadas:</p>
		<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
			<input id="cantidadPrecintasDanyadas" name="cantidadPrecintasDanyadas" type="text" class="campo campoOrdenPreparacion cantidad calculadoraAutomatica" style="left:5px;" value="<?php echo $_POST['cantidadPrecintasDanyadas']; ?>" autocomplete="off"/>
			<img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarCantidadPrecintada" class="iconoBorrar" style="position:absolute;right:5px;cursor:pointer;"/>
		</div>
		
		

		<input type="hidden" name="enviarFormulario" id="enviarFormulario" value="0"/>
		
		<p><input type="button" name="botonAceptar" id="botonAceptar" value="Confirmar <?php echo $arrayOperaciones[$_SESSION['accion']]; ?>" class="boton"/></p>
		<p><input type="button" name="botonCancelar" id="botonCancelar" value="Cancelar" class="boton reducido"/></p>
	
	</form>
	
	<?php if( is_array($tiposPrecinta) && count($tiposPrecinta)>1 ) { ?>
	
	<div id="popupPrecintas" class="popupScroll" style="display:none;z-index:20000"></div>
	<div id="popupPrecintasContenido" class="popupContenidoScroll" style="text-align:left;display:none;z-index:20001">
		<?php
		foreach($tiposPrecinta as $precinta) {
			?><p><label><input type="radio" name="selectorTipoPrecinta" id="selectorTipoPrecinta<?php echo $precinta; ?>" value="<?php echo $precinta; ?>"  class="selectorTipoPrecinta checkGrande" <?php if($precinta==$_POST['tipoPrecinta'] || (!$_POST['tipoPrecinta'] && $precinta==$tiposPrecintaSeleccionada) ) { ?>checked<?php } ?>/> <?php echo $precinta; ?></label></p><?php
		}
		?>
		<p style="text-align:center"><input id="botonCierraPrecintas" type="button" value="Cerrar" class="boton"/></p>
	</div>
	
	<?php } ?>
	
	<script>
	
	<?php if($requierePaletizar) { ?>
	
	var paletsPicking=new Array();
	<?php foreach( $paletsPicking as $palet ) { ?>
	paletsPicking.push('<?php echo $palet['Palet']; ?>');
	<?php } ?>
	
	<?php } ?>
	
	var secuenciaCamposInicio=new Array();
	<?php if($requierePaletizar) { ?>
	secuenciaCamposInicio.push('paletPicking');
	secuenciaCamposInicio.push('paletExpedicion');
	<?php } ?>
	<?php if($pedirLote) { ?>
	secuenciaCamposInicio.push('lote');
	<?php } ?>
	secuenciaCamposInicio.push('tipoPrecinta');
	secuenciaCamposInicio.push('cantidadPrecintada');
	secuenciaCamposInicio.push('cantidadPrecintasAnuladas');
	secuenciaCamposInicio.push('cantidadPrecintasDanyadas');
	
	function reiniciaCamposInicio() {
	
		for (i=0;i<secuenciaCamposInicio.length;i++) {
			$('#'+secuenciaCamposInicio[i]).val('');
		}
	
	}
	
	function focoSiguienteInicio(campoActual) {
		
		var encontradoActual=false;
		var foco='';
			
		if( campoActual=='' && $('#'+secuenciaCamposInicio[0]).val()=='' ) foco=secuenciaCamposInicio[0];
		else {
			for (i=0;i<secuenciaCamposInicio.length;i++) {
				if(secuenciaCamposInicio[i]==campoActual || campoActual=='') encontradoActual=true;
				if( encontradoActual && !$('#'+secuenciaCamposInicio[i+1]).prop('readonly') && $('#'+secuenciaCamposInicio[i+1]).val()=='' ) {
					foco=secuenciaCamposInicio[i+1];
					break;
				}
			}
		}
				
		$('#'+foco).focus();
				
		return foco;
	
	}
	
	function validacion() {
	
		var resultado=true;
		
		if( !$('#tipoPrecinta').val() ) {
			alert('Debes indicar el tipo de precinta para esta pperación.',$('#tipoPrecinta'),'error');
			resultado=false;
		}
		else if( !$('#cantidadPrecintada').val() ) {
			alert('Debes indicar la cantidad de precintas utilizadas en esta operación.',$('#precintaInicial'),'error');
			resultado=false;
		}
		<?php if($requierePaletizar) { ?>
		else if( !$('#paletPicking').val() ) {
			alert('Debes indicar el palet de picking origen.',$('#paletPicking'),'error');
			resultado=false;
		}
		else if( $('#paletPicking').val() && !paletsPicking.includes( $('#paletPicking').val() ) ) {
			alert('El palet indicado no corresponde al picking hecho para este artículo.',$('#paletPicking'),'error');
			resultado=false;
		}
		else if( !$('#paletExpedicion').val() ) {
			alert('Debes indicar el palet de expedición destino.',$('#paletExpedicion'),'error');
			resultado=false;
		}
		<?php } ?>
		<?php if($pedirLote) { ?>
		else if( !$('#lote').val() || $('#lote').val()=='-' ) {
			
			var mensaje='Es obligatorio especificar el lote';
			
			if( $('#lote').val()=='-' ) {
				mensaje+=' y no puede informarse un guión';
				$('#lote').val('');
			}
			mensaje+='.';
			
			alert(mensaje,$('#lote'),'error');
			resultado=false;
		}
		else if( $('#lote').val().length > 30 ) {
			
			alert('Error: La longitud del lote no puede exceder los 30 caracteres.',$('#lote'),'error');
			resultado=false;
		}
		<?php } ?>
		
		
		return resultado;
	
	}
	
	
	
	$(document).ready(function() {
	
		
	
		$('#botonAceptar').on("click",function(e){
		
			if( validacion() ) {
				console.log('Se ha validado el form. Se envia.');
				$('#popupCargando').show();
				$('#enviarFormulario').val(1);
				$('#formulario').submit();
			}
			
		});
		
		$('#botonCancelar').on('click',function(){
		
			$('#popupCargando').show();
			window.location='operacion-logistica.php';
			
		});
		
	
		
		
		//Metodos genericos teclado y borrar campos
		
		$(document).on('click','.iconoTeclado',function(){
			
			var campo=$(this).siblings('input');
			
			$('#teclado').show();
			$('#valor').val( campo.val() );
			$('#valorOculto').val( campo.val() );
			$('#enter').attr('campoValor', campo.attr('id') );
			$('#enter').attr('forzarEnter','si');
			
		});
		
		$(document).on('click','.tecladoAutomatico',function(){
			
			$('#teclado').show();
			$('#valor').val( $(this).val() );
			$('#valorOculto').val( $(this).val() );
			$('#enter').attr('campoValor', $(this).attr('id') );
			$('#enter').attr('forzarEnter','si');
			
		});
		
		$(document).on('click','.calculadoraAutomatica',function(){
			
			$('#calculadora').show();
			$('#valorCalculadora').val( $(this).val() );
			$('#enterCalculadora').attr('campoValor',$(this).attr('id'));
			$('#enterCalculadora').attr('forzarEnter','si');
			
		});
		
		$(document).on('click','.iconoBorrar',function(){
			
			var campo=$(this).siblings('input');
			campo.val('');
			campo.focus();
			
		});
		
		$('.campoOrdenPreparacion').on('change',function(){
			
			var campoActual=$(this).attr('id');
			
			console.log('change en campo: '+campoActual+' / valor: '+$(this).val());
			
			<?php if(!$desactivaScannerBluetooth) { ?>
			/*
			if ( campoActual!='precintaInicial' && campoActual!='tipoPrecinta' && lecturaScanner.length>0 ) {
			
				
				console.log('array de lectura antes change: ');
				console.log(lecturaScanner);
			
				var mostrarLectura=limpiaLecturaDesdeScannerNoPrecinta(lecturaScanner);
				$(this).val(mostrarLectura);
				reiniciaScanner();
				
				console.log('array de lectura tras change: ');
				console.log(lecturaScanner);
				console.log('cadena de lectura tras change: '+cadenaLectura);
				
				
				
			}
			*/
			<?php } ?>
			
			focoSiguienteInicio(campoActual);
			
		});
		
		// Gestion popup precintas
		<?php if( is_array($tiposPrecinta) && count($tiposPrecinta)>1 ) { ?>
		
		$('#tipoPrecinta').on('click',function(){
			$('#popupPrecintas').show();
			$('#popupPrecintasContenido').show();
		});
	
		$('#botonCierraPrecintas').on('click',function(){
			$('#popupPrecintas').hide();
			$('#popupPrecintasContenido').hide();
		});
				
		$('.selectorTipoPrecinta').on('change',function(){
			var valor=$('input:radio[name=selectorTipoPrecinta]:checked').val();
			$('#tipoPrecinta').val( valor );
			$('#popupPrecintas').hide();
			$('#popupPrecintasContenido').hide();
			focoSiguienteInicio('tipoPrecinta');
		});
		
		<?php } ?>
		
		focoSiguienteInicio('')
	
	});
	
	</script>
	<?php
	

	
}
else {
	?>
    <p class="error"><img src="<?php echo DIR_IMAGENES; ?>/iconos/error.png" width="50" height="50" /><br /><?php echo $resultado[0]['BloqueoProxium']; ?></p>
    <p><input type="button" name="botonVolver" id="botonVolver" value="Volver" class="boton reducido"/></p>
    <script>
	
	$(document).ready(function() {
	
		$('#botonVolver').on('click',function(){
			
			$('#popupCargando').show();
			window.location='operacion-logistica.php';
				
		});
		
	});
	
	</script>
    <?php
}

//include($rutaPhp.$rutaHtml.'/maqueta/menu-operacion-logistica.php');

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