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


//25-08-2022 Puntos control
$puntosControlCarga=($_SESSION['parametrosSGA']['PuntosControlCarga']=='S');

//print_r($_SESSION['carga']);

//01-04-2025 añadimos estos datos una SESSION para poder volver atrás en el caso de que saltemos a una preparación
if($_GET['ordenesPreparacion']) $_SESSION['carga']['ordenesPreparacionFiltrar']=$_GET['ordenesPreparacion'];
if($_GET['filtroFecha']) $_SESSION['carga']['filtroFecha']=$_GET['filtroFecha'];
if($_GET['empresa']) $_SESSION['carga']['empresa']=$_GET['empresa'];


//echo '<p>acción confirmar: '.$_POST['confirmar'].'</p>';
//echo '<p>cadena lecturas: '.$_POST['cadenaLecturas'].'</p>';

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

	if($_POST['cadenaLecturas']!='') {
			
		if($_POST['tipoLectura']=='carga') {
			
			$peticion='SGACargasCamionLeerPalet#'.$_SESSION['carga']['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#'.$_POST['cadenaLecturas'].'#'.$_POST['packingList'];
			
		}
		else {
		
			//18-10-2022 descarga
			$peticion='WSLiberarLecturaPaletsCarga#'.$_SESSION['carga']['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#'.$_POST['packingList'].'#'.$_POST['cadenaLecturas'];
		}
		
		$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);
		
		if($_GET['traza']=='si') {
			echo "<p>".$peticion."</p>";
			print_r($resultado);
		}
		
		?>
		<script>
		$('#popupCargando').show();
		window.location=window.location;
		</script>
        <?php
	}

}



//Volvemos a recargar la consulta, para tener datos en tiempo real

$peticion='SGACargasCamion#'.$_SESSION['empresa'].'#'.$_SESSION['usuario']['Usuario'].'#CARGASENCURSO#'.$fecha.";".$_SESSION['almacen'];
$resultado=PedirDatos($wsUsuario,$wsClave,$wsEmpresa,$peticion);

//echo '<p>NumCarga: '.$_SESSION['carga']['NumCarga'].'</p>';
//echo '<p>'.$peticion.'</p>';
//print_r($resultado);

foreach($resultado as $item) {

	if($item['NumCarga']==$_SESSION['carga']['NumCarga']) {
	
		$orden=$item;
		
		foreach(arreglaArrayPXMobileProxiumResult($orden['Destinos']) as $item2) {
		
			$ordenesPreparacion="";
			
			foreach(arreglaArrayPXMobileProxiumResult($item2['Detalle']) as $detalle) {
				$ordenesPreparacion.=$detalle['OPrep']."-";
			}
			
			if($_SESSION['carga']['ordenesPreparacionFiltrar']==$ordenesPreparacion && $item2['Empresa']==$_SESSION['carga']['empresa']) {
				$destino=$item2;
			}

		}
		
		//7-3-2022 referencias cliente solicitado IGAN, viene del config
		if($referenciaClienteEnCarga) {
		
			$referenciasCliente=array();
			
			foreach(arreglaArrayPXMobileProxiumResult($destino['Detalle']) as $detalle) {
				if(!in_array($detalle['ReferenciaCliente'],$referenciasCliente) && $detalle['ReferenciaCliente']!='') $referenciasCliente[]=$detalle['ReferenciaCliente'];
			}
		}
		
	}
}

$palets=arreglaArrayPXMobileProxiumResult($destino['Palets']);

if($_GET['traza']=='si') {

	print_r($destino);
}

?>

<script>

var paletsDisponibles=new Array();
var paletsCargados=new Array();
<?php foreach($palets as $palet) { ?>
<?php if($palet['Leido']=='S') { ?>
paletsCargados.push('<?php echo $palet['IDPalet']; ?>');
<?php } else { ?>
paletsDisponibles.push('<?php echo $palet['IDPalet']; ?>');
<?php } ?>
<?php } ?>

</script>

<h2>Carga de Camión Nº <?php echo $_SESSION['carga']['NumCarga']; ?></h2>

