function update_categoria(&$mensaje, $categoria, $id_grupo, $scan, $stock_minimo, $unidad, $id_categoria, $porcentaje)
{
    if ($categoria == "" or $id_grupo == 0 or $unidad == 0 or $porcentaje == "") {
        // Si falta alguno de los campos requeridos.
        //
        $mensaje = "<em class=\"error\">Error: Debe ingresar los items marcados con *.</em>";
        return FALSE;
    } else {
        // Si estan todos los campos requeridos
        //
        $categoria = addslashes(trim(strtoupper($categoria)));
        $stock_minimo = addslashes(trim($stock_minimo));
        //Actalizo la categoria
        $query = "UPDATE Categoria SET\n\tcategoria = \"{$categoria}\",\n\tid_grupo = {$id_grupo},\n\tscan = \"{$scan}\",\n\tstock_minimo = {$stock_minimo},\n\tid_unidad_visual = {$unidad},\n  \tporc_impuesto = {$porcentaje}\n  WHERE\n\tCategoria.id_categoria = {$id_categoria}";
        if (!($result = mysql_query($query))) {
            // Si hay un error al insertar los datos en la base.
            //
            $mensaje = "<em class=\"error\">Error: El producto " . htmlspecialchars(stripslashes($categoria)) . " no pudo ser actualizado. Motivo posible: El producto ya existia.</em>" . mysql_error();
            return FALSE;
        } else {
            // Si se puede insertar los campos en la base.
            //
            $mensaje = "El producto " . htmlspecialchars(stripslashes($categoria)) . " ha sido actualizado.";
            //Actualizo los precios_nac de los items de la categoria modificada que son extranjeros
            //
            $precio_dolar = obtener_precio_dolar();
            $query = "SELECT id_item, precio_fob FROM Item WHERE id_categoria = {$id_categoria} and precio_fob IS NOT NULL";
            $result = mysql_query($query);
            while ($row = mysql_fetch_array($result)) {
                $precio_nac = $row[1] + $row[1] * $porcentaje / 100;
                $precio_ref = $precio_nac * $precio_dolar;
                $query = "UPDATE Item SET precio_nac = {$precio_nac}, precio_ref = {$precio_ref} WHERE id_item = {$row['0']}";
                $result2 = mysql_query($query);
            }
            return TRUE;
        }
    }
}
Exemplo n.º 2
0
<?php

include 'main.php';
include 'dbutils.php';
db_connect();
$datos = obtener_precio_dolar();
$var = array("precio_dolar" => $datos[0], "fecha_mod" => $datos[1], "mensaje" => "");
eval_html('precio_dolar.html', $var);
function obtener_precio_dolar()
{
    $query = "SELECT precio_dolar, fecha FROM DolarHoy WHERE id_dolar=(SELECT MAX(id_dolar) FROM DolarHoy)";
    $result = mysql_query($query);
    $row = mysql_fetch_array($result);
    return $row;
}
<?php

