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

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

/*
$articulo=$_GET['articulo'];
$tipoPropietario=$_GET['tipoPropietario'];
$propietario=$_GET['propietario'];
$ubicacionRepo=$_GET['ubicacionRepo'];
*/

if(!$_SESSION['orden_reposicion']) $_SESSION['orden_reposicion']=$_GET;

// WSReposicionDetalle(EMP,Art,TipoPropietario,Propietario,Almacen,UbicacionRepo)

$peticion='WSReposicionDetalle#'.$_SESSION['empresa'].'#'.$_SESSION['orden_reposicion']['articulo'].'#'.$_SESSION['orden_reposicion']['tipoPropietario'].'#'.$_SESSION['orden_reposicion']['propietario'].'#'.$_SESSION['almacen'].'#'.$_SESSION['orden_reposicion']['ubicacionRepo'];
$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);

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

$_SESSION['orden_reposicion']['detalle']=$resultado[0];
$listado=arreglaArrayPXMobileProxiumResult($_SESSION['orden_reposicion']['detalle']['Detalle']);

if($_GET['traza']=='si') {
	echo '<p>Stock: '.$_SESSION['orden_reposicion']['detalle']['Stock'].'</p>';
	echo '<p>CapacidadUbicacion: '.$_SESSION['orden_reposicion']['detalle']['CapacidadUbicacion'].'</p>';
}

//15-04-2026
if(isset($_SESSION['orden_reposicion']['detalle']['UbicacionRobot']) && $_SESSION['orden_reposicion']['detalle']['UbicacionRobot']=='S' && isset($_SESSION['orden_reposicion']['detalle']['UbicacionRobotPalet']) && $_SESSION['orden_reposicion']['detalle']['UbicacionRobotPalet']) {

	$paletDestinoFijado=$_SESSION['orden_reposicion']['detalle']['UbicacionRobotPalet'];
	
}
else $paletDestinoFijado='';