<table class="tablaFormateada anchoMaximo">
	<tr>
		<th>Nº Carga</th>
        <?php if($mostrarAgenciaTransporte) { ?><th>Agencia transporte</th><?php } //ATENCION esto está en el config, no en parámetros ?>
		<th>Nombre Carga</th>
		<th>Cliente</th>
        <th>Destino</th>
        
        <?php if($referenciaClienteEnCarga) { ?>
        <th>Referencia cliente</th>
        <?php } ?>
        
        <?php if($_SESSION['visibilidadZonaCarga']) { ?><th>Zona Carga</th><?php } ?>
		<th>Fecha</th>
		<th>Hora</th>
        <th>Matrícula</th>
        <th>Órdenes Prep.</th>
		<th>Bultos</th>
        
        <?php if($puntosControlCarga) { ?>
        <th>Control Carga</th>
        <?php } ?>
        
        
	</tr>
    <tr style="height:75px">
		<td><?php echo $orden['NumCarga']; ?></td>
        <?php if($mostrarAgenciaTransporte) { ?><td><?php echo $orden['AgenciaTransporte']; ?></td><?php } //ATENCION esto está en el config, no en parámetros ?>
		<td><?php echo $orden['NombreCarga']; ?></td>
        <td><?php echo $destino['Cliente']; ?></td>
        <td><?php echo $destino['Destino']; ?></td>
        
        <?php if($referenciaClienteEnCarga) { ?>
        <td>
				<?php
				if(count($referenciasCliente)>1) {
					?>
                    <table class="subtabla sinformato" width="100%">
					<?php foreach($referenciasCliente as $referencia) { ?>
                        <tr><td valign="top"><?php echo $referencia; ?></td></tr>
                    <?php } ?>
                    </table>
                    <?php
				}
				else {
					echo $referenciasCliente[0];
				}
				?>        </td>
        <?php } ?>
        
        <?php if($_SESSION['visibilidadZonaCarga']) { ?><td><?php echo $orden['ZonaCargaCamion']; ?></td><?php } ?>
		<td><?php echo fechaNacional($orden['FechaCarga']); ?></td>
		<td><?php echo $orden['HoraCarga']; ?></td>
        <td><?php echo $orden['MatriculaTractora']; ?></td>
        <td><?php echo $destino['NumOrdenes']; ?><?php if($destino['NumOrdenesPdtes']>0) { ?>/<span style="font-weight:400;color:#FF0000"><?php echo $destino['NumOrdenesPdtes']; ?></span><?php } ?></td>
        <td><?php echo $destino['NumPalets']; ?></td>
        
         <?php if($puntosControlCarga) { ?>
        <td><?php echo $orden['PuntosControlEstado']; ?></td>
        <?php } ?>
        
	</tr>
</table>

<?php if( $_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S' ) { ?>

<p>Packing List: <strong><?php echo $destino['PackingListAsociado']; ?></strong> <img src="<?php echo DIR_IMAGENES; ?>/botones/reresh.png" alt="Refrescar" class="refrescar"/></p>
    
    <?php //if($destino['NumOrdenesPdtes']=='0') { //Antes solo se podía cargar si no habia ordenes pendientes, ahora siempre ?>
    
        <table class="tablaFormateada">
        
            <tr>
                <th>Bulto</th>
                <th>Ubicación</th>
                <th>Cargado</th>
            </tr>
            
            <?php $todosCargados=true; ?>
            <?php $hayAlgunoCargado=false; ?>
            <?php $total=0; ?>
            <?php $cargados=0; ?>
            
            <?php foreach($palets as $palet) { ?>
				<?php if(empty($primerPalet)) $primerPalet=$palet['IDPalet']; ?>
                	<?php $total++; ?>
                    <tr style="height:70px;font-size:1.2em">
                        <td><?php echo $palet['IDPalet']; ?></td>
                        <td><?php echo $palet['Ubicacion']; ?></td>
                        <td>
                        <?php if($palet['Leido']=='S') { ?>
                        	<?php $cargados++; ?>
							<?php $hayAlgunoCargado=true; ?>
                            <img src="<?php echo DIR_IMAGENES; ?>/ok.png" width="30" />
                        <?php } ?>
                        </td>
                    </tr>
                <?php if($palet['Leido']!='S') $todosCargados=false; ?>
            <?php } ?>
            
		</table>
        
        <p>Total bultos: <strong><?php echo $total; ?></strong> / Por cargar: <strong id="pendientesCargarContenido"><?php echo $total-$cargados; ?></strong></p>
    
    	<?php //if( ( !$todosCargados && $destino['ConfirmacionPaletsNoPermitida']!='S' && ( !$puntosControlCarga || ( $puntosControlCarga && $orden['PuntosControlEstado']=='Finalizado' ) ) ) ) { ?>
        <?php //21-05-2026 TICKET 26075221. Hablado con ADM y con el visto bueno de MAE, quitamos la restriccion de que no se pueda descargar si estan ya todos leidos ?>
		
		<?php if( ( $destino['ConfirmacionPaletsNoPermitida']!='S' && ( !$puntosControlCarga || ( $puntosControlCarga && $orden['PuntosControlEstado']=='Finalizado' ) ) ) ) { ?>
    		<?php if(!$todosCargados) { ?>
            	<p><input type="button" name="botonCargar" id="botonCargar" value="Confirmar Carga de Bultos" class="boton"/></p>
            <?php } else { ?>
                <p><input type="button" name="botonCargarOff" id="botonCargarOff" value="Confirmar Carga de Bultos" class="boton deshabilitado" disabled="disabled"/></p>
            <?php } ?>
         	<?php if($hayAlgunoCargado) { ?>
            	<p><input type="button" name="botonDescargar" id="botonDescargar" value="Descargar bultos" class="boton reducido"/></p>
            <?php } ?>
         <?php } ?>
    
    <?php //} //Antes solo se podía cargar si no habia ordenes pendientes, ahora siempre ?>

<?php } ?>

