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

//ini_set('display_errors', 1);
//ini_set('display_startup_errors', 1);
//error_reporting(E_ALL & ~E_DEPRECATED & ~E_NOTICE);

$traza=(isset($_GET['traza']) && $_GET['traza']=='si');




/////////////////////////// TEST WEB SERVICES ///////////////////////////////


//En este caso, una copia del proxy está alojada bajo el mismo arbol de directorios que el propio SGA, aunque las peticiones finales al proxy pueden realizarse a través del proxy alojado externamente
//Esto es para poder utilizar aquí la misma libreria PeticionWSBase para hacer peticiones a un ws de terceros completamente externo

require_once($rutaPhp.$rutaHtml.'/librerias/proxy/src/Services/Webservices.php');
use ProxiumWXfrm\Proxium\PeticionWSBase;

$peticionWS=new PeticionWSBase;

/*
$url='http://192.168.69.11:81/prototipos/sga/librerias/proxy/basicTest';
$peticionWS->setUrl($url);
$resultado=$peticionWS->lanzaGet();
echo '<p>'.$url.'</p>';
print_r($resultado);
*/

/*
$url='https://ocitenant-dev.alerce.cloud/vector/api/manager/consignment-notes/sync';
$apiKey='ocitenant_44a56d07-d5c2-4ee4-8c89-1655bb22c532';

$cabeceras = [
    'Content-Type: application/json',
    'apikey: '.$apiKey
];


$data='{
      
  "travelCode": "P-5001",
  "externalId": "P-5001-1",
  "driverCode": "DEMO-PROXIUM",
  "type": "STOP",
  "postage": "PAID",
  "order": 1,
  "price": 1250.50,
  "ecmrFirstSignAuto": true,
  "vehiclePlate": "1234ABC",
  "trailerPlate1": "R5678DEF",
  "trailerPlate2": "R9012GHI",
  "routeName": "Madrid - Barcelona Express",
  "senderInstructions": "Mantener cadena de frío. No apilar más de 3 pallets.",
  "specialAgreements": "Seguro adicional contratado. Valor declarado: 15.000 EUR.",
  "targetDate": "2026-04-24T18:00:00+02:00",
  "carrier": {
    "name": "Logística Mediterránea S.A.",
    "address": "Polígono Industrial El Pla, Nave 8, 46500 Sagunto",
    "country": "España",
    "taxId": "A98765432"
  },
  "sender": {
    "name": "Almacenes Centrales Ibérica S.A.",
    "address": "Av. de la Logística 10, Coslada",
    "country": "España",
    "city": "Madrid",
    "phone": "+34 916 789 012"
  },
  "consignee": {
    "name": "Distribuciones García S.A.",
    "address": "Av. de la Industria 45",
    "country": "España",
    "city": "Barcelona",
    "phone": "+34 933 456 789"
  },
  "loadingPlace": {
    "agencyCode": "AGC-MAD-COS",
    "name": "Centro Logístico Coslada",
    "address": "Av. de la Logística 10",
    "city": "Coslada",
    "zipCode": "28823",
    "country": "España",
    "phone": "+34 916 789 012",
    "latitude": 40.4237,
    "longitude": -3.5530,
    "loadingDate": "2026-05-21",
    "timeFrom": "21:00",
    "timeTo": "23:00"
  },
  "unloadingPlace": {
    "agencyCode": "AGC-BCN-02",
    "name": "Plataforma Logística BCN",
    "address": "Pol. Ind. Zona Franca, Nave 12",
    "city": "Barcelona",
    "zipCode": "08040",
    "country": "España",
    "phone": "+34 934 555 666",
    "latitude": 41.3460,
    "longitude": 2.1280,
    "unloadingDate": "2026-05-22",
    "timeFrom": "05:00",
    "timeTo": "07:00"
  },
  "handlingUnits": [
    {
      "code": "HU-001",
      "type": "Palets estándar",
      "quantity": 12,
      "weight": 350.00,
      "volume": 14.40,
      "reference": "REF-PAL-001",
      "natureOfGood": "Productos alimenticios envasados",
      "statisticalNumber": "2106909200"
    },
    {
      "code": "HU-002",
      "type": "Cajas isotérmicas",
      "quantity": 8,
      "weight": 150.00,
      "volume": 6.40,
      "reference": "REF-ISO-002",
      "natureOfGood": "Productos refrigerados",
      "statisticalNumber": "0403109100"
    }
  ],
  "deliveries": [
    {
      "code": "DEL-001",
      "trackingNumber": "TRK-2026-04150001",
      "date": "2026-04-24",
      "reference": "PED-2026-1001",
      "originAgencyCode": "AGC-MAD-01",
      "destinationAgencyCode": "AGC-BCN-02",
      "observations": "Entregar en muelle 7. Contactar con recepción antes de descarga.",
      "totalPackages": 15,
      "totalPallets": 8,
      "weight": 320.00,
      "volume": 12.80,
      "sender": {
        "code": "SND-001",
        "name": "Transportes Alerce S.L.",
        "address": "Ctra. Santomera-Abanilla, 15B",
        "city": "Murcia",
        "zipCode": "30140",
        "country": "España"
      },
      "consignee": {
        "code": "CSG-001",
        "name": "Distribuciones García S.A.",
        "address": "Av. de la Industria 45",
        "city": "Barcelona",
        "zipCode": "08040",
        "country": "España",
        "phone": "+34 933 456 789"
      },
      "product": {
        "code": "PROD-ALM-001",
        "name": "Alimentación general"
      }
    },
    {
      "code": "DEL-002",
      "trackingNumber": "TRK-2026-04150002",
      "date": "2026-04-24",
      "reference": "PED-2026-1002",
      "originAgencyCode": "AGC-MAD-01",
      "destinationAgencyCode": "AGC-BCN-02",
      "observations": "Producto frágil. Manipular con cuidado.",
      "totalPackages": 5,
      "totalPallets": 4,
      "weight": 180.00,
      "volume": 8.00,
      "sender": {
        "code": "SND-001",
        "name": "Transportes Alerce S.L.",
        "address": "Ctra. Santomera-Abanilla, 15B",
        "city": "Murcia",
        "zipCode": "30140",
        "country": "España"
      },
      "consignee": {
        "code": "CSG-002",
        "name": "Supermercados Norte S.L.",
        "address": "C/ Gran Vía 120",
        "city": "Barcelona",
        "zipCode": "08015",
        "country": "España",
        "phone": "+34 935 111 222"
      },
      "product": {
        "code": "PROD-REF-002",
        "name": "Productos refrigerados"
      }
    }
  ]
}';

$peticionWS->setUrl($url);
$peticionWS->setCabeceras($cabeceras);

$peticionWS->setData($data);

$resultado=$peticionWS->lanzaPost();

echo '<p>'.$url.'</p>';
print_r($cabeceras);
echo '<hr>';
print_r($resultado);
*/