//24-01-2024
if($_SESSION['orden_reposicion']['detalle']['Stock']>0 && $_SESSION['orden_reposicion']['detalle']['CapacidadUbicacion']!='' && (float)$_SESSION['orden_reposicion']['detalle']['CapacidadUbicacion']==0) {

	?>
    <script>
		alert('No hay capacidad disponible en la ubicacion: <?php echo $_SESSION['orden_reposicion']['ubicacionRepo']; ?>')
		.done(function(){
			$('#popupCargando').show();
			window.location='reposicion-ordenes.php';
		});
	</script>
    <?php
}
else {

	//24-01-2024
	$hayErrorPicking=false;
	$todosLosPaletsExceden=false;
	if( $_SESSION['orden_reposicion']['detalle']['CapacidadUbicacion']>0 && count($listado)>0 ) {
		$todosLosPaletsExceden=true;
		foreach($listado as $item) {
			if($item['Cantidad']<=$_SESSION['orden_reposicion']['detalle']['CapacidadUbicacion']) $todosLosPaletsExceden=false;
		}
	}
	if($todosLosPaletsExceden) $hayErrorPicking=true;
	
	//$hayErrorPicking=true;
	
	if(!$_SESSION['orden_reposicion']['detalle']['Error']) {
	
		?>
		<h2>Orden de Reposición</h2>
		
		<div id="popupTipoMovimiento" class="popup" style="display:none;">
			<div id="popupTipoMovimientoContenido" class="popupContenido">
				<h2 style="margin:50px 0 30px 0">Selecciona el tipo de movimiento a realizar:</h2>
				<p><input type="button" name="tipoMovimientoTraspasar" id="tipoMovimientoTraspasar" value="<?php if($_SESSION['parametrosSGA']['PlayaRobotReposicion']) { ?>Traspasar producto a la playa del robot<?php } else { ?>Traspasar producto a la posición de Picking<?php } ?>" class="boton"/></p>
				<p><input type="button" name="tipoMovimientoUbicar" id="tipoMovimientoUbicar" value="<?php if($_SESSION['parametrosSGA']['PlayaRobotReposicion']) { ?>Ubicar palet en la playa del robot<?php } else { ?>Ubicar Palet en la posición de Picking<?php } ?>" class="boton"/></p>
				<p><input type="button" name="tipoMovimientoCancelar" id="tipoMovimientoCancelar" value="Cancelar" class="boton reducido"/></p>
			</div>
		</div>
		
		<?php include('contenidos/reposicion-orden-cabecera.php'); ?>
		
		<?php if(count($listado)>0) { ?>
		
			<p><input type="button" name="botonVolver1" id="botonVolver1" value="Volver al listado" class="boton reducido botonVolver"/></p>
			
			<?php if($hayErrorPicking && !$paletDestinoFijado) { ?>
			<p id="mensajeErrorPicking" class="error bloqueCentrado anchoMaximo"><img src="<?php echo DIR_IMAGENES; ?>/iconos/advertencia.png" width="50" height="50" /><br />
            No hay ningún palet en stock ubicable en la posición de picking.<br />
            <br />
            Si quieres ubicar directamente, tendrás que traspasar producto a un palet nuevo y ubicarlo en la posición de picking.</p>
			<?php } ?>
		
			<p>Detalle del almacén:</p>
			
			<table class="tablaFormateada anchoMaximo desplazamientoSuperior">
			<tr>
				<th>Seleccionar</th>
				<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
					<?php if($comportamiento['Activo']) { ?><th><?php echo $comportamiento['NombreSQL']; ?></th><?php } ?>
				<?php } ?>
				<th>Ubicación</th>
				<th>Palet</th>
				<th>Cantidad</th>
				<?php if($_SESSION['verEnCajas']=='S') { ?><th>Cajas</th><?php } ?>
			</tr>
			
			<?php foreach($listado as $item) { ?>
			
            	<?php 
				//No permitir ubicar se controla a nivel de cada palet
				$noPermitirUbicar=($item['Cantidad']>$_SESSION['orden_reposicion']['detalle']['CapacidadUbicacion']);
				//15-04-2026 no permite ubicar si la ubicacion de reposicion es tipo robot (Ulises - Altimex)
				if( isset($_SESSION['orden_reposicion']['detalle']['UbicacionRobot']) && $_SESSION['orden_reposicion']['detalle']['UbicacionRobot']=='S' ) $noPermitirUbicar=true;
				?>
            
                <tr>
                    <td>
                    <?php //if( $item['Palet']!='-' && !$hayErrorPicking ) { //10-04-2026 Quito esta opcion porque aunque no se pueda ubicar, se puede traspasar ?>
                    <?php if( $item['Palet']!='-' ) { ?>
                    <input type="checkbox" class="checkGrande selectorInicio" <?php if($noPermitirUbicar) { ?>noPermitirUbicar='si'<?php } ?>/>
					<?php } ?>
                    </td>
                    <?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
                    <td campo="<?php echo $comportamiento['NombreSQL']; ?>"><?php echo $item[$comportamiento['NombreSQL']]; ?></td>
                    <?php } ?>
                    </td>
                    <td campo="Ubicacion"><?php echo $item['Ubicacion']; ?></td>
                    <td campo="Palet"><?php echo $item['Palet']; ?></td>
                    <td campo="Cantidad"><?php echo $item['Cantidad']; ?></td>
                    <?php if($_SESSION['verEnCajas']=='S') { ?><td campo="Cajas"><?php echo $item['Cajas']; ?></td><?php } ?>
                </tr>
			
			<?php } ?> 
			
			</table>
			
			<?php $pantalla_anterior='reposicion-ordenes.php'; ?>
			<?php include('maqueta/menu-orden-reposicion.php'); ?>
		
		<?php } else { ?>
		
			<p>No se ha encontrado stock disponible en el almacén.</p>
		
		<?php } ?>
		
		<p><input type="button" name="botonVolver2" id="botonVolver2" value="Volver al listado" class="boton reducido botonVolver"/></p>
		
		<script>
		
		function deseleccionarTodo(){
		
			$('.selectorInicio').each(function(){ $(this).prop('checked',false); });
		
		}
		
		$(document).ready(function() {
		
			$('.botonVolver').on('click',function(){
				$('#popupCargando').show();
				window.location='<?php echo $rutaHtml; ?>/reposicion-ordenes.php';
			});
			
			$('.selectorInicio').on('click',function(){
			
				$('#popupCargando').show();
				
				var seleccionado=$(this);
				
				deseleccionarTodo();
			
				var campos=new Array();
				seleccionado.parent().siblings('td').each(function(){
					if($(this).attr('Campo')) campos[ $(this).attr('Campo') ] = $(this).html();
				});
				
				var valores = Object.assign({}, campos);
			
				$.post( "<?php echo $rutaHtml; ?>/contenidos/reposicion-orden-seleccionar-linea.php" , valores )
				.done( function(data){
				
					seleccionado.prop('checked',true);
					
					if(seleccionado.attr('noPermitirUbicar')) $('#tipoMovimientoUbicar').hide();
					else $('#tipoMovimientoUbicar').show();
					
					$('#popupTipoMovimiento').show();
					$('#popupCargando').hide();	
						
				});
				
			});
			
			$('#tipoMovimientoTraspasar').on('click',function(){
				
				$('#popupCargando').show();
				window.location='traspasar-productos.php?procedencia=reposicion';
				
			});
			
			$('#tipoMovimientoUbicar').on('click',function(){
				
				$('#popupCargando').show();
				window.location='ubicar-contenedor.php?procedencia=reposicion';
				
			});
			
			$('#tipoMovimientoCancelar').on('click',function(){
				
				deseleccionarTodo();
				$('#popupTipoMovimiento').hide();
				
			});
			
			deseleccionarTodo();
		
		});
		
		</script>
		
		<?php
	}
	else {
		?><p class="error">ERROR: No se ha encontrado ningún artículo.</p><?php
	}
	
} //Fin no queda ubicable, y vuelve a la pantalla anterior

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