<p>Órdenes de preparación asociadas a la carga:</p>

<table class="tablaFormateada">
	<tr>
		<?php if(count($_SESSION['empresas'])>1) { ?><th>Empresa</th><?php } ?>
		<th>Nº Orden</th>
        <th>Bultos</th>
        <th>Rég. Origen</th>
        <th>Rég. Destino</th>
        <th>Estado</th>
        <?php if($_SESSION['parametrosSGA']['VerificacionOrdenPreparacion']=='S') { ?> 
        <th>Verificada</th>
        <?php } ?>
        <th>Usuario</th>
        <th></th>
    </tr>
    
    <?php foreach(arreglaArrayPXMobileProxiumResult($destino['Detalle']) as $detalle) { ?>
    
    <tr orden="<?php echo $detalle['OPrep']; ?>" empresa="<?php echo $detalle['EMPOPrep']; ?>" class="<?php if($detalle['EstadoOPrep']=='Iniciada') { ?>rojo<?php } ?>" style="height:75px">
		
		<?php if(count($_SESSION['empresas'])>1) { ?><td class="lineaOrden clicable"><?php echo $detalle['EMPOPrep']; ?></td><?php } ?>
        <td class="lineaOrden clicable"><?php echo $detalle['OPrep']; ?></td>
		<td class="lineaOrden clicable"><?php echo $detalle['PaletsOPrep']; ?></td>
		<td class="lineaOrden clicable"><?php echo $detalle['RegimenOrigen']; ?></td>
		<td class="lineaOrden clicable"><?php echo $detalle['RegimenDestino']; ?></td>
		<td class="lineaOrden clicable"><?php echo $detalle['EstadoOPrep']; ?></td>
        <?php if($_SESSION['parametrosSGA']['VerificacionOrdenPreparacion']=='S') { ?>
        <td class="lineaOrden clicable"><?php if($detalle['Verificada']=='S') { ?><img src="<?php echo DIR_IMAGENES; ?>/ok.png" width="47" height="36" /><?php } ?></td>
        <?php } ?>
        <td class="lineaOrden clicable"><?php echo $detalle['NombreUsuario']; ?></td>
        <td>
		<?php //if($detalle['EstadoOPrep']=='Pendiente' || ($detalle['EstadoOPrep']=='Iniciada' && $detalle['Usuario']==$_SESSION['usuario']['Usuario']) ) { ?>
        <a href="<?php echo $rutaHtml; ?>/orden-preparacion-<?php echo $_SESSION['tipoGestion']; ?>.php?orden=<?php echo $detalle['OPrep']; ?>&empresa=<?php echo $detalle['EMPOPrep']; ?>&procedencia=carga" class="mostrarCargando"><img src="<?php echo DIR_IMAGENES; ?>/ir.png" alt="Abrir Orden de Preparación" style="width:50px"/></a>
		<?php //} ?>
        </td>
        
	</tr>
    
    <?php } ?>
    
</table>

<div id="popupDetalle" class="popup" style="display:none"></div>
<div class="popupContenidoScroll" id="popupDetalleContenido" style="display:none" ></div>

