<?php
//session_start();
if(!isset($_SESSION))session_start();
error_reporting(0);
//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 ot.opetip_tipo, 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
														INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 														
														WHERE o.ordped_codi_fk = $xordped_codi
														AND oa.opealm_estado = 1
														GROUP BY prd_codi_fk, unimed_codi_fk, ot.opetip_tipo;"); 

		$xcantidad_ingreso = 0;
		$xcantidad_salida = 0;													

		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'];				

			if($row_almacen_detalles['opetip_tipo']=="INGRESO"){	
				$xcantidad_ingreso = $row_almacen_detalles['opealmdet_cantidad'];
				$xcantidad_ingreso = round($xcantidad_ingreso,3);
			}
			
			if($row_almacen_detalles['opetip_tipo']=="SALIDA"){	
				$xcantidad_salida = $row_almacen_detalles['opealmdet_cantidad'];
				$xcantidad_salida = round($xcantidad_salida,3);
			}

			$zopealmdet_cantidad = $xcantidad_ingreso - $xcantidad_salida;				

			//echo "xordped_codi: ".$xordped_codi;		
			
			//$xsql = "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 HAVING ycantidad > 0;";
															
			?>
			
			<script language="javascript">
			//alert("sql: <?php echo $xsql; ?>");
			</script>
			<?php																						
			
			$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 opd.ordped_codi_fk, opd.prd_codi_fk, opd.unimed_codi_fk, 
											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
											HAVING ordpeddet_cantidad_2 > 0
											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;			
	}
	





	#************FUNCION PARA VERIFICAR ENTREGAS COMPRAS****************
	function verificar_entrega_total_compras($xordcom_codi,$conexion){
	
		#######PROCESO 1
		$r_almacen_detalles = mysqli_query($conexion, "SELECT oad.*, sum(opealmdet_cantidad) as zcantidad
														FROM orden_compra_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.ordcom_codi_fk = $xordcom_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_compras_detalles = mysqli_query($conexion, "SELECT ocd.*, sum(ordcomdet_cantidad - ordcomdet_cantidad_devolver) as ycantidad
															FROM orden_compra_detalle ocd
															WHERE ocd.ordcom_codi_fk = $xordcom_codi
															AND prd_codi_fk = $zprd_codi_fk
															AND unimed_codi_fk = $zunimed_codi_fk
															GROUP BY prd_codi_fk, unimed_codi_fk;"); 			
			if(mysqli_num_rows($r_compras_detalles) > 0){
				//echo "SI HAY: ".$zprd_codi_fk;
				//echo "<br>";						
			}else{
				//echo "NO HAY";
				//echo "<br>";
				return 3;	
			}
												
		}


	
	
		#######PROCESO 2	
		$xestado = 0;		
		$r_verifica = mysqli_query($conexion,"SELECT ocd.ordcom_codi_fk, ocd.prd_codi_fk, ocd.unimed_codi_fk, 
												SUM(ordcomdet_cantidad - ordcomdet_cantidad_devolver) AS ordcomdet_cantidad_2
												FROM orden_compra_detalle ocd
												INNER JOIN productos prd ON ocd.prd_codi_fk=prd.prd_codi
												INNER JOIN unidades_medida um ON um.unimed_codi=ocd.unimed_codi_fk
												WHERE ocd.ordcom_codi_fk = $xordcom_codi
												GROUP BY prd_codi_fk, unimed_codi_fk
												ORDER BY ordcomdet_codi;");
		while($row_verifica = mysqli_fetch_array($r_verifica)){	
			$xordcom_codi_fk = $row_verifica['ordcom_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);	
			$xordcomdet_cantidad = round($row_verifica['ordcomdet_cantidad_2'],2);				
			$xentregado = 0;			
			//echo "xentregado: ".$xentregado;
			//echo "<br><br>";						
			$r_cuenta = mysqli_query($conexion,"SELECT sum(opealmdet_cantidad) as xcantidad
													FROM orden_compra_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.ordcom_codi_fk = $xordcom_codi
													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 == $xordcomdet_cantidad){
					$xentregado	= 1;						
					//echo $xcantidad." :1: ".$xordpeddet_cantidad;
					//echo "<br><br>";					
					//continue;
				}else{
					
					if($xcantidad < $xordcomdet_cantidad){
						$xentregado	= 0;							
						//echo $xcantidad." :0: ".$xordpeddet_cantidad;
						//echo "<br><br>";						
						//continue;						
						//break;
						return $xentregado;
					}else{
					
						if($xcantidad > $xordcomdet_cantidad){
							$xentregado	= 2;																		
							//echo $xcantidad." :2: ".$xordpeddet_cantidad;
							//echo "<br><br>";												
							//continue;
							//break;		
							return $xentregado;						
						}	
											
					}
																		
				}
														
					
										
			}
				
			//}			
			
		}
		return $xentregado;			
	}
	



	
	#************FUNCION PARA VERIFICAR STOCK****************
	function verificar_stock($conexion, $xprd_codi, $xunimed_codi, $xempresa_criterio){	
		
		$result4=mysqli_query($conexion,"SELECT ot.opetip_tipo, sum(oad.opealmdet_cantidad) as cantidades 
										FROM operacion_almacen_detalle oad 
										INNER JOIN operacion_almacen oa ON oad.opealm_codi_fk=oa.opealm_codi 
										INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 
										WHERE oa.emp_codi_fk=$xempresa_criterio 
										and oa.opealm_estado=1 
										and oad.prd_codi_fk=$xprd_codi 
										and oad.unimed_codi_fk=$xunimed_codi 
										GROUP BY ot.opetip_tipo;");
	
		$xcantidad_ingreso = 0;
		$xcantidad_salida = 0;													
	
		while($row4=mysqli_fetch_array($result4)){													
			
			if($row4['opetip_tipo']=="INGRESO"){	
				$xcantidad_ingreso = $row4['cantidades'];
				$xcantidad_ingreso = round($xcantidad_ingreso,3);
			}
			
			if($row4['opetip_tipo']=="SALIDA"){	
				$xcantidad_salida = $row4['cantidades'];
				$xcantidad_salida = round($xcantidad_salida,3);
			}
			
		}
		
		$xstock = $xcantidad_ingreso - $xcantidad_salida;
		
		$xstock = round($xstock,3);
	
		return $xstock;
	}



	#************FUNCION PARA VERIFICAR STOCK ANTERIOR****************
	function verificar_stock_anterior($conexion, $xprd_codi, $xunimed_codi, $xempresa_criterio, $xfecha_inicio){
							
		if(trim($xempresa_criterio)==""){
			$xsql_empresa = "";			
		}else{	
			$xsql_empresa = " and oa.emp_codi_fk=$xempresa_criterio ";									
		}	
		
		$result4=mysqli_query($conexion,"SELECT ot.opetip_tipo, sum(oad.opealmdet_cantidad) as cantidades 
										FROM operacion_almacen_detalle oad 
										INNER JOIN operacion_almacen oa ON oad.opealm_codi_fk=oa.opealm_codi 
										INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 
										WHERE oa.opealm_fecha < '$xfecha_inicio'
										".$xsql_empresa."
										and oa.opealm_estado=1 
										and oad.prd_codi_fk=$xprd_codi 
										and oad.unimed_codi_fk=$xunimed_codi 
										GROUP BY ot.opetip_tipo;");
	
		$xcantidad_ingreso = 0;
		$xcantidad_salida = 0;													
	
		while($row4=mysqli_fetch_array($result4)){													
			
			if($row4['opetip_tipo']=="INGRESO"){	
				$xcantidad_ingreso = $row4['cantidades'];
				$xcantidad_ingreso = round($xcantidad_ingreso,3);
			}
			
			if($row4['opetip_tipo']=="SALIDA"){	
				$xcantidad_salida = $row4['cantidades'];
				$xcantidad_salida = round($xcantidad_salida,3);
			}
			
		}
		
		$xstock = $xcantidad_ingreso - $xcantidad_salida;
		
		$xstock = round($xstock,3);
	
		return $xstock;
	}




	#************FUNCION PARA VERIFICAR STOCK LIMITE****************
	function verificar_stock_limite($conexion, $xprd_codi, $xunimed_codi, $xempresa_criterio, $xactivar_fech, $xfecha_fin){	
	
	
		if($xactivar_fech == 1){
			$sql_fecha_limite = " and oa.opealm_fecha <= '$xfecha_fin' ";
		}else{
			$sql_fecha_limite = " ";
		}	
		
		$result4=mysqli_query($conexion,"SELECT ot.opetip_tipo, sum(oad.opealmdet_cantidad) as cantidades 
										FROM operacion_almacen_detalle oad 
										INNER JOIN operacion_almacen oa ON oad.opealm_codi_fk=oa.opealm_codi 
										INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 
										WHERE oa.emp_codi_fk=$xempresa_criterio 
										".$sql_fecha_limite."
										and oa.opealm_estado=1 
										and oad.prd_codi_fk=$xprd_codi 
										and oad.unimed_codi_fk=$xunimed_codi 
										GROUP BY ot.opetip_tipo;");
	
		$xcantidad_ingreso = 0;
		$xcantidad_salida = 0;													
	
		while($row4=mysqli_fetch_array($result4)){													
			
			if($row4['opetip_tipo']=="INGRESO"){	
				$xcantidad_ingreso = $row4['cantidades'];
				$xcantidad_ingreso = round($xcantidad_ingreso,3);
			}
			
			if($row4['opetip_tipo']=="SALIDA"){	
				$xcantidad_salida = $row4['cantidades'];
				$xcantidad_salida = round($xcantidad_salida,3);
			}
			
		}
		
		$xstock = $xcantidad_ingreso - $xcantidad_salida;
		
		$xstock = round($xstock,3);
	
		return $xstock;
	}


	#************FUNCION PARA VERIFICAR STOCK DOUMENTADO LIMITE****************
	function verificar_stock_limite_doc($conexion, $xprd_codi, $xunimed_codi, $xempresa_criterio, $xactivar_fech, $xfecha_fin){	
	
	
		if($xactivar_fech == 1){
			$sql_fecha_limite = " and oa.opealm_fecha <= '$xfecha_fin' ";
		}else{
			$sql_fecha_limite = " ";
		}	
		
		$result4=mysqli_query($conexion,"SELECT ot.opetip_tipo, sum(oad.opealmdet_cantidad) as cantidades 
										FROM operacion_almacen_detalle oad 
										INNER JOIN operacion_almacen oa ON oad.opealm_codi_fk=oa.opealm_codi 
										INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 
										WHERE oa.emp_codi_fk=$xempresa_criterio 
										".$sql_fecha_limite."
										and oa.opealm_estado=1 
										and oa.opealm_documentado=1
										and oad.prd_codi_fk=$xprd_codi 
										and oad.unimed_codi_fk=$xunimed_codi 
										GROUP BY ot.opetip_tipo;");
	
		$xcantidad_ingreso = 0;
		$xcantidad_salida = 0;													
	
		while($row4=mysqli_fetch_array($result4)){													
			
			if($row4['opetip_tipo']=="INGRESO"){	
				$xcantidad_ingreso = $row4['cantidades'];
				$xcantidad_ingreso = round($xcantidad_ingreso,3);
			}
			
			if($row4['opetip_tipo']=="SALIDA"){	
				$xcantidad_salida = $row4['cantidades'];
				$xcantidad_salida = round($xcantidad_salida,3);
			}
			
		}
		
		$xstock = $xcantidad_ingreso - $xcantidad_salida;
		
		$xstock = round($xstock,3);
	
		return $xstock;
	}




	#************FUNCION PARA VERIFICAR ENTREGAS DE VENTAS****************
	function verificar_entrega_total_2____($xordped_codi,$conexion){	
		#######PROCESO 1
		$xcantidad = 0;		
		$xrespuesta = 0;
		
		/*
		echo "SELECT ordped_codi, sum(ordpeddet_cantidad - ordpeddet_cantidad_devolver) AS cantidad
											FROM orden_pedido op
											INNER JOIN orden_pedido_detalle opd ON op.ordped_codi = opd.ordped_codi_fk
											WHERE ordped_codi_fk = $xordped_codi
											AND ordped_estado = 1;";
		*/									
		
		$r_pedidos = mysqli_query($conexion, "SELECT ordped_codi, sum(ordpeddet_cantidad - ordpeddet_cantidad_devolver) AS cantidad
											FROM orden_pedido op
											INNER JOIN orden_pedido_detalle opd ON op.ordped_codi = opd.ordped_codi_fk
											WHERE ordped_codi_fk = $xordped_codi
											AND ordped_estado = 1;"); 											
		while($row_pedidos = mysqli_fetch_array($r_pedidos)){						
			$xcantidad = $row_pedidos['cantidad'];
		}		
		
		echo "<br>";
		echo "xcantidad: ".$xcantidad;
		echo "<br>";		
		
		if($xcantidad == 0){
			$xrespuesta = 3;
		}else{
		
			$r_almacen_detalles = mysqli_query($conexion, "SELECT ot.opetip_tipo, 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
															INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 														
															WHERE o.ordped_codi_fk = $xordped_codi
															AND oa.opealm_estado = 1
															GROUP BY ot.opetip_tipo;"); 
	
			$xcantidad_ingreso = 0;
			$xcantidad_salida = 0;													
	
			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'];				
	
				if($row_almacen_detalles['opetip_tipo']=="INGRESO"){	
					$xcantidad_ingreso = $row_almacen_detalles['zcantidad'];
					$xcantidad_ingreso = round($xcantidad_ingreso,3);
				}
				
				if($row_almacen_detalles['opetip_tipo']=="SALIDA"){	
					$xcantidad_salida = $row_almacen_detalles['zcantidad'];
					$xcantidad_salida = round($xcantidad_salida,3);
				}	
			}
			
			$zopealmdet_cantidad =  $xcantidad_salida - $xcantidad_ingreso;
			
			echo "<br>";
			echo "zopealmdet_cantidad: ".$zopealmdet_cantidad;
			echo "<br>";		
			
			
			if($xcantidad > $zopealmdet_cantidad){
				$xrespuesta = 0;
			}else{									
				if($xcantidad < $zopealmdet_cantidad){
					$xrespuesta = 2;
				}else{										
					$xrespuesta = 1;									
				}												
			}				
																	
		}
		return $xrespuesta;
	}






	#************FUNCION PARA VERIFICAR ENTREGAS DE VENTAS****************
	function verificar_entrega_total_2($xordped_codi,$conexion){	
		#######PROCESO 1
		$xcantidad = 0;		
		$xrespuesta = 0;
		
		/*
		echo "SELECT ordped_codi, sum(ordpeddet_cantidad - ordpeddet_cantidad_devolver) AS cantidad
											FROM orden_pedido op
											INNER JOIN orden_pedido_detalle opd ON op.ordped_codi = opd.ordped_codi_fk
											WHERE ordped_codi_fk = $xordped_codi
											AND ordped_estado = 1;";
		*/									
		
		$r_pedidos = mysqli_query($conexion, "SELECT ordped_codi, sum(ordpeddet_cantidad - ordpeddet_cantidad_devolver) AS cantidad
											FROM orden_pedido op
											INNER JOIN orden_pedido_detalle opd ON op.ordped_codi = opd.ordped_codi_fk
											WHERE ordped_codi_fk = $xordped_codi
											AND ordped_estado = 1;"); 
																						
		while($row_pedidos = mysqli_fetch_array($r_pedidos)){						
			$xcantidad =  round($row_pedidos['cantidad'],3);
		}		
		
		//echo "<br>";
		//echo "xcantidad: ".$xcantidad;
		//echo "<br>";		
		
		if($xcantidad == 0){
			$xrespuesta = 3;
			return $xrespuesta;			
		}else{
			$r_pedidos_desagrupado = mysqli_query($conexion, "SELECT prd_codi_fk, unimed_codi_fk, ordped_codi, sum(ordpeddet_cantidad - ordpeddet_cantidad_devolver) AS cantidad
															FROM orden_pedido op 
															INNER JOIN orden_pedido_detalle opd ON op.ordped_codi = opd.ordped_codi_fk
															WHERE ordped_codi_fk = $xordped_codi 
															AND ordped_estado = 1
															GROUP BY prd_codi_fk, unimed_codi_fk;"); 
																							
			while($row_pedidos_desagrupado = mysqli_fetch_array($r_pedidos_desagrupado)){						
				$xcantidad = round($row_pedidos_desagrupado['cantidad'],3);					

				$zzprd_codi_fk = $row_pedidos_desagrupado['prd_codi_fk'];
				$zzunimed_codi_fk = $row_pedidos_desagrupado['unimed_codi_fk'];
				$zzopealmdet_cantidad = $row_pedidos_desagrupado['opealmdet_cantidad'];						
				
				/*
				echo "SELECT oad.prd_codi_fk, oad.unimed_codi_fk, ot.opetip_tipo, 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
																INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 														
																WHERE o.ordped_codi_fk = $xordped_codi
																AND oad.prd_codi_fk = $zzprd_codi_fk
																AND oad.unimed_codi_fk = $zzunimed_codi_fk
																AND oa.opealm_estado = 1
																GROUP BY ot.opetip_tipo;";
				echo "<br>";
				*/
				$r_almacen_detalles = mysqli_query($conexion, "SELECT oad.prd_codi_fk, oad.unimed_codi_fk, ot.opetip_tipo, 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
																INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 														
																WHERE o.ordped_codi_fk = $xordped_codi
																AND oad.prd_codi_fk = $zzprd_codi_fk
																AND oad.unimed_codi_fk = $zzunimed_codi_fk
																AND oa.opealm_estado = 1
																GROUP BY ot.opetip_tipo;"); 
		
				$xcantidad_ingreso = 0;
				$xcantidad_salida = 0;													
		
				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'];				
		
					if($row_almacen_detalles['opetip_tipo']=="INGRESO"){	
						$xcantidad_ingreso = $row_almacen_detalles['zcantidad'];
						$xcantidad_ingreso = round($xcantidad_ingreso,3);
					}
					
					if($row_almacen_detalles['opetip_tipo']=="SALIDA"){	
						$xcantidad_salida = $row_almacen_detalles['zcantidad'];
						$xcantidad_salida = round($xcantidad_salida,3);
					}	
				}
				
				$zopealmdet_cantidad =  $xcantidad_salida - $xcantidad_ingreso;
				$zopealmdet_cantidad =  round($zopealmdet_cantidad,3);
				
				//echo "<br>";
				//echo "zopealmdet_cantidad: ".$zopealmdet_cantidad;
				//echo "<br>";		
								
				if($xcantidad > $zopealmdet_cantidad){
					$xrespuesta = 0;
					return $xrespuesta;
				}else{									
					if($xcantidad < $zopealmdet_cantidad){
						$xrespuesta = 2;
						return $xrespuesta;						
					}else{										
						$xrespuesta = 1;									
					}												
				}				
			}																	
		}
		return $xrespuesta;
	}



	#************FUNCION PARA VERIFICAR STOCK ANTERIOR DOCUMENTADO****************
	function verificar_stock_anterior_documentado($conexion, $xprd_codi, $xunimed_codi, $xempresa_criterio, $xfecha_inicio){							
		if(trim($xempresa_criterio)==""){
			$xsql_empresa = "";			
		}else{	
			$xsql_empresa = " and oa.emp_codi_fk=$xempresa_criterio ";									
		}			
		$result4=mysqli_query($conexion,"SELECT ot.opetip_tipo, sum(oad.opealmdet_cantidad) as cantidades 
										FROM operacion_almacen_detalle oad 
										INNER JOIN operacion_almacen oa ON oad.opealm_codi_fk=oa.opealm_codi 
										INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 
										WHERE oa.opealm_fecha < '$xfecha_inicio'
										".$xsql_empresa."
										and oa.opealm_estado=1 
										and oad.prd_codi_fk=$xprd_codi 
										and oad.unimed_codi_fk=$xunimed_codi 
										and trim(oa.doc_numero) != ''
										GROUP BY ot.opetip_tipo;");
		$xcantidad_ingreso = 0;
		$xcantidad_salida = 0;													
	
		while($row4=mysqli_fetch_array($result4)){													
			
			if($row4['opetip_tipo']=="INGRESO"){	
				$xcantidad_ingreso = $row4['cantidades'];
				$xcantidad_ingreso = round($xcantidad_ingreso,3);
			}
			
			if($row4['opetip_tipo']=="SALIDA"){	
				$xcantidad_salida = $row4['cantidades'];
				$xcantidad_salida = round($xcantidad_salida,3);
			}
			
		}		
		$xstock = $xcantidad_ingreso - $xcantidad_salida;		
		$xstock = round($xstock,3);	
		return $xstock;
	}

	//************FUNCION PARA VERIFICAR STOCK ANTERIOR NO DOCUMENTADO****************
	function verificar_stock_anterior_no_documentado($conexion, $xprd_codi, $xunimed_codi, $xempresa_criterio, $xfecha_inicio){							
		if(trim($xempresa_criterio)==""){
			$xsql_empresa = "";			
		}else{	
			$xsql_empresa = " and oa.emp_codi_fk=$xempresa_criterio ";									
		}			
		$result4=mysqli_query($conexion,"SELECT ot.opetip_tipo, sum(oad.opealmdet_cantidad) as cantidades 
										FROM operacion_almacen_detalle oad 
										INNER JOIN operacion_almacen oa ON oad.opealm_codi_fk=oa.opealm_codi 
										INNER JOIN operacion_tipo ot ON ot.opetip_codi=oa.opetip_codi_fk 
										WHERE oa.opealm_fecha < '$xfecha_inicio'
										".$xsql_empresa."
										and oa.opealm_estado=1 
										and oad.prd_codi_fk=$xprd_codi 
										and oad.unimed_codi_fk=$xunimed_codi 
										and trim(oa.doc_numero) = ''
										GROUP BY ot.opetip_tipo;");
		$xcantidad_ingreso = 0;
		$xcantidad_salida = 0;													
	
		while($row4=mysqli_fetch_array($result4)){													
			
			if($row4['opetip_tipo']=="INGRESO"){	
				$xcantidad_ingreso = $row4['cantidades'];
				$xcantidad_ingreso = round($xcantidad_ingreso,3);
			}
			
			if($row4['opetip_tipo']=="SALIDA"){	
				$xcantidad_salida = $row4['cantidades'];
				$xcantidad_salida = round($xcantidad_salida,3);
			}
			
		}		
		$xstock = $xcantidad_ingreso - $xcantidad_salida;		
		$xstock = round($xstock,3);	
		return $xstock;
	}


}


?>
