<?
include("conex.php");
// recorro todos los prodctos
$wsql_bp="SELECT codigo FROM productos";
$wres_bp = mysql_query($wsql_bp,$enlace);
$row_wbp = 0;
while (mysql_fetch_object ($wres_bp))
	{
	
	$cnt_salida=0;
	$cnt_entrada=0;
	$cnt_producto=0;
	//saca codigo del producto
	$codigo=mysql_result($wres_bp, $row_wbp, "codigo");
	//saca total productos en entrada por producto
	$sql_be="SELECT SUM(cantidad) AS centrada FROM movimiento WHERE entrada_salida_traspaso='E' AND cod_producto=$codigo";
	$res_be = mysql_query($sql_be,$enlace);
	$row_be=0;
	while (mysql_fetch_object ($res_be))
		{
		$cnt_entrada=mysql_result($res_be, 0, "centrada");
		if ($cnt_entrada=='') $cnt_entrada=0;
		$row_be+=1;
		}
	
	
	// Saca total de productos en salida por producto
	$sql_bs="SELECT SUM(cantidad) AS csalida FROM movimiento WHERE entrada_salida_traspaso='S' AND cod_producto=$codigo";
	//echo $sql_bs."<br>";
	$res_bs = mysql_query($sql_bs,$enlace);
	$row_bs=0;
	while (mysql_fetch_object ($res_bs))
		{
		$cnt_salida=mysql_result($res_bs, 0, "csalida");
		if ($cnt_salida=='') $cnt_salida=0;
		$row_bs+=1;
		}
	//Saco el saldo existente en movimiento
	$dif_mov=$cnt_entrada-$cnt_salida;
	// saco el saldo existente en productos
	$sql_bp="SELECT saldo FROM productos WHERE codigo=$codigo";
	$res_bp = mysql_query($sql_bp,$enlace);
	$row_bp=0;
	while (mysql_fetch_object ($res_bp))
		{
		$cnt_producto=mysql_result($res_bp, 0, "saldo");
		$row_bp+=1;
		}
	// Saco la diferencia de saldo entre movimiento y productos	
	$diferencia_saldos=$cnt_producto-$dif_mov;
	
		if ($diferencia_saldos!=0) // si la diferencia es distinta de 0 actualizo
		{
		// Selecciono el producto de movimiento ordenado por fecha para sacar el primero
		$sql_bd="SELECT * FROM movimiento WHERE entrada_salida_traspaso='E' AND cod_producto=$codigo order by fecha";
		//echo $sql_bd."<br>";
		$res_bd = mysql_query($sql_bd,$enlace);
		$row_bd=0;
		if(mysql_fetch_object ($res_bd)) // Si existe en movimiento updateo
			{
			$id_mov=mysql_result($res_bd, 0, "Id");
			// hago el update al producto para que cuadre el saldo
			
			$sql_um="UPDATE movimiento SET cantidad = (cantidad+$diferencia_saldos) WHERE Id=$id_mov";
			$res_um = mysql_query($sql_um,$enlace);
			$row_bd+=1;
			}
		else // si no existe en movimiento creo una nueva entrada
			{
			// EN CASO DE NO QUERER INSERTAR NUEVOS COMENTAR DESDE ACA /**/
			//DATOS  A MODIFICAR PARA NUEVA ENTRADA
			$empresa=1;
			$rut_proveedor='11.111.111-1';
			$num_dcto=0;
			$tipo_dcto=0;
			$fecha_emision='2008-01-01';
			$fecha_recepcion='2008-01-01';
			$fecha_pago='2008-02-01';
			$tipo_pago=0;
			$neto = 0;
			$iva = 0;
			$total = 0;
			$productos = 1;
			$dcto_control=0;
			$pagada=0;
			$usuario=1;
			$bodega=1;
			// inserta en entrada;
			$sql_ins = "INSERT INTO entrada (empresa, rut_proveedor, num_dcto, tipo_dcto, fecha_emision, fecha_recepcion, fecha_pago, tipo_pago, neto, iva, total, productos, num_dcto_control, pagada, usuario, bodega) VALUES ($empresa, '$rut_proveedor', $num_dcto, $tipo_dcto, '$fecha_emision', '$fecha_recepcion', '$fecha_pago', $tipo_pago, $neto, $iva, $total, $productos, $dcto_control, $pagada, $usuario, $bodega)";
			$cons_ins = mysql_query($sql_ins,$enlace);
			// Sacar el ultimo
			$sql_ultimo = "SELECT id FROM entrada WHERE id=last_insert_id()";
			$res_ultimo =  mysql_query($sql_ultimo, $enlace);		
			$id_soe = mysql_result($res_ultimo, 0, "id");
			// DATOS A MODIFICAR PARA NUEVO MOVIMIENTO
			$bodega=1;
			$empresa=1;
			$entrada_salida_traspaso='E';
			$fecha='2008-01-01';
			$cod_producto=$codigo;
			$cantidad=$diferencia_saldos;
			$precio_unitario=0;
			$rut='11.111.111-1';
			$numero_dcto=0;
			$tipo_dcto=0;
			$descuentos=0;
			
			// inserta en movimiento
		$sql_inm = "INSERT INTO movimiento (bodega, empresa, entrada_salida_traspaso, fecha, cod_producto, cantidad, precio_unitario, rut, numero_dcto, tipo_dcto, descuentos, id_soe) VALUES ($bodega, $empresa, '$entrada_salida_traspaso', '$fecha', $cod_producto, $cantidad, $precio_unitario, '$rut', $numero_dcto, $tipo_dcto, $descuentos, $id_soe)";
			$cons_inm = mysql_query($sql_inm,$enlace);
			// EN CASO DE NO QUERER INSERTAR NUEVOS COMENTAR HASTA ACA /**/
			}// cierro if de existencia en movimientos
		}// cierro if de saldos distintos de 0
		
		
		
		
		
			//ACTUALIZO LAS ENTRADAS Y SALIDAS DE PRODUCTOS
			$cnt_salida=0;
			$cnt_entrada=0;
	// Saca total de productos en ENTRADA por producto
	$sql_be="SELECT SUM(cantidad) AS centrada FROM movimiento WHERE entrada_salida_traspaso='E' AND cod_producto=$codigo";
	$res_be = mysql_query($sql_be,$enlace);
	$row_be=0;
	if (mysql_fetch_object ($res_be))
		{
		$cnt_entrada=mysql_result($res_be, 0, "centrada");
		if ($cnt_entrada=='') $cnt_entrada=0;
		$row_be+=1;
		}	
	// Saca total de productos en salida por producto
	$sql_bs="SELECT SUM(cantidad) AS csalida FROM movimiento WHERE entrada_salida_traspaso='S' AND cod_producto=$codigo";
	$res_bs = mysql_query($sql_bs,$enlace);
	$row_bs=0;
	if (mysql_fetch_object ($res_bs))
		{
		$cnt_salida=mysql_result($res_bs, 0, "csalida");
		if ($cnt_salida=='') $cnt_salida=0;
		$row_bs+=1;
		}	
	$sql_uen="UPDATE productos SET u_entrada = $cnt_entrada, u_salida=$cnt_salida WHERE codigo=$codigo";
	$res_uen = mysql_query($sql_uen,$enlace);

		
	$row_wbp+=1;
	}// cierro while
	echo "LISTO";
?>