<div id="popupCarga" class="popup" style="display:none"></div>
<div class="popupContenidoScroll" id="popupCargaContenido" style="display:none" >

	<p>Bulto por informar: <strong id="pendientesCargarActual">1</strong> de <strong id="pendientesCargar"></strong></p>
    <div>
    	<div id="bloqueLectura-1">
    	<p><img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoCliente-1" style="margin-left:0;margin-right:-20px;"/><input name="lectura-1" type="text" class="campo lectura" id="lectura-1" contador="1" style="margin-left:40px;width:450px" autocomplete="off"/><img src="<?php echo DIR_IMAGENES; ?>/x.png" width="50" height="50" style="margin-bottom:-10px" class="borrarPalet" contador="1"/></p>
        </div>
        <div id="nuevaLectura-1"></div>
    </div>
    
    <form id="formularioCarga" name="formularioCarga" method="post" action="?carga=<?php echo $_SESSION['carga']['NumCarga']; ?>&ordenesPreparacion=<?php echo $_SESSION['carga']['ordenesPreparacionFiltrar']; ?>&filtroFecha=<?php echo $_SESSION['carga']['filtroFecha']; ?><?php if($_GET['traza']=='si') { ?>&traza=si<?php } ?>&empresa=<?php echo $_SESSION['carga']['empresa']; ?>">
    
        <input type="hidden" name="numLecturas" id="numLecturas" value="1" />
        <input type="hidden" name="cadenaLecturas" id="cadenaLecturas" value="" />
        <input type="hidden" name="confirmar" id="confirmar" value="" />
        
        <!-- 18/10/2022 añadimos la posibilidad de "descargar" -->
        
        <input type="hidden" name="tipoLectura" id="tipoLectura" value="" />
        <input type="hidden" name="packingList" id="packingList" value="<?php echo $destino['PackingListAsociado']; ?>" />
        
        <p><input type="button" name="botonConfirmarCarga" id="botonConfirmarCarga" value="Confirmar" class="boton"/></p>
        <p><input type="button" name="botonCancelarCarga" id="botonCancelarCarga" value="Cancelar" class="boton reducido"/></p>
    
	</form>
    
</div>

<p><input type="button" name="botonVolver" id="botonVolver" value="Volver a la Carga" class="boton reducido mostrarCargando"/></p>

