<?php
session_start();

if ( $_POST['pedido'] && $_POST['lineaPedido'] && $_POST['producto'] && $_POST['cantidad'] ) {
	
	$detalleActual=array();
	
	//Preparamos las unidades según emabalaje primario
	if($_POST['embalajePrimarioCaja']) {
		$cantidad=$_POST['cantidad']*$_POST['embalajePrimarioCaja'];
		foreach($_SESSION['entradaDetalle'] as $item) {
			$detalleActual[]=array('lote'=>$item['lote'],'cantidad'=>$item['cantidad']*$_POST['embalajePrimarioCaja']);
		}
	}
	else {
		$cantidad=$_POST['cantidad'];
		$detalleActual=$_SESSION['entradaDetalle'];
	}
	
	$entrada=array();
	
	$encontrado=false;
	
	//Recorremos todas las entradas actualmente grabadas, para ver si ya existe
	foreach($_SESSION['entrada'] as $item) {
	
		if($item['pedido']==$_POST['pedido'] && $item['lineaPedido']==$_POST['lineaPedido']) {
		
			//Se ha encontrado una linea igual
		
			$cantidadAcumulada=$item['cantidad']+$cantidad;
			$detalleAcumulado=array();
			
			//Hacemos lo mismo para el detalle, el lote puede estar ya incluido.
			//Primero ponemos en el array los originales, pero sumando los nuevos si corresponde
			foreach($item['detalle'] as $item2) {
				$cantidadASumar=0;
				foreach($detalleActual as $item3) {
					if($item3['lote']==$item2['lote']) $cantidadASumar=$cantidadASumar+$item3['cantidad'];
				}
				$detalleAcumulado[]=array('lote'=>$item2['lote'],'cantidad'=>$item2['cantidad']+$cantidadASumar);
			}
			
			//Ahora ponemos los nuevos, pero obviandolos si ya estan incluidos
			foreach($detalleActual as $item2) {
				$encontrado2=false;
				foreach($detalleAcumulado as $item3) {
					if($item3['lote']==$item2['lote']) $encontrado2=true;
				}
				if(!$encontrado2) $detalleAcumulado[]=array('lote'=>$item2['lote'],'cantidad'=>$item2['cantidad']);
			}
			
			$entrada[]=array('pedido'=>$_POST['pedido'],'lineaPedido'=>$_POST['lineaPedido'],'producto'=>$_POST['producto'],'descripcion'=>$_POST['descripcion'],'cantidad'=>$cantidadAcumulada,'detalle'=>$detalleAcumulado);
			
			$encontrado=true;
			
		}
		else {
			//No se ha encontrado la linea, se incluye el detalle que ya estaba previamente, que no coincide con el actual
			$entrada[]=array('pedido'=>$item['pedido'],'lineaPedido'=>$item['lineaPedido'],'producto'=>$item['producto'],'descripcion'=>$item['descripcion'],'cantidad'=>$item['cantidad'],'detalle'=>$item['detalle']);
		}
		
	}
	
	if(!$encontrado) $entrada[]=array('pedido'=>$_POST['pedido'],'lineaPedido'=>$_POST['lineaPedido'],'producto'=>$_POST['producto'],'descripcion'=>$_POST['descripcion'],'cantidad'=>$cantidad,'detalle'=>$detalleActual);

	$_SESSION['entrada']=$entrada;
	
}
else $_SESSION['entrada']=array();

?>