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

//$estadosAlmacen=unserialize(ESTADOSALMACEN);
//Se detecta este error, ya no están definidos por constantes, sino que vienen por parametros de empresa en el login
$estadosAlmacen=$_SESSION['estadosProductos'];


if( isset($_POST['palet']) && $_POST['palet'] ) $palet=$_POST['palet'];




function listaProductos($listado,$informable) {

	global $palet;

	$columnasFijas=4;
	
	if($_SESSION['mostrarColumnasStockEnProceso']) $columnasFijas=$columnasFijas+2;
	
	$columnasVariables=0;
	
	?>
    
	<table class="tablaFormateada">
	<tr>
		<?php if(count($_SESSION['empresas'])>1) { ?>
        <th>Emp.</th>
        <?php $columnasVariables++;; ?>
		<?php } ?>
        
        <?php if($_SESSION['gestion']=='PUB' || $_SESSION['gestion']=='PUBPRI') { ?>
        <th>Cli. Prop.</th>
      	<th>Nombre Cli. Prop.</th>
        <?php $columnasVariables=$columnasVariables+2; ?>
		<?php } ?>
        
        <th>Producto</th>
        
        <th>Descripción</th>
        
        <?php if($_SESSION['gestion']!='PUB') { ?>
        <th>Familia</th>
        <?php $columnasVariables++;; ?>
        <?php } ?>
        
		<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
			<?php $columnasVariables++; ?>
            <?php if($comportamiento['Activo']) { ?><th><?php echo $comportamiento['Nombre']; ?></th><?php } ?>
		<?php } ?>
		
        <th>Estado<br />almacén</th>
        
		<?php //if($_SESSION['gestionDepositos']=='S') { //19-12-2024 Por peticion de ADM y validado por MAE, debe de salir siempre. Ponto salto de carro para que, si sale vacío, la columna no ocupe mucho ?>
        <th>Información<br />adicional</th>
        <?php $columnasVariables++;; ?>
		<?php //} ?>
        
        <th>Stock</th>
        
        <?php if( $_SESSION['mostrarColumnasStockEnProceso'] ) { ?>	 
        <th class="cabecera">En proceso</th>
       	<th class="cabecera">Ubicado</th>
        <?php } ?>
		
		<?php if($_SESSION['verEnCajas']=='S') { ?>
        <th>Cajas</th>
        <?php $columnasVariables++;; ?>
		<?php } ?>
		
        <?php if($informable) { ?>
		<th>Informar</th>
		<?php } ?>
        
	</tr>
	<?php
	
	foreach($listado as $producto) {
	
		$indice=creaIndiceNSInterno($producto,$palet);
		
		//$indice=base64_encode($indice); //CUIDADO, PONE CARACTERES NO ALFANUMERICOS QUE TB HACEN PETAR EL JAVASCRIPT
		$indice=sha1($indice);
		
		?>
		<tr>
			<?php if(count($_SESSION['empresas'])>1) { ?><td><?php echo $producto['Empresa']; ?></td><?php } ?>
			
            <?php if($_SESSION['gestion']=='PUB' || $_SESSION['gestion']=='PUBPRI') { ?>
                <td><?php echo $producto['ClientePropietario']; ?></td>
                <td><?php echo $producto['NombreClientePropietario']; ?></td>
            <?php } ?>
            
            <td><?php echo $producto['Producto']; ?></td>
			
            <td align="left"><?php echo $producto['Descripcion']; ?></td>
            
            <?php if($_SESSION['gestion']!='PUB') { ?>
            	<td><?php echo $producto['FamiliaDescripcion']; ?></td>
            <?php } ?>
            
			<?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
				<?php if($comportamiento['Activo']=='S') { ?>
				<td>
					<?php
					$cadenaNumerosSerie='';
					$numerosSerie=arreglaArrayPXMobileProxiumResult($producto['NumerosSerie']);
					foreach($numerosSerie as $numero) {
						if(!empty($cadenaNumerosSerie)) $cadenaNumerosSerie.=';';
						$cadenaNumerosSerie.=$numero['NumeroSerie'].','.$numero['Leido'];
					}
					
					if(is_array($numerosSerie) && count($numerosSerie)>0 && $comportamiento['Codigo']=='NS') {
						?><img class="verNumerosSerie clicable" src="<?php echo DIR_IMAGENES; ?>/barcode-buscar.png" style="width:60px" numeros="<?php echo $cadenaNumerosSerie; ?>" /><?php
					}
					else foreach($datos as $dato) {
						if($dato['Codigo']==$comportamiento['Codigo']) {
						
							echo formateaTipo($dato['Valor'],$comportamiento['Tipo']);
                            break;
						}
					}
					?>
				</td>
				<?php } ?>
			<?php } ?>
            
            <td align="center"><?php foreach($estadosAlmacen as $estado) if($estado['Estado']==$producto['EstadoAlmacen']) echo $estado['DescripcionEstado']; ?></td>
            
		    <?php //if($_SESSION['gestionDepositos']=='S') { ?>
            <td class="informacionAduanera"><?php echo $producto['InformacionAduanera']; ?></td>
            <?php //} ?>
			
            <td align="right"><?php echo $producto['Stock']; //echo number_format($producto['Stock'],0,'','.'); ?></td>
            
            <?php if( $_SESSION['mostrarColumnasStockEnProceso'] ) { ?>	 
            <td align="right"><?php echo $producto['StockEnProceso']; //echo number_format($producto['StockEnProceso'],0,'','.'); ?></th>
            <td align="right"><?php echo $producto['StockUbicacion']; //echo number_format($producto['StockUbicacion'],0,'','.'); ?></th>
            <?php } ?>
            
			<?php if($_SESSION['verEnCajas']=='S') { ?><td align="right"><?php echo $producto['Cajas']; //echo number_format($producto['Cajas'],2,',','.'); ?></td><?php } ?>
			
            <?php if($informable) { ?>
			<td align="left"><img src="<?php echo DIR_IMAGENES; ?>/editar.png" style="width:50px;margin-left:10px;" indice="<?php echo $indice; ?>" palet="<?php echo $palet; ?>" class="botonInformar clicable"/></td>
            <?php } ?>

		</tr>
        
	<?php } ?>
    
	</table>