<script>

	function paletErroneo(palet) {

		var lecturaActual=$('#cadenaLecturas').val();

		if($('#tipoLectura').val()=='carga' && paletsCargados.indexOf(palet)!==-1) return 'Este Bulto ya ha sido cargado.';
		else if($('#tipoLectura').val()=='descarga' && paletsCargados.indexOf(palet)===-1) return 'Este Bulto no ha sido cargado en este proceso.';
		else if($('#tipoLectura').val()=='carga' && paletsDisponibles.indexOf(palet)===-1) return 'Este Bulto no pertenece a esta Carga.';
		else if(lecturaActual.indexOf(palet)!==-1) return 'Este Bulto ya ha sido leido en el proceso actual.';
	}

	function construyeCadenaLecturas() {
	
		var cadena='';
	
		$('.lectura').each(function(){
			if($(this).val()!='') {
				if(cadena!='') cadena+=',';
				cadena+=$(this).val();
			}
		});
		
		$('#cadenaLecturas').val( cadena );
	
	}

	$(document).ready(function() {
	
		<?php //if($destino['NumOrdenesPdtes']=='0') { //Antes solo se podía cargar si no habia ordenes pendientes, ahora siempre ?>
	
		$('#botonCargar').on('click',function(){
		
			$("html, body").animate({scrollTop:0},"slow");
			
			$('#tipoLectura').val('carga');
			
			$('#pendientesCargar').html( $('#pendientesCargarContenido').html() );
			
			$('#popupCarga').show();
			$('#popupCargaContenido').show();
			$('#lectura-'+$('#numLecturas').val()).focus();
			
		});
		
		$('#botonDescargar').on('click',function(){
		
			$("html, body").animate({scrollTop:0},"slow");
			
			$('#tipoLectura').val('descarga');
			
			$('#popupCarga').show();
			$('#popupCargaContenido').show();
			$('#lectura-'+$('#numLecturas').val()).focus();
			
		});
		
		$('#botonCancelarCarga').on('click',function(){
			$('#popupCarga').hide();
			$('#popupCargaContenido').hide();
		});
		
		$(document).on('change','.lectura',function(e){
			
			e.preventDefault();
			
			var lectura=$(this);
			var pendientesCargar=parseInt($('#pendientesCargar').html());
			var informados=0;
			
			$('.lectura').each(function(){
				if($(this).val()!='') informados++;
			});
			
			if(informados<pendientesCargar) {
			
				if( lectura.val()=='') {
					var pendientesCargarActual=parseInt($('#pendientesCargarActual').html());
					$('#pendientesCargarActual').html(pendientesCargarActual-1)
				}
				else if( !paletErroneo(lectura.val()) )  {
	
					construyeCadenaLecturas();
				
					var contador=lectura.attr('contador');
	
					var nuevoContador=parseInt(contador)+1;
					
					$('#nuevaLectura-'+contador).html('<p id="bloqueLectura-'+nuevoContador+'"><img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoCliente-'+nuevoContador+'" style="margin-left:0;margin-right:-20px;"/><input name="lectura-'+nuevoContador+'" type="text" class="campo lectura" id="lectura-'+nuevoContador+'" contador="'+nuevoContador+'" style="margin-left:40px;width:450px" autocomplete="off"/><img src="<?php echo DIR_IMAGENES; ?>/x.png" width="50" height="50" style="margin-bottom:-10px" class="borrarPalet" contador="'+nuevoContador+'"/></p></div><div id="nuevaLectura-'+nuevoContador+'"></div>');
					
					/*
					<p id="bloqueLectura-'+nuevoContador+'"><input name="lectura-'+nuevoContador+'" type="text" class="campo lectura" id="lectura-'+nuevoContador+'" size="11" maxlength="15" contador="'+nuevoContador+'" style="margin-left:40px" /><img src="<?php echo DIR_IMAGENES; ?>/x.png" width="50" height="50" style="margin-bottom:-10px" class="borrarPalet" contador="'+nuevoContador+'"/></p><div id="nuevaLectura-'+nuevoContador+'"></div>
					*/
					
					$('#pendientesCargarActual').html( informados+1 );
					
					$('#numLecturas').val(nuevoContador);
					$('#lectura-'+nuevoContador).focus();
				
				}
				else {
					alert( paletErroneo( lectura.val() ) )
					.done(function(){
						lectura.val('');
						lectura.focus();
					});
				}
			
			}
			
		});
		
		$(document).on('click','.borrarPalet',function(){
		
			
		
			var contador=$(this).attr('contador');
			var valorActual=$('#lectura-'+contador).val();
			
			if(valorActual!='') {
			
				$('#lectura-'+contador).val('');
				
				if(contador<$('#numLecturas').val()) $('#bloqueLectura-'+contador).hide();
				
				$('#lectura-'+$('#numLecturas').val()).focus();
				
				construyeCadenaLecturas();
				
				var pendientesCargarActual=parseInt($('#pendientesCargarActual').html());
				$('#pendientesCargarActual').html(pendientesCargarActual-1)
				
			}
			
		});
		
		$(document).on('click','.iconoTeclado',function(){
		
			var contador=$(this).siblings('input').attr('contador');
			//alert(contador);
			
			$('#teclado').show();
			$('#valor').val( $('#lectura-'+contador).val() );
			$('#valorOculto').val( $('#lectura-'+contador).val() );
			$('#enter').attr('campoValor','lectura-'+contador);
			$('#enter').attr('formulario','');
			$('#enter').attr('forzarEnter','si');
			
		});
		
		$('#botonConfirmarCarga').on("click",function(){
		
			construyeCadenaLecturas();
			
			confirm('¿Deseas confirmar la '+$('#tipoLectura').val()+' de todos estos Bultos?')
			.done(function(){
				$('#popupCargando').show();
				$('#confirmar').val(1);
				$('#formularioCarga').submit();
			});
			
		});
	
		<?php //} //Antes solo se podía cargar si no habia ordenes pendientes, ahora siempre?>
	
		$('#botonVolver').on("click",function(){
			window.location='<?php echo $rutaHtml; ?>/carga-camion-detalle.php?carga=<?php echo $_SESSION['carga']['NumCarga']; ?>&filtroFecha=<?php echo $_SESSION['carga']['filtroFecha']; ?>';	
		});
		
		$('.lineaOrden').on("click",function(){
			
			$("#popupCargando").show();
			
			$.post( "<?php echo $rutaHtml; ?>/contenidos/orden-preparacion-contenido-simple.php<?php if($_GET['traza']=='si') { ?>?traza=si<?php } ?>", { orden : $(this).parent().attr('orden') , empresa : $(this).parent().attr('empresa')} )
			.done(function(data) {
					
				$("#popupDetalleContenido").html(data);
					
				$("#popupDetalle").show();
				$("#popupDetalleContenido").show();
					
				$("html, body").animate({scrollTop:0},"slow");
					
				$("#popupCargando").hide();
			});
		});
		
		$('.refrescar').on("click",function(e) {
			$('#popupCargando').show();
			window.location.reload();
		});
		
	});
	
</script>

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