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


//ini_set('display_startup_errors', 1);
//ini_set('display_errors', 1);
//error_reporting(-1);


$indiceCrossdocking=$_SESSION['recepcionCompra']['proveedorCodigo'].'@'.$_SESSION['recepcionCompra']['numAlbaran'];
	
if($_SESSION['recepcionCompraCrossdocking'][$indiceCrossdocking]['crossdocking_agrupado_pedidoVenta'] && $_SESSION['recepcionCompraCrossdocking'][$indiceCrossdocking]['crossdocking_agrupado']=='S') {
	$vieneDeCrossdockingAgrupado='S';
}
else {
	$vieneDeCrossdockingAgrupado='';
}



$pedirUbicacion=$_SESSION['seleccionUbicacionEntrada'];

//23-08-2023 mostrar carga y filtros
$mostrarCargaCamion=($_SESSION['parametrosSGA']['ControlCamionesRecepcion']=='S' || $_SESSION['parametrosSGA']['ControlCamionesRecepcion']=='P');

if($_GET['traza']=='si') {
	echo '<p>Los datos se obtienen de la SESSION productosLeidos:</p>';
	print_r($_SESSION['productosLeidos']);
}




if($_POST) {

	//print_r($_POST);
	//echo "<hr><hr>";

	$parametros='';
	
	foreach($_SESSION['productosLeidos'] as $producto) {
		
		$indice=$producto['CodigoPalet'].'_'.$producto['Pedido'].'_'.$producto['PedidoLinea'].'_'.limpiaCodigo($producto['Lote']).'_'.$producto['FechaCaducidad'].'_'.$producto['NumeroSerie'];
		
		$numerosSerie=arreglaArrayPXMobileProxiumResult($producto['NumerosSerie']);
		$numerosDeSerieDesleer=array();
		if(count($numerosSerie)>0) {
			foreach($_POST as $campo=>$valor) {
				$valores=explode('_',$campo);
				//print_r($valores);
				//echo '<hr>';
				if($valores[0]=='numserie' && $valores[1]==$producto['CodigoPalet']  && $valores[2]==$producto['Pedido'] && $valores[3]==$producto['PedidoLinea'] && $valores[4]==$producto['Lote'] && $valores[5]==$producto['FechaCaducidad'] && $valores[6]==$producto['NumeroSerie'] && $valor=='on') {
					//echo "<p>Numero de Serie: ".$valores[7]."</p>";
					$numerosDeSerieDesleer[]=$valores[7];
				}
			}
			$cantidad=1;
		}
		else {
			$numerosDeSerieDesleer[]=$producto['NumeroSerie'];
			$cantidad=$_POST['desleer_'.$indice];
		}
			
		
		//echo "<p>cantidad: ".$cantidad."</p>";
			
		if($cantidad>0) {
		
			foreach($numerosDeSerieDesleer as $itemNS) {
			
				if(!$producto['CodigoPalet']) $producto['CodigoPalet']='-';
					
				$parametros.=$producto['Pedido'];
				$parametros.=','.$producto['PedidoLinea'];
				$parametros.=','.$producto['Lote'];
				$parametros.=','.$producto['FechaCaducidad'];
				$parametros.=','.$producto['CodigoPalet'];
				$parametros.=','.$itemNS; //Aqui está el num de serie
				$parametros.=','.$producto['Ubicacion'];
				$parametros.=','.$cantidad;
				$parametros.='|';
			
			}
			

			
		} //Fin si hay cantidad informada
		
	} //Fin foreach ccada producto
	
	
	
	$parametros=substr($parametros,0,-1);
	
	//echo "<p>Parametros:</p>";
	//echo "<p>".$parametros."</p>";
	
	$peticion='WSRecepcionComprasTablet#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#ANULALECTURAS#';
	$peticion.=$_SESSION['almacen'];
	$peticion.=';'.$_SESSION['recepcionCompra']['proveedorCodigo'];
	$peticion.=';'.$_SESSION['recepcionCompra']['numAlbaran'];
	$peticion.=';'.$parametros;
	
	if($vieneDeCrossdockingAgrupado) $peticion.=';'.$vieneDeCrossdockingAgrupado;
	
	$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]=='0') {
		?>
        <script>
		alert('<?php echo $valores[1]; ?>',null,'ok')
		.done(function(){
			$('#popupCargando').show();
			window.location='<?php echo $rutaHtml; ?>/recepcion-compra.php';
		});
		</script>
        <?php
	}
	else {
		?>
        <p class="error">ERROR: <?php echo $valores[1]; ?></p>
        <?php
	}

}
else {



/////// RE-CARGA DE LOS DATOS DE LA RECEPCION ///////

$peticion='WSRecepcionComprasTablet#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#PRODUCTOSPROVEEDOR#';
$peticion.=$_SESSION['almacen'];
$peticion.=';'.$_SESSION['recepcionCompra']['proveedorCodigo'];
$peticion.=';'.fechaParaProxium(fechaMysql($_SESSION['recepcionCompra']['fechaRecepcion']));
$peticion.=';'.$_SESSION['recepcionCompra']['numAlbaran'];
$peticion.=';'.fechaParaProxium(fechaMysql($_SESSION['recepcionCompra']['fechaAlbaran']));

$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);


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


