<?php include('casa/setup.casa.php');
	$codigo = substr(sha1(uniqid()),1,7);	
	$codigo_entrega = substr(md5(uniqid()),1,7);	
	$codigo_venta = DataForms::POST('codigo_venta');
	$cmbTipoPago = DataForms::POST('cmbTipoPago');
		switch($cmbTipoPago){
			case 1: $TipoPagoNombre = 'Al Contado'; break;
			case 2: $TipoPagoNombre = 'A Cuenta Transferencia'; break;
			case 3: $TipoPagoNombre = 'Depósito Bancario'; break;			
		}
	$txtNombres = DataForms::POST('txtNombres');	
	$txtApellidos = DataForms::POST('txtApellidos');
	$txtCINIT = DataForms::POST('txtCINIT');
		if($txtCINIT=='') $txtCINIT='s/n';
	$txtCelular = DataForms::POST('txtCelular');
	$txtDestino = DataForms::POST('txtDestino');	 
	$txtPuntoLista = DataForms::POST('txtPuntoLista');	 
	$txtPuntoEntrega = DataForms::POST('txtPuntoEntrega');	 
	$txtPersona = DataForms::POST('txtPersona');	 
   $txtDescuentos = DataForms::POST('txtDescuentos');	 
		
	if(trim($txtDescuentos)==''){	
		$txtDescuentos=0;
	} 
	if(trim($txtNombres)==''){	
		echo '<script>$("#txtNombres").focus();</script>';
		exit();
	} 
	if(trim($txtApellidos)==''){	
		echo '<script>$("#txtApellidos").focus();</script>';
		exit();
	} /*
	if(trim($txtPuntoEntrega)==''){	
		echo '<script>$("#txtPuntoEntrega").focus();</script>';
		exit();
	} 	
	*/
	/*
	if(trim($txtPersona)==''){	
		echo '<script>$("#txtPersona").focus();</script>';
		exit();
	} 	
	if(trim($cmbTipoPago)==''){	
		echo '<script>$("#cmbTipoPago").focus();</script>';
		exit();
	} */
//Generar numero de listas tipo factura
$NumLista = new DB();	
$sqlNumLista = "SELECT * FROM ventas_productos GROUP BY ven_codigo;";
$NumLista->dbSQL($sqlNumLista);
$NumeroLista = $NumLista->dbNumRows() + 1;
//Guardar cliente	
$sql = Caresp("INSERT INTO inventarios_clientes(
	clie_codigo, clie_cinit,
	clie_nombres, clie_apellidos, clie_destino, 
	clie_celular,
	clie_puntolista, clie_puntoentrega, clie_personarecoge,
	clie_tipopago, clie_tipopagonombre, clie_descuento
)VALUES(
	'$codigo', '$txtCINIT', 
	'$txtNombres', '$txtApellidos', '$txtDestino', 
	'$txtCelular',
	'$txtPuntoLista','$txtPuntoEntrega','$txtPersona',
	'$cmbTipoPago','$TipoPagoNombre', '$txtDescuentos'
);");
//Actualizar y Enlazar venta a cliente
$sqlActualizar= "UPDATE ventas_productos SET 	
	clie_codigo = '$codigo',
	ven_numerolista = '0000".$NumeroLista."'
WHERE ven_codigo = '$codigo_venta';";
//Entrega de Lista de Empaque en un Deposito o Almacen determinado
$sqlEntregas = "INSERT INTO ventas_entregas (
	entre_codigo,
	ven_codigo
)VALUES(
	'$codigo_entrega','$codigo_venta'
);";
//Registrar para el cobro en Caja
$sqlCajeros = "INSERT INTO ventas_cajeros (
	entre_codigo,
	ven_codigo
)VALUES(
	'$codigo_entrega','$codigo_venta'
);";
$db = new DB();
$db->dbSQL($sql);
$db->dbSQL($sqlActualizar);
$db->dbSQL($sqlEntregas);
$db->dbSQL($sqlCajeros);

//Actualizar Inventario de Productos vendidos
$Inventario = new DB();
$ActualizarProductos = new DB();
$sqlInventario = "SELECT * FROM ventas_productos ven, inventarios_productos prod
WHERE ven.prod_codigo = prod.prod_codigo
AND ven.ven_codigo = '$codigo_venta';";
$Inventario->dbSQL($sqlInventario);
while($Inventario->next()){
	$ven_codigo = $Inventario->dbField('ven_codigo');
	$clie_codigo = $Inventario->dbField('clie_codigo');
	$prod_codigo = $Inventario->dbField('prod_codigo');
	$ubica_codigo = $Inventario->dbField('ubica_codigo');
	$us_id = $Inventario->dbField('us_id');
	$ven_cantidad = $Inventario->dbField('ven_cantidad');
	$ven_precio = $Inventario->dbField('ven_precio');
	$ven_tipo = $Inventario->dbField('ven_tipo');
	//Productos
	$prod_piezascaja = $Inventario->dbField('prod_piezascaja');
	$prod_unidadesreal = $Inventario->dbField('prod_unidadesreal');	
	//Calculos ventas - productos
	$ActCantidadProducto = 0;
	$SaldoNuevo=0;
	switch($ven_tipo){
		case 1: $TipoVenta = 'Unidad'; 
			$ActCantidadProducto	= $ven_cantidad;
		break;
		case 2: $TipoVenta = 'Docena';
			$ActCantidadProducto	= $ven_cantidad * $prod_piezascaja;
		break;
		case 3: $TipoVenta = 'CajaDocena';
			$ActCantidadProducto	= $ven_cantidad * $prod_piezascaja;
		break;
	}
	//Restar cantidad actual del producto menos la compra realizada
	$SaldoNuevo = $prod_unidadesreal - $ActCantidadProducto;
	$sqlActualizarCantidad = "UPDATE inventarios_productos SET 
		prod_unidadesreal = '$SaldoNuevo'
	WHERE prod_codigo ='$prod_codigo';";
	$ActualizarProductos->dbSQL($sqlActualizarCantidad);
}
//echo '<script>self.location="'.PATH_HOME.'ventas-imprimir/'.$codigo_venta.'&cod_cliente='.$codigo.'";</script>';
echo '<script>self.location="'.PATH_HOME.'ventas/";alert("PreVenta registrada");</script>';
?>