$url='https://ocitenant-dev.alerce.cloud/vector/api/manager/consignment-notes/EMP@P2600053/status';
$apiKey='ocitenant_44a56d07-d5c2-4ee4-8c89-1655bb22c532';

$cabeceras = [
    'Content-Type: application/json',
    'apikey: '.$apiKey
];

$peticionWS->setUrl($url);
$peticionWS->setCabeceras($cabeceras);

$resultado=$peticionWS->lanzaGet();

echo '<p>'.$url.'</p>';
print_r($cabeceras);
echo '<hr>';
print_r($resultado);

/////////////////////////// Fin test web services ///////////////////////////////




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



$numCarga=$_GET['carga'];

$filtroFecha=$_GET['filtroFecha'];





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

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

if($traza) {
	echo "<p>".$peticion."</p>";
	print_r($resultado);
}

foreach($resultado as $item) {
	if($item['NumCarga']==$numCarga) $orden=$item;
}



$_SESSION['carga']=$orden; //Esto lo hacemos para tener la carga grabada en memoria en la pantalla adicional de puntos de control y para las fotos

?>
<h2>Carga de Camión Nº <?php echo $numCarga; ?></h2>

<?php if(isset($errorCierre) && $errorCierre) { ?><p class="error"><?php echo $errorCierre[1]; ?></p><?php } ?>