?>

<div class="estilosOP">

<div id="popupNumerosSerie" class="popup" style="display:none"></div>
<div id="popupNumerosSerieContenido" class="popupContenidoScroll" style="display:none"></div>

<h2>Recepción de Compra</h2>

<form id="formulario" name="formulario" method="post" action="">

<table class="tablaFormateada anchoMaximo desplazamientoSuperior">
			<tr>
				<th>Proveedor</th>
				<th>Fecha Recepción</th>
				<th>Albarán</th>
				<th>Fecha Albarán</th>
				<th>Productos</th>
				<th>Cantidad</th>
				<th>Palets</th>
			</tr>
			<tr>
				<td><?php echo $_SESSION['recepcionCompra']['proveedorNombre']; ?></td>
				<td><?php echo $_SESSION['recepcionCompra']['fechaRecepcion']; ?></td>
				<td><?php echo $_SESSION['recepcionCompra']['numAlbaran']; ?></td>
				<td><?php echo $_SESSION['recepcionCompra']['fechaAlbaran']; ?></td>
				<td><?php echo formateaNumeroDecimal($albaran['CantidadProductos'],true); ?></td>
				<td><?php echo formateaNumeroDecimal($albaran['Cantidad'],true); ?></td>
				<td><?php echo formateaNumeroDecimal($albaran['CantidadPalets'],true); ?></td>
			</tr>
		</table>

<h3>Productos leídos de este Albarán:</h3>
		
<table class="tablaFormateada">

    	<tr>
			<th>Pedido</th>
            <?php if($mostrarCargaCamion) { ?>
            <th>Carga</th>
            <?php } ?>
			<th>Linea</th>
			<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 } ?>
			<th>Liberar</th>         
		</tr>
    <?php
	
		
	foreach($_SESSION['productosLeidos'] as $producto) {
	
		$indice=$producto['CodigoPalet'].'_'.$producto['Pedido'].'_'.$producto['PedidoLinea'].'_'.limpiaCodigo($producto['Lote']).'_'.$producto['FechaCaducidad'].'_'.$producto['NumeroSerie'];
		
		$numerosSerie=arreglaArrayPXMobileProxiumResult($producto['NumerosSerie']);

		?>
		<tr class="lineaEntrada" pedido="<?php echo $producto['Pedido']; ?>" pedidolinea="<?php echo $producto['PedidoLinea']; ?>">
			
            <td align="center"><?php echo $producto['Pedido']; ?></td>
            
            <?php if($mostrarCargaCamion) { ?>
            <td align="center">
			<?php
			//echo $producto['CargaCamion'];
			$cargas=explode('¬',$producto['CargaCamion']);
			foreach($cargas as $carga) echo $carga.'<br>';
			?>
			</td>
            <?php } ?>
            
			<td align="center"><?php echo $producto['PedidoLinea']; ?></td>
            
            <td ><?php echo $producto['Codigo']; ?></td>
			<td align="left" style="max-width:400px;word-wrap:break-word;"><?php echo $producto['Descripcion']; ?></td>
			
            <?php foreach($_SESSION['comportamientos'] as $comportamiento) { ?>
				<?php if($comportamiento['Activo']=='S') { ?>
					<td align="left">
					<?php
						if($comportamiento['Codigo']=='NS' && count($numerosSerie)>0) {
							foreach($numerosSerie as $numero) {
								?><label><input name="numserie_<?php echo $indice; ?>_<?php echo $numero['NumeroSerie']; ?>" type="checkbox" class="checkGrande selectorNumeroSerie" id="numserie_<?php echo $indice; ?>_<?php echo $numero['NumeroSerie']; ?>" value="on" pedido="<?php echo $producto['Pedido']; ?>" pedidolinea="<?php echo $producto['PedidoLinea']; ?>" codigoPalet="<?php echo $producto['CodigoPalet']; ?>"/><?php echo $numero['NumeroSerie']; ?></label><br /><?php
							}
						}
						else if($comportamiento['NombreSQL']=='Regimen') echo $producto['Regimen'];
						else echo formateaTipo($producto[$comportamiento['NombreSQL']],$comportamiento['Tipo']);
					?>
                	</td>
				<?php } ?>
			<?php } ?>
            
            <td align="right" ><?php echo formateaNumeroDecimal($producto['Leido']); ?></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 } ?>
            
            <td align="center" >
				<input name="desleer_<?php echo $indice; ?>" type="text" id="desleer_<?php echo $indice; ?>" size="2" maxlength="12" class="cantidad campo" maximo="<?php if(count($numerosSerie)>0) echo count($numerosSerie); else echo $producto['Leido']; ?>" contador="<?php echo $contador; ?>" <?php if(count($numerosSerie)>0) { ?>readonly="readonly"<?php } ?> autocomplete="off"/>
			 </td>

		</tr>
	
	<?php } //Fin iteracion productos ?>
    
