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

$gestionProductosRegalo=($_SESSION['parametrosSGA']['ProductosDeRegalo']=='S');


$direccionRetorno='entrada-devolucion.php?NumAlbaran='.$_SESSION['entradaDevolucion']['NumAlbaran'].'&IdDevolucion='.$_SESSION['entradaDevolucion']['IdDevolucion'];


echo '<p>NumAlbaran: '.$_SESSION['entradaDevolucion']['NumAlbaran'].'</p>';
echo '<p>IdDevolucion: '.$_SESSION['entradaDevolucion']['IdDevolucion'].'</p>';


function construyeIndice($producto,$codificado=false) {

	$indice=$producto['Codigo'];
	$indice.='¬'.$producto['Linea'];
	$indice.='¬'.$producto['Idioma'];
	$indice.='¬'.$producto['Precinta'];
	$indice.='¬'.$producto['CodigoPalet'];
	$indice.='¬'.$producto['Lote'];
	$indice.='¬'.$producto['FechaCaducidad'];
	$indice.='¬'.$producto['NumSerie'];
	$indice.='¬'.$producto['Ubicacion'];
	
	if($codificado) return md5($indice);
	else return $indice;

}




//Recargamos

$peticion='WSGetProductosPendientesDevolucion#'.$_SESSION['empresa'].'#ALBARAN#'.$_SESSION['entradaDevolucion']['NumAlbaran'].'#'.$_SESSION['entradaDevolucion']['IdDevolucion'].'#'.$_SESSION['almacen'];
$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);

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

$devolucion=$resultado[0]['DatosDevolucion']['PXMobileProxiumResult'];

//echo '<hr>';
//print_r($devolucion);
//echo '<hr>';

$_SESSION['entradaDevolucion']['bloqueada']=($devolucion['EstaBloqueada']=='S' && $devolucion['UsuarioQueBloquea']!=$_SESSION['usuario']['Usuario'] );
$_SESSION['entradaDevolucion']['iniciada']=($devolucion['EstaBloqueada']=='S' && $devolucion['UsuarioQueBloquea']==$_SESSION['usuario']['Usuario'] );

$_SESSION['productosLeidos']=arreglaArrayPXMobileProxiumResult($resultado[0]['ProductosLeidos']);




if( $_POST['confirmarCancelacion']=='1' ) {

	$cadenaCancelacion='';
	
	foreach($_SESSION['productosLeidos'] as $producto) {
				
		$indice=construyeIndice($producto,true);
		
		if($_POST[$indice]) {
			$cantidad=$_POST[$indice];
			if($cadenaCancelacion!='') $cadenaCancelacion.='|';
			$cadenaCancelacion.=construyeIndice($producto,false);
			$cadenaCancelacion.='¬'.$cantidad;
		}
		
	}

	//WSLiberarLineaEntradaDev(EMP,tipoDoc,numDoc,Devolucion,Articulo,Linea,Idioma,Precinta,Ubicacion,IdPalet,Lote,Caducidad,Serie,CantidadALiberar)

	$peticion='WSLiberarLineaEntradaDev#'.$_SESSION['empresa'].'#ALBARAN#'.$_SESSION['entradaDevolucion']['NumAlbaran'].'#'.$_SESSION['entradaDevolucion']['IdDevolucion'].'#'.$cadenaCancelacion;
		
	$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
	
	//if($_GET['traza']=='si') {
		echo '<p>'.$peticion.'</p>';
		print_r($resultado);
	//}
	
	$valores=explode('#',$resultado[0]['Error']);
	
	if($valores[0]=='1') {
		?>
		<script>
			alert('ERROR: <?php echo convierteSaltosBr($valores[1]); ?>',null,'error');
        </script>
        <?php
	}
	else{
		
		?>
		<script>
			alert('<?php echo convierteSaltosBr($valores[1]); ?>',null,'ok')
			.done(function(){
			
				$('#popupCargando').show();
				window.location='<?php echo $direccionRetorno; ?>';
				
			});
        </script>
        <?php
	}

}


	
	
