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

//Nota: El filtro $fecha a nivel de WS no lo estamos usando, se hace dinámicamente por jquery.
//Nota: El filtro almacén a nivel de WS no lo estamos usando, el selector de almacén se hace a nivel de menú/login.

if(isset($_GET['procedencia']) && $_GET['procedencia']) $procedencia=$_GET['procedencia'];
else $procedencia='CARGASENCURSO';

switch($procedencia) {

	//03-06-2026 Esto tras una primera revisión no lo usamos, ya que el listado de firmas finalmente tendrá un aspecto distinto (fichas), entonces no usará este script
	case 'CARGASCERRADASPENDFIRMA':
		$cargar=false;
		$pantallaDetalle='carga-camion-cerrada-detalle.php';
		break;
	case 'CARGASENCURSO':
		$cargar=true;
		$pantallaDetalle='carga-camion-detalle.php';
		break;

}

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

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

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

$filtroFecha=$_GET['filtroFecha']; 

$comboFechaCarga=array();
$comboZonaCarga=array();
$comboDescripcion=array();

foreach($resultado as $item) {

	if(!in_array($item['FechaCarga'],$comboFechaCarga) && $item['FechaCarga']!='') $comboFechaCarga[]=$item['FechaCarga'];
	if(!in_array($item['ZonaCargaCamion'],$comboZonaCarga) && $item['ZonaCargaCamion']!='') $comboZonaCarga[]=$item['ZonaCargaCamion'];
	if(!in_array($item['NombreCarga'],$comboDescripcion) && $item['NombreCarga']!='') $comboDescripcion[]=$item['NombreCarga'];
	
}

asort($comboZonaCarga);
asort($comboDescripcion);