</table>

<p><input type="submit" name="botonConfirmarDesleer" id="botonConfirmarDesleer" value="Confirmar liberación de lectura" class="boton"/></p>

</form>

<p><input type="submit" name="botonVolver" id="botonVolver" value="Volver a la Recepción de Compra" class="boton reducido mostrarCargando"/></p>

</div> <!-- classe estilosOP -->

<script>

$(document).ready(function() {

	
		
		$('#botonVolver').on("click",function(e) {
			e.preventDefault();
			window.location='<?php echo $rutaHtml; ?>/recepcion-compra.php';
		});
		
		function indiceNS(id) {
		
			let indice=id.split('numserie_');
			indice=indice[1];
			
			//console.log('indice: '+indice);
			
			const trozos=indice.split('_');
			const ns=trozos[trozos.length-1];
			
			
			//console.log(trozos);
			//console.log('logitud: '+trozos.length);
			//console.log('ns: '+ns);
			
			indice=indice.split('_'+ns);
			indice=indice[0];
			
			//console.log('indice final: '+indice);
			
			return indice;
		
		}
		
		
		$('.selectorNumeroSerie').on('click',function() {
		
			const id=$(this).attr('id');
			const indice=indiceNS(id);
			
			console.log('----------------');
			console.log('click en indice: '+indice);
			
			var pedido=$(this).attr('pedido');
			var pedidolinea=$(this).attr('pedidolinea');
			var codigoPalet=$(this).attr('codigoPalet');
			
			var cuantos=0;
			
			$('.selectorNumeroSerie').each(function(){
				
				const id2=$(this).attr('id');
				const indice2=indiceNS(id2);
				
				console.log('evaluamos contra indice2: '+indice2);
				
				if( $(this).is(':checked') && indice==indice2 ) {
					console.log('coincide: '+cuantos);
					cuantos++;
				}
				else {
					console.log('NO coincide');
				}
			});
			
			if(cuantos==0) cuantos='';
			
			$('#desleer_'+indice).val( cuantos );
		
		});
		
		$('#botonConfirmarDesleer').on("click",function(e) {
		
			e.preventDefault();
			
			$('.cantidad').each(function() {
				$(this).removeClass('campoError');
			});
			
			var vacio=true;
			var error=false;
			
			$('.cantidad').each(function(){
			
				if($(this).val()!='') vacio=false;
			
				var contador=$(this).attr('contador');
				var maximo;
				
				maximo=parseFloat($(this).attr('maximo'));
				
				if( parseFloat($(this).val()) > maximo ) {
					$(this).addClass('campoError');
					error=true;
				}

			});
			
			if(vacio) {
				alert('ATENCIÓN: No hay especificada ninguna cantidad a liberar.',null,'error');
			}
			else if(error) {
				alert('ERROR: Hay cantidades que exceden el total leído.',null,'error');
			}
			else {
				$('#popupCargando').show();
				$('#formulario').submit();
			}
		});
		
		$('.cantidad').on("click",function(e) {
		
			if( ! $(this).attr('readonly')) {
		
				$('#calculadora').show();
				$('#valorCalculadora').val( $(this).val() );
				$('#enterCalculadora').attr('campoValor',$(this).attr('id'));
			
			}
		
		});
		
});

</script>
<?php
}

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