if( count($_SESSION['productosLeidos'])>0 ) {

	?>
	<div class="estilosOP"  style="padding-bottom:60px">
	
	<h2>Cancelar lecturas en devolución</h2>
	
	<table class="tablaFormateada anchoMaximo desplazamientoSuperior">
		<tr>
		  <th>Título</th>
		  <th>Cliente</th>
		  <th>Albarán</th>
		  <th>Nº devolución</th>
			<th>Fecha devolución</th>
		</tr>
		<tr>
		  <td><?php echo $devolucion['TituloDevolucion']; ?></td>
		  <td><?php echo $devolucion['NombreCliente']; ?></td>
		  <td><?php echo $devolucion['NumAlbaran']; ?></td>
		  <td><?php echo $devolucion['IdDevolucion']; ?></td>
			<td><?php echo fechaNacional(fechaDesdeProxium($devolucion['FechaCreacionDevolucion'])); ?></td>
		</tr>
	</table>
	<?php

	if($_SESSION['entradaDevolucion']['bloqueada']) {
	
		?><p class="error">ERROR: Entrada bloqueada por el usuario <?php echo $devolucion['UsuarioQueBloquea']; ?> </p><?php
	}
	else {
	
		?>
		
		<div id="popupRegalos" class="popup" style="display:none"></div>
		<div id="popupRegalosContenido" class="popupContenidoScroll" style="display:none"></div>
		
		<form id="formularioCancelacion" name="formularioCancelacion" method="post" action="">
		
		
		<?php if(count($_SESSION['productosLeidos'])>0) { ?>
		
			<?php $totalCantidad=0; ?>
			<?php $totalCajas=0; ?>
		   
			<h3>Productos leídos parcialmente en esta entrada, sin confirmar:</h3>  
			
			<table class="tablaFormateada anchoMaximo">
			
				<tr>
					<th>Código</th>
					<th>Descripción</th>
					<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
						<?php if($comportamiento['Activo']=='S') { ?><th><?php echo $comportamiento['Nombre']; ?></th><?php } ?>
					<?php } ?>
					
					<th>Cantidad</th>
					<th>Formato</th>
					
					<th>Palet</th>
					<?php if($pedirUbicacion) { ?>
					<th>Ubicación</th>
					<?php } ?>
					
					<?php if($gestionProductosRegalo) { ?>
					<th>Regalos</th>
					<?php } ?>
					
					<th>Cancelar</th>
					
				</tr>
		
				<?php foreach($_SESSION['productosLeidos'] as $producto) { ?>
				
				<?php
				
				//Articulo,Linea,Idioma,Precinta,Ubicacion,IdPalet,Lote,Caducidad,Serie
				
				$indice=construyeIndice($producto,true);
				
				?>
				
				
				<tr>
				
					<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
									if($comportamiento['NombreSQL']=='Regimen') echo $producto['Regimen'];
									else if($comportamiento['NombreSQL']=='NumSerie') echo $producto['NumeroSerie']; //20-10-2023
									else echo formateaTipo($producto[$comportamiento['NombreSQL']],$comportamiento['Tipo']);
								?>
							</td> 
						<?php } ?>
					<?php } ?>
					
					<td align="right"><?php echo formateaNumeroDecimal($producto['CantidadLeida'],true); ?></td>
					<td align="center"><?php echo $producto['Formato']; ?></td>
					
					<td align="center"><?php echo $producto['CodigoPalet']; ?></td>
					
					<?php if($pedirUbicacion) { ?>
					<td align="center"><?php echo $producto['Ubicacion']; ?></td>
					<?php } ?>
					
					<?php if($gestionProductosRegalo) { ?>
					<td>
						<?php if($producto['Regalos'] || $producto['CantidadRegalo']) { ?>
							
							<?php
							$cadenaRegalos='';
							if($producto['Regalos']) {
								foreach(arreglaArrayPXMobileProxiumResult($producto['Regalos']) as $regalo) {
									if($cadenaRegalos!='') $cadenaRegalos.='|';
									$cadenaRegalos.=$regalo['Cantidad'].'¬'.$regalo['Codigo'].'¬'.$regalo['Descripcion'].'¬'.$regalo['UDdeRegalo'];
								}
							}
							?>
							<img src="<?php echo DIR_IMAGENES; ?>/palet-info.png"
							width="50"
							height="50"
							class="iconoRegalos clicable"
							<?php if($producto['Regalos']) { ?>regalos="<?php echo $cadenaRegalos; ?>"<?php } ?>
							<?php if($producto['CantidadRegalo']) { ?>
							CantTotalProductoEnLaOrden="<?php echo $producto['CantTotalProductoEnLaOrden']; ?>"
							cantidadRegalo="<?php echo $producto['CantidadRegalo']; ?>"
							<?php } ?>
							/>
							
						<?php } ?>
					</td>
					<?php } ?>
					
					<td><input type="text" class="campo cantidad" id="<?php echo $indice; ?>" name="<?php echo $indice; ?>" value="" style="width:100px;text-align:right" cantidadOriginal="<?php echo $producto['CantidadLeida']; ?>"/></td>
					
			</tr>
				
			<?php }  //Fin foreach productos ?>
			</table>
		
			<p><input type="button" id="botonConfirmarCancelacion" name="botonConfirmarCancelacion" value="Confirmar cancelación" class="boton"/>
		  </p>
			<input type="hidden" id="confirmarCancelacion" name="confirmarCancelacion" value="" />
			
			
		<?php } //Fin si hay productos en el listado leidos ?>
		
		<p><input type="button" id="botonVolver" name="botonVolver" value="Volver" class="boton"/>
		</p>
		
		</form>
		
		
		
		
		
		<script>
	
		function validaCantidades() {
		
			$('.cantidad').removeClass('campoError');
		
			var ningunaCantidad=true;
			var cantidadesMayores=false;
			
			$('.cantidad').each(function(){
			
				if( $(this).val() ) ningunaCantidad=false;
				
				if( $(this).val() && parseFloat($(this).val()) > parseFloat($(this).attr('cantidadOriginal')) ) {
					cantidadesMayores=true;
					$(this).addClass('campoError');
				}
			
			});
			
			if( ningunaCantidad ) {
				alert('No has indicado ninguna cantidad a cancelar.',null,'error');
				return false;
			}
			else if( cantidadesMayores ) {
				alert('Has indicado cancelar cantidades mayores a las leídas.',null,'error');
				return false;
			}
			else return true;
		
		}
		
		function enviarFormulario() {
			
			$('#confirmarCancelacion').val(1);
		
			$('#popupCargando').show();
			$('#formularioCancelacion').submit();
		
		}
		
		$(document).ready(function() {
		
			$('#botonVolver').on('click',function(){
			
				$('#popupCargando').show();
				window.location='<?php echo $direccionRetorno; ?>';
				
			});
			
			$('.cantidad').on("click",function(e) {
				$('#calculadora').show();
				$('#valorCalculadora').val( $(this).val() );
				$('#enterCalculadora').attr('campoValor', $(this).attr('id') );
				$('#enterCalculadora').attr('forzarEnter','si');
			});
			
			$('#botonConfirmarCancelacion').on('click',function(){
			
				if( validaCantidades() ) {
			
					enviarFormulario()
					
				}
				
			});
		
		
		
		
		
		
		
			
			<?php if($gestionProductosRegalo) { ?>
			
			//GESTION POPUP REGALOS
		
			$('.iconoRegalos').on('click',function(){
			
				$('#popupCargando').show();
				
				var regalos=$(this).attr('regalos');
				var cantidad=$(this).attr('CantTotalProductoEnLaOrden');
				var cantidadRegalo=$(this).attr('cantidadRegalo');
				
				var posicionIcono=$(this).position();
				posicionIcono=parseInt(posicionIcono.top);
				
				$.post('<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-regalos.php?regalos' , { 'regalos' : regalos , 'cantidad' : cantidad , 'cantidadRegalo' : cantidadRegalo } )
				.done(function(data) {
				
					$('#popupRegalosContenido').html(data);
					
					var posicionScroll = parseInt($('html').scrollTop());
					var posicionMover= posicionScroll + (posicionIcono*0.25);
					$('#popupRegalosContenido').css('top',posicionMover);
					
					$('#popupRegalos').show();
					$('#popupRegalosContenido').show();
					
					$('#popupCargando').hide();
					
				});
				
			});
			
			$(document).on('click','#botonCerrarRegalos',function(){
			
				$('#popupRegalosContenido').html('');
			
				$('#popupRegalos').hide();
				$('#popupRegalosContenido').hide();
			
			});
			
			<?php } ?>
		
		});
		
		</script>

		

	<?php } //Fin de si no está bloqueada por otro usuario ?>
	
	</div> <!-- classe estilosOP -->
	
	<?php
	
} //Fin no hay error en listado proveedores con compras pendientes
else {
	?><p>No hay ningún producto pendiente en ese albarán.</p><?php
}




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