<table class="tablaFormateada">
	<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</th>
        <?php if($_SESSION['visibilidadZonaCarga']) { ?><th>Zona Carga</th><?php } ?>
		<th>Fecha</th>
		<th>Hora</th>
		<th>Matrícula</th>
		<th>Órdenes</th>
        <th><?php if($_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S') { ?>Packing Lists<?php } ?></th>
	</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>
        <?php if($_SESSION['visibilidadZonaCarga']) { ?><td><?php echo $orden['ZonaCargaCamion']; ?></td><?php } ?>
		<td><?php if(isset($orden['FechaCarga']) && $orden['FechaCarga']) echo fechaNacional($orden['FechaCarga']); ?></td>
		<td><?php if(isset($orden['HoraCarga']) && $orden['HoraCarga']) echo $orden['HoraCarga']; ?></td>
		<td><?php echo $orden['MatriculaTractora']; ?></td>
		<td><?php echo $orden['NumOrdenesT']; ?><?php if($orden['NumOrdenesPdtesT']>0) { ?>/<span style="font-weight:400;color:#FF0000"><?php echo $orden['NumOrdenesPdtesT']; ?></span><?php } ?></td>
        <td><?php if($_SESSION['parametrosSGA']['GestionPackingList']=='S' || $_SESSION['parametrosSGA']['PickingPacking']=='S') { ?><?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 } ?><?php } ?></td>
	</tr>
</table>

<?php
$ordenes=array();
foreach(arreglaArrayPXMobileProxiumResult($orden['Destinos']) as $destino) {
	foreach(arreglaArrayPXMobileProxiumResult($destino['Detalle']) as $item) $ordenes[]=array('destino'=>$destino,'preparacion'=>$item);
}
?>

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

<?php if(count($ordenes)>0) { ?>

    <table class="tablaFormateada">
        <tr>
            <?php if(count($_SESSION['empresas'])>1) { ?><th>Empresa</th><?php } ?>
            <th>Cliente</th>
            <th>Poblacion destino</th>
            <th>Packing list</th>
            <th>Nº orden</th>
            <th>Rég. origen</th>
            <th>Rég. destino</th>
        </tr>
        
        <?php foreach($ordenes as $item) { ?>
            
            <tr empresa="<?php echo $item['destino']['Empresa']; ?>" orden="<?php echo $item['preparacion']['EMPOPrep']; ?>" style="height:75px">
                
                <?php if(count($_SESSION['empresas'])>1) { ?><td class="lineaOrden clicable"><?php echo $item['preparacion']['EMPOPrep']; ?></td><?php } ?>
                <td class="lineaOrden clicable"><?php echo $item['destino']['Cliente']; ?></td>
                <td class="lineaOrden clicable"><?php echo $item['destino']['Destino']; ?></td>
                <td class="lineaOrden clicable"><?php echo $item['destino']['PackingListAsociado']; ?></td>
                <td class="lineaOrden clicable"><?php echo $item['preparacion']['OPrep']; ?></td>
                <td class="lineaOrden clicable"><?php echo $item['preparacion']['RegimenOrigen']; ?></td>
                <td class="lineaOrden clicable"><?php echo $item['preparacion']['RegimenDestino']; ?></td>
                
            </tr>
        
        <?php } ?>
        
    </table>

<?php } else { ?>

	<p class="error">Error: No hay ningúna orden asociada a esta carga.</p>

<?php } ?>

<p><input type="submit" name="botonVolver" id="botonVolver" value="Volver al listado de cargas" class="boton reducido mostrarCargando"/></p>

<script>
	$(document).ready(function() {
		
		$('#botonVolver').on("click",function(){
			$('#popupCargando').show();
			window.location='<?php echo $rutaHtml; ?>/cargas-camion-cerradas.php?filtroFecha=<?php echo $filtroFecha; ?>';	
		});
		
		$('.lineaOrden').on("click",function(){
		
			const empresa=$(this).parent().attr('empresa');
			const orden=$(this).parent().attr('orden');
			
			$('#popupCargando').show();
			window.location='<?php echo $rutaHtml; ?>/carga-camion-cerrada-firma.php?empresa='+empresa+'&orden='+orden+'&filtroFecha=<?php echo $filtroFecha; ?>';
			
		});
		
		$('.refrescar').on("click",function(e) {
			$('#popupCargando').show();
			window.location.reload();
		});
		
	});
</script>

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