include 'main.php';
include 'dbutils.php';
session_start();
$valid_user = $_SESSION['valid_user'];
$formname = $_POST['formname'];
$id_proveedor = $_POST['id_proveedor'];
$mensaje = "";
$focus = "forms[0].pais";
$fecha = date("Y-m-d");
db_connect();
$cotiz_dolar = obtener_precio_dolar();
// Genera una unica orden de compra para el proveedor seleccionado
$proveedor = $id_proveedor;
// Inserto nueva orden para proveedor
$query = "INSERT INTO\n\t\t\tOrden\n\t\t\t\t(fecha,\n\t\t\t\tcotizacion_dolar,\n\t\t\t\tid_status)\n\t\t  \tVALUES\n\t\t\t\t(NULL, {$cotiz_dolar}, 0)";
$result = mysql_query($query);
$result = mysql_query("SELECT LAST_INSERT_ID()");
$last_id = mysql_fetch_array($result);
// logueo orden creada (7)
log_trans($valid_user, 7, 0, 0, $fecha, $last_id[0]);
//Inserto los items de la nueva orden segun el tipo de proveedor en dolares o pesos
if (obtener_tipo_proveedor($proveedor) == "EXTRANJERO") {
    $query = "INSERT INTO\n\tOrdenItem\n\t(id_orden,\n\tid_item,\n\tcantidad,\n\tcantidad_pendiente,\n\tprecio_fob,\n\tmoneda,\n\tid_tipo_envio)\n  SELECT\n\t\"{$last_id['0']}\",\n\tItemComprar.id_item,\n\tItemComprar.cantidad,\n\tItemComprar.cantidad,\n\tItem.precio_fob,\n\t'US\$',\n\tItemComprar.id_tipo_envio\n  FROM\n\tItemComprar,\n\tItem\n  WHERE (\n\t(Item.id_item = ItemComprar.id_item) AND\n\t(Item.id_proveedor = {$proveedor})\n  )";
} else {
    //Proveedor argentino
    //
    $query = "INSERT INTO\n\tOrdenItem\n\t(id_orden,\n\tid_item,\n\tcantidad,\n\tcantidad_pendiente,\n\tprecio_ref,\n\tmoneda,\n\tid_tipo_envio)\n  SELECT\n\t\"{$last_id['0']}\",\n\tItemComprar.id_item,\n\tItemComprar.cantidad,\n\tItemComprar.cantidad,\n\tItem.precio_ref,\n\t'AR\$',\n\tItemComprar.id_tipo_envio\n  FROM\n\tItemComprar,\n\tItem\n  WHERE (\n\t(Item.id_item = ItemComprar.id_item) AND\n\t(Item.id_proveedor = {$proveedor})\n  )";
}
$result = mysql_query($query);
$valor = $_POST['valor'];
//Actualiza porc_impuesto de categorias con items extranjeros
//
$query = "SELECT DISTINCT(categoria.id_categoria) FROM categoria, item, proveedor, pais\n\t\t  WHERE categoria.id_categoria = item.id_categoria and\n\t\t\t\tpais <> 'ARGENTINA' and\n\t\t\t\tpais.id_pais = Proveedor.id_pais and\n\t\t\t\titem.id_proveedor = proveedor.id_proveedor";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
    $id_categoria = $row[0];
    $update = "UPDATE categoria SET porc_impuesto = {$valor} WHERE id_categoria = {$id_categoria}";
    if (mysql_query($update)) {
        $mensaje = "La actualizacion se realizo con exito";
    } else {
        $mensaje = "Problemas!!!";
    }
}
//Cambio valores de precio_nacionalizado segun nuevo porc_impuestos en items extranjeros
$precio_dolar = obtener_precio_dolar();
//Categorias con items extranjeros
$query = "SELECT id_item, precio_fob FROM Item WHERE id_categoria IN (SELECT DISTINCT(categoria.id_categoria) FROM categoria, item, proveedor, pais\n\t\t  \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  WHERE categoria.id_categoria = item.id_categoria and\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  pais <> 'ARGENTINA' and\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  pais.id_pais = Proveedor.id_pais and\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  item.id_proveedor = proveedor.id_proveedor) \n\t\t\t\t\t\t\t\t\t\t\t\t\t AND precio_fob IS NOT NULL";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
    $precio_nac = $row[1] + $row[1] * $valor / 100;
    $precio_ref = $precio_nac * $precio_dolar;
    $query = "UPDATE Item SET precio_nac = {$precio_nac}, precio_ref = {$precio_ref} WHERE id_item = {$row['0']}";
    $result2 = mysql_query($query);
}
//Modifica codigo_barras
//
$update = "UPDATE item SET codigo_barras = SUBSTR(codigo_barras,2,LENGTH(codigo_barras)-2) WHERE codigo_barras LIKE '*%*'";
if (!mysql_query($update)) {
    echo "Error modificando codigo de barras en Item<p>";
}