<?php

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

$_SESSION['agrupaciones']=array();

if(isset($_SESSION['palets'])) {

	foreach($_SESSION['palets'] as $item) { //Primera iteracion para sacar los de primer nivel
	
		if(!isset($item['PaletPadre']) || !$item['PaletPadre']) {
		
			$_SESSION['agrupaciones'][ $item['PaletPL'] ]=$item;
			$_SESSION['agrupaciones'][ $item['PaletPL'] ]['CantidadCajasPalet']=0;
			
			//Miramos si está en la OP actual
			foreach($productos as $item2) { ////ATENCION $productos tiene que estar definido anteriormente
				if($item2['Contenedor']==$item['PaletPL'] || (isset($item2['ContenedorPadre']) && $item2['ContenedorPadre']==$item['PaletPL'])) {
					$_SESSION['agrupaciones'][ $item['PaletPL'] ]['EnOrdenPreparacionActual']='S';
				}
				else if(isset($item2['AlbaranCrossDocking']) && $item2['AlbaranCrossDocking']) {
					$listadoPaletsAlbaran=explode(',',$item2['AlbaranCrossDockingPalets']);
					if(in_array($item['PaletPL'],$listadoPaletsAlbaran)) $_SESSION['agrupaciones'][ $item['PaletPL'] ]['EnOrdenPreparacionActual']='S';
				}
			}
			
		}
		
	}
	
	foreach($_SESSION['palets'] as $item) { //Segunda iteración, para obtener info de los hijos (cajas)
		if(isset($item['PaletPadre']) && $item['PaletPadre']) {
			foreach($_SESSION['agrupaciones'] as $item2) { //para cada palet de primer nivel, buscamos su padre
				if($item2['PaletPL']==$item['PaletPadre']) {
				
					//28-07-2025 para informar los atributos de palets que contienen cajas, el peso está indicado por caja, debemos sumarlo
					if(!isset($_SESSION['agrupaciones'][ $item2['PaletPL'] ]['PesoNeto'])) $_SESSION['agrupaciones'][ $item2['PaletPL'] ]['PesoNeto']=0;
					//$_SESSION['agrupaciones'][ $item2['PaletPL'] ]['PesoNeto']+=(float)$item['PesoNeto']; //04-11-2025 Quitamos lo de supar el peso de los palets hijos (cajas) al padre, porque antes no lo llevaba incluido
					
					$_SESSION['agrupaciones'][ $item2['PaletPL'] ]['CajasPaletOrden'][]['NumeroCaja']=$item['PaletPL'];
					$_SESSION['agrupaciones'][ $item2['PaletPL'] ]['CantidadCajasPalet']++;
					break;
				}
			}
			//21-12-2022 creo otro array con los tipos
			//echo '<p>Construccion caja hijo: '.$item['PaletPL'].' con el tipo: '.$item['TipoPalet'].'</p>';
			$_SESSION['agrupaciones'][$item['PaletPadre']]['CajasTipos'][$item['PaletPL']]=$item['TipoPalet'];
		}
	}

}

//echo '<p>Agrupaciones</p>';
//print_r($_SESSION['agrupaciones']);

$cantidadAgrupaciones=0;
$cantidadCajasSueltas=0;
$cantidadCajasEnPalets=0;
$cantidadPalets=0;

$cantidadAgrupacionesEnEstaOrden=0;

foreach($_SESSION['agrupaciones'] as $item) {
	//print_r($item);
	//echo '<hr>';
	if(isset($item['EsCaja']) && $item['EsCaja']=='S') {
		if($pickingPorOleada) {
			if($item['EnOrdenPreparacionActual']=='S') $cantidadCajasSueltas++;
		}
		else {
			$cantidadCajasSueltas++;
		}
	}
	else {
		if($pickingPorOleada) {
			if($item['EnOrdenPreparacionActual']=='S') {
				$cantidadPalets++;
				if(isset($item['CajasPaletOrden'])) foreach($item['CajasPaletOrden'] as $item2) $cantidadCajasEnPalets++;
			}
		}
		else {
			$cantidadPalets++;
			if(isset($item['CajasPaletOrden'])) foreach($item['CajasPaletOrden'] as $item2) $cantidadCajasEnPalets++;
		}
	}
	//27-09-2022 a raiz de las op de carga rapida
	if(isset($item['EnOrdenPreparacionActual']) && $item['EnOrdenPreparacionActual']=='S') $cantidadAgrupacionesEnEstaOrden++;
	
	
}


$cantidadAgrupaciones=$cantidadCajasSueltas+$cantidadPalets;

$textoAgrupaciones='';
if($cantidadPalets>0) $textoAgrupaciones.=$cantidadPalets.' Palet';
if($cantidadPalets>1) $textoAgrupaciones.='s';
if($cantidadCajasEnPalets>0) {
	$textoAgrupaciones.=' (con '.$cantidadCajasEnPalets.' caja';
	if($cantidadCajasEnPalets>1) $textoAgrupaciones.='s';
	$textoAgrupaciones.=') ';
}
if($cantidadCajasSueltas>0) {
	if($cantidadPalets>0) $textoAgrupaciones.=' + ';
	if($cantidadCajasSueltas>0) $textoAgrupaciones.=$cantidadCajasSueltas.' Caja';
	if($cantidadCajasSueltas>1) $textoAgrupaciones.='s';
}

if($traza) {
	echo '<p>RESUMEN DEL CONSTRUCTOR</p>';
	echo '<p>cantidadAgrupaciones: '.$cantidadAgrupaciones.'</p>';
	echo '<p>cantidadAgrupacionesEnEstaOrden: '.$cantidadAgrupacionesEnEstaOrden.'</p>';
}



?>