<?php
session_start();
//include_once "verifica.php";
include_once "../conexion.php";

$almfun = new AlmacenFunciones;

//$almfun->verificar_entrega_total(79878,$conexion);
//$xestado = $almfun->verificar_entrega_total(79661,$conexion);

//$xestado = $almfun->verificar_entrega_total(81363,$conexion);
//echo $xestado;


class AlmacenFunciones{
	
	#************FUNCION PARA VERIFICAR ENTREGAS****************
	function verificar_entrega_total($xordped_codi,$conexion){
	
		#######PROCESO 1
		$r_almacen_detalles = mysqli_query($conexion, "SELECT oad.*, sum(opealmdet_cantidad) as zcantidad
														FROM orden_pedido_almacen o
														INNER JOIN operacion_almacen oa ON oa.opealm_codi=o.opealm_codi_fk
														INNER JOIN operacion_almacen_detalle oad ON oad.opealm_codi_fk=oa.opealm_codi
														WHERE o.ordped_codi_fk = $xordped_codi
														AND oa.opealm_estado = 1
														GROUP BY prd_codi_fk, unimed_codi_fk;"); 
		while($row_almacen_detalles = mysqli_fetch_array($r_almacen_detalles)){
						
			$zprd_codi_fk = $row_almacen_detalles['prd_codi_fk'];
			$zunimed_codi_fk = $row_almacen_detalles['unimed_codi_fk'];
			$zopealmdet_cantidad = $row_almacen_detalles['opealmdet_cantidad'];	
			
			//echo "xordped_codi: ".$xordped_codi;												
			
			$r_pedidos_detalles = mysqli_query($conexion, "SELECT opd.*, sum(ordpeddet_cantidad - ordpeddet_cantidad_devolver) as ycantidad 
															FROM orden_pedido_detalle opd
															WHERE opd.ordped_codi_fk = $xordped_codi
															AND prd_codi_fk = $zprd_codi_fk
															AND unimed_codi_fk = $zunimed_codi_fk
															GROUP BY prd_codi_fk, unimed_codi_fk;"); 			
			
			//while($row_pedidos_detalles = mysqli_fetch_array($r_pedidos_detalles)){
			//	echo "SI HAY: ".$zprd_codi_fk." ... ".$row_pedidos_detalles['prd_codi_fk'];	;
			//	echo "<br>";						
			//}
																		
			if(mysqli_num_rows($r_pedidos_detalles) > 0){
				//echo "SI HAY: ".$zprd_codi_fk;
				//echo "<br>";						
			}else{
				//echo "NO HAY";
				//echo "<br>";
				return 3;	
			}
												
		}


	
	
		#######PROCESO 2	
		$xestado = 0;
		//$xentregado = 0;
		
		/*
		SELECT * FROM orden_pedido_detalle opd 
											INNER JOIN productos prd ON opd.prd_codi_fk=prd.prd_codi 
											INNER JOIN unidades_medida um ON um.unimed_codi=opd.unimed_codi_fk 
											WHERE opd.ordped_codi_fk=$xordped_codi
											ORDER BY ordpeddet_codi;
		*/									
		
		$r_verifica = mysqli_query($conexion,"SELECT *, SUM(ordpeddet_cantidad - ordpeddet_cantidad_devolver) AS ordpeddet_cantidad_2 
											FROM orden_pedido_detalle opd
											INNER JOIN productos prd ON opd.prd_codi_fk=prd.prd_codi
											INNER JOIN unidades_medida um ON um.unimed_codi=opd.unimed_codi_fk
											WHERE opd.ordped_codi_fk=$xordped_codi
											GROUP BY prd_codi_fk, unimed_codi_fk
											ORDER BY ordpeddet_codi;");
		while($row_verifica = mysqli_fetch_array($r_verifica)){
	
			$xordped_codi_fk = $row_verifica['ordped_codi_fk'];
			$xprd_codi_fk = $row_verifica['prd_codi_fk'];
			$xunimed_codi_fk = $row_verifica['unimed_codi_fk'];
			//$xordpeddet_cantidad = round($row_verifica['ordpeddet_cantidad'],2);	
			$xordpeddet_cantidad = round($row_verifica['ordpeddet_cantidad_2'],2);	
			
			$xentregado = 0;
			
			//echo "xentregado: ".$xentregado;
			//echo "<br><br>";			
			
			$r_cuenta = mysqli_query($conexion,"SELECT sum(opealmdet_cantidad) as xcantidad
													FROM orden_pedido_almacen o
													INNER JOIN operacion_almacen oa ON oa.opealm_codi=o.opealm_codi_fk
													INNER JOIN operacion_almacen_detalle oad ON oad.opealm_codi_fk=oa.opealm_codi
													WHERE o.ordped_codi_fk = $xordped_codi_fk
													AND oa.opealm_estado = 1
													AND oad.prd_codi_fk = $xprd_codi_fk
													AND oad.unimed_codi_fk = $xunimed_codi_fk
													GROUP BY prd_codi_fk, unimed_codi_fk;");
													
			//echo "r_cuenta: ".mysqli_num_rows($r_cuenta);
			//echo "<br><br>";							
			
			if(mysqli_num_rows($r_cuenta) == 0){
				$xentregado	= 0;							
				return $xentregado;				
			}			
													
			while($row_cuenta = mysqli_fetch_array($r_cuenta)){										
			 
				$xcantidad = round($row_cuenta['xcantidad'],2);
							 
				if($xcantidad == $xordpeddet_cantidad){
					$xentregado	= 1;						
					//echo $xcantidad." :1: ".$xordpeddet_cantidad;
					//echo "<br><br>";					
					//continue;
				}else{
					
					if($xcantidad < $xordpeddet_cantidad){
						$xentregado	= 0;							
						//echo $xcantidad." :0: ".$xordpeddet_cantidad;
						//echo "<br><br>";						
						//continue;						
						//break;
						return $xentregado;
					}else{
					
						if($xcantidad > $xordpeddet_cantidad){
							$xentregado	= 2;																		
							//echo $xcantidad." :2: ".$xordpeddet_cantidad;
							//echo "<br><br>";												
							//continue;
							//break;		
							return $xentregado;						
						}	
											
					}
																		
				}
														
					
										
			}
				
			//}			
			
		}
		return $xentregado;	
		

	}
	
	
	
	
	

}


?>