<?php

} //Fin function listaProductos




$noAgrupar=''; //Para que agrupe las lineas con NS

$peticion='SGAUbicar#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#PRODUCTOSCONTENEDOR#'.$_SESSION['almacen'].';'.$palet.';'.$noAgrupar;
$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);

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

if(!$resultado[0]['Error']) {



	$productosInformables=array();
	$productosInformados=array();
	$productosNoInformables=array();
	
	foreach($resultado as $producto) {
	
		if( ( isset($producto['GestionNumSerie']) && $producto['GestionNumSerie']=='S' ) || ( isset($producto['GestionNumSerieInterno']) && $producto['GestionNumSerieInterno']=='I' ) ) {
		
			//$datos=$producto['Datos']['PXMobileProxiumResult'];
			
			$numerosSerie=arreglaArrayPXMobileProxiumResult($producto['NumerosSerie']);
			
			if(count($numerosSerie)>0) $productosInformados[]=$producto;
			else $productosInformables[]=$producto;
		
		}
		else {
		
			$productosNoInformables[]=$producto;
		
		}
	
	}
	
	if(count($productosInformables)>0) {
	
		?><p>Productos con número de serie a informar:</p><?php
		
		listaProductos($productosInformables,true);
	
	}
	
	if(count($productosInformados)>0) {
	
		?><p>Productos con número de serie ya informados:</p><?php
		
		listaProductos($productosInformados,false);
	
	}
	
	if(count($productosNoInformables)>0) {
	
		?><p>Productos sin gestión de número de serie:</p><?php
		
		listaProductos($productosNoInformables,false);
		
	}

	?>
    
    <div id="popupNumerosSerie" class="popup" style="display:none"></div>
	<div id="popupNumerosSerieContenido" class="popupContenidoScroll" style="display:none"></div>
    
    <script>
	
	$(document).ready(function() {
	
		$('.botonInformar').on('click',function(){
		
			const indice=$(this).attr('indice');
			const palet=$(this).attr('palet');
			
			$('#popupCargando').show();
			window.location='numeros-serie-internos-informar.php?indice='+indice+'&palet='+palet;
		
		});
	
		$('.verNumerosSerie').on('click',function(){
			$.post('<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-numeros-serie.php' , { 'numeros' : $(this).attr('numeros') , 'ocultarCantidad' : 'si' , 'ocultarPreparado' : 'si' })
			.done(function(data) {
				$('#popupNumerosSerieContenido').html(data);
				$('#popupNumerosSerie').show();
				$('#popupNumerosSerieContenido').show();
					
				var posicion=$(document).scrollTop();
				$('#popupNumerosSerieContenido').offset({ top: posicion+20 });
			});
		});
		
		$('#formularioContenedorDestino').show();
		$("#contenedorDestino").focus();
		
	});
	
	</script>

	<?php
	
}
else {
	$error=explode("#",$resultado[0]['Error']);
	?><p class="error"><?php echo $error[1]; ?></p><?php
}
?>