if(!$resultado[0]['Error']) {
	?>
    
    <p class="sinMargen">Nº carga:<div class="campoOrdenPreparacionBloque" style="margin:0 auto">
            <img src="<?php echo DIR_IMAGENES; ?>/teclado.png" alt="Mostrar teclado" class="iconoTeclado" id="tecladoNumCarga" /><input name="numCarga" type="text" class="campo campoOrdenPreparacion" id="numCarga" maxlength="14" style="left:5px;"/>
            <img src="<?php echo DIR_IMAGENES; ?>/x.png" alt="Borrar" id="borrarNumCarga" style="position:absolute;right:5px;cursor:pointer;"/>
        </div>
    </p>
    
	<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>Descripción</th>
        <?php if($_SESSION['visibilidadZonaCarga']) { ?>
        <th>Zona carga</th><?php } ?>
		<th>Fecha</th>
		<th>Hora</th>
        
        <th>Matrícula</th>
        <?php if($_SESSION['gestion']=='PUB' || $_SESSION['gestion']=='PUBPRI') { ?>
        <th>Destino</th>
        <?php } ?>
        
        <?php if($referenciaClienteEnCarga) { ?>
        <th>Referencia cliente</th>
        <?php } ?>
        
		<th>Órdenes prep.</th>
        
        <?php if($cargar) { ?>
		<th>Bultos</th>
        <th>Por cargar</th>
        <th>Cargados</th>
        <?php } ?>
        
        <?php if($_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S') { ?>
        <th>Packing lists</th><?php } ?>
        <?php if($cargar) { ?>
        <?php if($_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S') { ?><th>Cargar</th><?php } ?>
        <?php } ?>
        
        <?php if($cargar && $puntosControlCarga) { ?>
        <th>Control carga</th>
        <?php } ?>
	</tr>
	<?php
	
	foreach($resultado as $orden) {
	
		$paletsLeidos=0;
		$destinos=array();
		
		$paletsCargar=0; //28-11-2025 TICKET 25071363
		
		foreach(arreglaArrayPXMobileProxiumResult($orden['Destinos']) as $destino) {
		
			if(!in_array($destino['Destino'],$destinos)) $destinos[]=$destino['Destino'];
			
			$palets=arreglaArrayPXMobileProxiumResult($destino['Palets']);
			foreach($palets as $palet) if($palet['Leido']=='S') $paletsLeidos++;
			
			$paletsCargar+=count($palets)-$paletsLeidos;
		}
		
		//7-3-2022 referencias cliente solicitado IGAN, viene del config
		if($referenciaClienteEnCarga) {
		
			$referenciasCliente=array();
			
			foreach(arreglaArrayPXMobileProxiumResult($orden['Destinos']) as $destino) {
				foreach(arreglaArrayPXMobileProxiumResult($destino['Detalle']) as $detalle) {
					if(!in_array($detalle['ReferenciaCliente'],$referenciasCliente) && $detalle['ReferenciaCliente']!='') $referenciasCliente[]=$detalle['ReferenciaCliente'];
				}
			}
		}
	
		?>
		<tr carga="<?php echo $orden['NumCarga']; ?>" descripcion="<?php echo $orden['NombreCarga']; ?>" fechaCarga="<?php echo $orden['FechaCarga']; ?>" zonaCarga="<?php echo $orden['ZonaCargaCamion']; ?>" class="lineaOrden clicable mostrarCargando" style="height:75px">
		  <td valign="top"><?php echo $orden['NumCarga']; ?></td>
			<?php if($mostrarAgenciaTransporte) { ?><td valign="top"><?php echo $orden['AgenciaTransporte']; ?></td><?php } //ATENCION esto está en el config, no en parámetros ?>
			<td valign="top"><?php echo $orden['NombreCarga']; ?></td>
            <?php if($_SESSION['visibilidadZonaCarga']) { ?><td><?php echo $orden['ZonaCargaCamion']; ?></td><?php } ?>
			<td valign="top"><?php echo fechaNacional($orden['FechaCarga']); ?></td>
			<td valign="top"><?php echo $orden['HoraCarga']; ?></td>
            
            <td valign="top"><?php echo $orden['MatriculaTractora']; ?></td>
            
            <?php if($_SESSION['gestion']=='PUB' || $_SESSION['gestion']=='PUBPRI') { ?>
        	<td valign="top">
				<table class="subtabla sinformato" width="100%">
				<?php foreach($destinos as $destino) { ?>
                	<tr><td valign="top"><?php echo $destino; ?></td></tr>
                <?php } ?>
                </table>            </td>
        	<?php } ?>
            
            <?php if($referenciaClienteEnCarga) { ?>
            <td valign="top">
            	<?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 } ?>
            
			<td valign="top"><?php echo $orden['NumOrdenesT']; ?><?php if($orden['NumOrdenesPdtesT']>0) { ?>/<span style="font-weight:400;color:#FF0000"><?php echo $orden['NumOrdenesPdtesT']; ?></span><?php } ?></td>
            
            <?php if($cargar) { ?>
            <td valign="top"><?php echo $orden['NumPaletsT']; ?></td>
            <td valign="top"><?php echo $paletsCargar; ?></td>
            <td valign="top"><?php echo $paletsLeidos; ?></td>
            <?php } ?>
            
            <?php if($_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S') { ?><td valign="top"><?php echo $orden['NumPackingList']; ?><?php if($orden['NumPackingListPdtes']>0 && $_SESSION['parametrosSGA']['PickingPacking']!='S') { ?>/<span style="font-weight:400;color:#FF0000"><?php echo $orden['NumPackingListPdtes']; ?></span><?php } ?></td><?php } ?>
            
            <?php if($cargar) { ?>
            <?php if($_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S') { ?><td valign="top"><?php if($paletsLeidos < $paletsCargar) { //if($paletsLeidos<$orden['NumPaletsT']) { ?><img src="<?php echo DIR_IMAGENES; ?>/camion.png" alt="Cerrar Carga" style="width:60px" /><?php } ?></td><?php } ?>
            <?php } ?>
            
            <?php if($cargar && $puntosControlCarga) { ?>
            <td valign="top"><?php echo $orden['PuntosControlEstado']; ?></td>
            <?php } ?>
	  </tr>
	<?php } ?>
	</table>
    
<div class="barraFiltro">
    	
        <table cellpadding="5" style="margin:0 auto">
        	<tr>
            	<td>
                Descripción: 
                <select name="filtroDescripcion" id="filtroDescripcion" class="campo selectorFiltro" style="width:200px">
                    <option value="">---</option>
                    <?php foreach($comboDescripcion as $item) { ?>
                    <option value="<?php echo $item; ?>"><?php echo $item; ?></option>
                    <?php } ?>
                </select>
                </td>
				<?php if($_SESSION['visibilidadZonaCarga']) { ?>
            	<td>
                Zona carga: 
                <select name="filtroZonaCarga" id="filtroZonaCarga" class="campo selectorFiltro" style="width:200px">
                    <option value="">---</option>
                    <?php foreach($comboZonaCarga as $item) { ?>
                    <option value="<?php echo $item; ?>"><?php echo $item; ?></option>
                    <?php } ?>
                </select>
                </td>
                <?php } ?>
            	<td>
                Fecha carga: 
                <select name="filtroFecha" id="filtroFecha" class="campo selectorFiltro" style="width:200px">
                    <option value="">---</option>
                    <?php foreach($comboFechaCarga as $item) { ?>
                    <option value="<?php echo $item; ?>"><?php echo fechaNacional($item); ?></option>
                    <?php } ?>
                </select>
                </td>
                <td>
                <img id="filtroApagado" src="<?php echo DIR_IMAGENES; ?>/botones/filter-off.png" alt="Filtro" style="width:60px;height:60px;margin-top:-15px;"/>
                <img id="aplicarFiltro" src="<?php echo DIR_IMAGENES; ?>/botones/filter.png" alt="Filtro" style="display:none;width:60px;height:60px;margin-top:-15px;cursor:pointer;"/>
                <img id="quitarFiltro" src="<?php echo DIR_IMAGENES; ?>/botones/filter-remove.png" alt="Filtro" style="display:none;width:60px;height:60px;margin-top:-15px;cursor:pointer"/>
                </td>
            </tr>
        </table>
        
    </div>
    
	<script>
	
	function repintarTabla() {
	
		$(".lineaOrden").children('td').css('background-color','#ffffff');
		$(".lineaOrden").children('td').css('border-bottom','');
		$(".lineaOrden").children('td').css('border-radius','');
		$(".lineaOrden").children('td').css('-mozborder-radius','');
		$(".lineaOrden").children('td').css('-webkit-border-radius','');
	
		var par=true;
		$(".lineaOrden").each(function(){
			if( $(this).is(":visible") ) {
				if(par) $(this).children('td').css('background-color','#ffffff');
				else $(this).children('td').css('background-color','#eeeeee');
				par = !par;
				ultimaFila=$(this);
			}
        });
		
		ultimaFila.children('td').css('border-bottom','1px solid #999999');
		ultimaFila.children('td:first').css('border-radius','0 0 0 15px');
		ultimaFila.children('td:first').css('-mozborder-radius','0 0 0 15px');
		ultimaFila.children('td:first').css('-webkit-border-radius','0 0 0 15px');
		ultimaFila.children('td:last').css('border-radius','0 0 15px 0');
		ultimaFila.children('td:last').css('-mozborder-radius','0 0 15px 0');
		ultimaFila.children('td:last').css('-webkit-border-radius','0 0 15px 0');
		
		$('#numCarga').focus();
	
	}
	
	function aplicarFiltro(id) {
	
		if( $('#filtroFecha').val()=='' && $('#filtroZonaCarga').val()=='' && $('#filtroDescripcion').val()=='' ) {
			$('#filtroApagado').show();
			$('#quitarFiltro').hide();
			$('#aplicarFiltro').hide();
		}
		else  {
			$('#filtroApagado').hide();
			$('#quitarFiltro').show();
			$('#aplicarFiltro').hide();
		}
		
		$('.lineaOrden').each(function() {
		
			var coincidenciaFecha=false;
			var coincidenciaZonaCarga=false;
			var coincidenciaDescripcion=false;
			
			console.log($(this).attr('fechaCarga'));
			

			if( $('#filtroFecha').val()!='' && $(this).attr('fechaCarga')==$('#filtroFecha').val() ) coincidenciaFecha=true;
			else if( $('#filtroFecha').val()=='' ) coincidenciaFecha=true;
			
			if( $('#filtroZonaCarga').val()!='' && $(this).attr('zonaCarga')==$('#filtroZonaCarga').val() ) coincidenciaZonaCarga=true;
			else if( $('#filtroZonaCarga').val()=='' ) coincidenciaZonaCarga=true;
			
			if( $('#filtroDescripcion').val()!='' && $(this).attr('descripcion')==$('#filtroDescripcion').val() ) coincidenciaDescripcion=true;
			else if( $('#filtroDescripcion').val()=='' ) coincidenciaDescripcion=true;
			
			<?php if(!$_SESSION['visibilidadZonaCarga']) { ?>
			coincidenciaZonaCarga=true;
			<?php } ?>
			
			console.log(coincidenciaFecha);
			
			if( coincidenciaFecha && coincidenciaZonaCarga && coincidenciaDescripcion ) $(this).show();
			else $(this).hide();
		});
		
		repintarTabla();
	
	}
	
	$(document).ready(function() {
	
		<?php if($filtroFecha!='') { ?>
			$('#filtroFecha option[value="<?php echo $filtroFecha; ?>"]').prop('selected',true);
			aplicarFiltro();
		<?php } ?>
	
		$('.selectorFiltro').on("change",function() {
			aplicarFiltro();
		});
		
		$('#quitarFiltro').on("click",function() {
		
			$('#filtroFecha option:selected').removeProp('selected');
			$('#filtroZonaCarga option:selected').removeProp('selected');
			$('#filtroDescripcion option:selected').removeProp('selected');
			
			$('#filtroFecha option[value=""]').prop('selected',true);
			$('#filtroZonaCarga option[value=""]').prop('selected',true);
			$('#filtroDescripcion option[value=""]').prop('selected',true);
			
			$('#filtroApagado').show();
			$('#quitarFiltro').hide();
			$('#aplicarFiltro').hide();

			$(".lineaOrden").show();
			
			repintarTabla();
			
		});
	
		$('.lineaOrden').on("click",function(){
			window.location='<?php echo $rutaHtml; ?>/<?php echo $pantallaDetalle; ?>?carga='+$(this).attr('carga')+'&filtroFecha='+$('#filtroFecha').val();	
		});
		
		//Esto se utiliza para algo???
		//$('.lineaCarga').on("click",function(){
		//	window.location='<?php echo $rutaHtml; ?>/carga-camion-cargar-camion.php?carga='+$(this).attr('carga')+'&filtroFecha='+$('#filtroFecha').val();	
		//});
		
		$(document).on('change','#numCarga',function(){
		
				var numCarga=$('#numCarga').val();
				var encontrada=false;
		
				if(numCarga!='') {
		
					$('#popupCargando').show();
					
					$('.lineaOrden').each(function() {
						if( $(this).attr('carga')==numCarga ) {
							encontrada=true
						}
					});
					
					
					if(encontrada) {
						window.location='<?php echo $rutaHtml; ?>/carga-camion-detalle.php?carga='+numCarga;
					}
					else {
						$('#popupCargando').hide();
						alert('Error: Carga no encontrada.',null,'error')
						.done(function(){
							$("#numCarga").val('');
							$("#numCarga").focus();
						});
					}
				}
				
			});
					
			$(document).on('click','#tecladoNumCarga',function(){
				$('#teclado').show();
				$('#valor').val( $('#numCarga').val() );
				$('#valorOculto').val( $('#numCarga').val() );
				$('#enter').attr('campoValor','numCarga');
				$('#enter').attr('forzarEnter','si');	
			});
					
			$(document).on('click','#borrarNumCarga',function(){
				$("#numCarga").val('');
				$("#numCarga").focus();		
			});
			
			$('#numCarga').focus();
		
	});
	</script>
	<?php
}
else {
	?>
	<p>No hay ninguna carga de camión pendiente.</p><?php
}
?>