function update_item(&$mensaje, $id_item, $codigo_proveedor, $codigo_barras, $stock_disponible, $stock_transito, $precio_fob, $precio_nac, $precio_ref, $oculto_fob, $oculto_nac, $unidad, $factor_unidades, $id_proveedor, $agrupacion)
{
    if (item_scan_oblig($id_item) and $codigo_barras == "" or $unidad == 0 or $factor_unidades == "" or $factor_unidades <= 0) {
        // Si falta alguno de los campos requeridos.
        //
        $mensaje = "Error: Debe ingresar los items marcados con *.";
        return FALSE;
    } else {
        // Si estan todos los campos requeridos
        //
        if (obtener_tipo_proveedor($id_item) == "EXTRANJERO") {
            //Calculo los precios nac y ref a partir del precio_fob ingresado si es un item de proveedor extranjero
            //
            $id_categoria = obtener_categoria($id_item);
            $precio_nac = $precio_fob + $precio_fob * porcentaje_impuesto_categoria($id_categoria) / 100;
            $precio_ref = $precio_nac * precio_dolar();
        }
        $codigo_proveedor = addslashes(trim(strtoupper($codigo_proveedor)));
        if ($codigo_barras == "") {
            $codigo_barras = 'NULL';
        } else {
            $codigo_barras = "\"" . addslashes(trim($codigo_barras)) . "\"";
        }
        if ($precio_fob == "") {
            $precio_fob = 'NULL';
        }
        if ($precio_nac == "") {
            $precio_nac = 'NULL';
        }
        if ($precio_ref == "") {
            $precio_ref = 'NULL';
        }
        if ($oculto_fob == "") {
            $oculto_fob = $precio_fob;
        }
        if ($oculto_nac == "") {
            $oculto_nac = $precio_nac;
        }
        $query = "UPDATE Item SET\n\tcodigo_proveedor = \"{$codigo_proveedor}\",\n\tcodigo_barras = {$codigo_barras},\n\tstock_disponible = {$stock_disponible},\n\tstock_transito = {$stock_transito},\n\tprecio_fob = {$precio_fob},\n\tprecio_nac = {$precio_nac},\n\tprecio_ref = {$precio_ref},\n\toculto_fob = {$oculto_fob},\n\toculto_nac = {$oculto_nac},\n\tid_unidad_compra = {$unidad},\n\tfactor_unidades = {$factor_unidades},\n\tid_proveedor = {$id_proveedor},\n\tagrupacion_contable = {$agrupacion}\n  WHERE\n\tItem.id_item = {$id_item}";
        if (!($result = mysql_query($query))) {
            // Si hay un error al insertar los datos en la base.
            //
            $mensaje = "Error: El item no pudo ser actualizado. Motivo posible: El codigo de barras del item ya existia.";
            // . mysql_error();
            return FALSE;
        } else {
            // Si se puede insertar los campos en la base.
            //
            $mensaje = "El item ha sido actualizado.";
            return TRUE;
        }
    }
}
Example #2
0
    $incluir_completos = $_GET['incluir_completos'];
} else {
    $incluir_completos = false;
}
$mensaje = "";
$focus = "forms[0].dia";
$cant_filas = 0;
if (isset($_POST['formname']) && $_POST['formname'] == "orden_update") {
    $id_orden_item = $_POST['id_orden_item'];
    $cantidad = $_POST['cantidad'];
    $precio = $_POST['precio'];
    update_orden($id_orden, $id_orden_item, $cantidad, $precio);
    //  Actualiza el valor del item gral., no solo en la orden
    update_precio_item($id_orden_item, $precio);
}
if (obtener_tipo_proveedor($id_orden) == "EXTRANJERO") {
    $query = "SELECT\n\t\tDATE_FORMAT(Orden.fecha, '%d-%m-%Y') AS fech,\n\t\tProveedor.proveedor,\n\t\tOrdenItem.id_orden_item,\n\t\tCategoria.categoria,\n\t\tOrdenItem.cantidad,\n\t\tCONCAT(Unidad.unidad,'(',Item.factor_unidades,')'),\n\t\tOrdenItem.precio_fob,\n\t\t(OrdenItem.cantidad_pendiente * OrdenItem.precio_fob),\n\t\tItem.codigo_proveedor,\n\t\tOrdenItem.cantidad_pendiente,\n\t\tOrdenItem.id_item,\n\t\tTipoEnvio.tipo_envio\n\t  FROM\n\t      Orden, Categoria, Proveedor, OrdenItem, Item, Unidad, TipoEnvio\n\t  WHERE (\n\t\t(Orden.id_orden = {$id_orden}) AND\n\t\t(OrdenItem.id_orden = Orden.id_orden) AND\n\t\t(Item.id_item = OrdenItem.id_item) AND\n\t\t(Categoria.id_categoria = Item.id_categoria) AND\n\t\t(Proveedor.id_proveedor = Item.id_proveedor) AND\n\t\t(Unidad.id_unidad = Item.id_unidad_compra) AND\n\t\t(OrdenItem.id_tipo_envio = TipoEnvio.id_tipo_envio) ";
    if (!$incluir_completos) {
        // no incluir esta condicion si quiero ver la orden con los items ya arribados completamente
        $query .= " AND (OrdenItem.cantidad_pendiente > 0) ";
    }
    $query .= ")\n\t\t\t  ORDER BY\n\t\t\t\tCategoria.categoria, TipoEnvio.id_tipo_envio";
    $orden = "";
    $result = mysql_query($query);
    while ($row = mysql_fetch_array($result)) {
        $header = "{$row['1']} {$row['0']} / {$id_orden}";
        $orden = $orden . "<tr class=\"provlistrow\" id='item{$cant_filas}' name='item{$cant_filas}' value='{$row['2']}'>\n\n\t\t<td class=\"centrado\"><a class=\"list\" onclick=\"update_orden({$row['2']});\">{$row['3']}</a></td>\n\t\t<td class=\"centrado\">{$row['8']}</td>\n\t\t<td class=\"centrado\">{$row['4']}</td>\n\t\t<td class=\"centrado\">{$row['9']} <input type='hidden' id='cant_pend{$cant_filas}' value='{$row['9']}' /></td>\n\t\t<td class=\"centrado\">\n\t\t\t\t<div style='width=70px;'><input onblur='validar_valor_ingresado({$cant_filas});' size='5' type='text' id='cant_arribada{$cant_filas}' name='cant_arribada{$cant_filas}' value='{$row['9']}'/></div>\n\t\t\t\t<input type='hidden' value='{$row['2']}'  name='orden_item{$cant_filas}' id='orden_item{$cant_filas}'>\n\t\t\t\t<input type='hidden' value='{$row['10']}' name='item{$cant_filas}' id='item{$cant_filas}'>\n\t\t</td>\n\t\t<td class=\"centrado\">{$row['11']}</td>\n\t\t<td class=\"centrado\">{$row['5']}</td>\n\t\t<td class=\"centrado\">{$row['6']}</td>\n\t\t<td class=\"centrado\">{$row['7']}</td>\n\t\t<td class=\"centrado\">US\$</td>\n\t   </tr>\n";
        $cant_filas = $cant_filas + 1;
    }
    $query = "SELECT\n\t        sum((OrdenItem.cantidad_pendiente * OrdenItem.precio_fob))\n\t  FROM\n\t      OrdenItem\n\t  WHERE (\n\t        (OrdenItem.id_orden = {$id_orden})\n\t  )";
    $result = mysql_query($query);
$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);
// Genero archivo para download de datos de compra
$query_1 = "SELECT\n\tItemComprar.id_item,\n\tProveedor.proveedor,\n\tItem.codigo_proveedor,\n\tItemComprar.cantidad,\n\tUnidad.unidad,\n\tDATE_FORMAT(NOW(), \"%d-%m-%Y\"),\n\tCategoria.categoria\n  FROM\n\tItemComprar,\n\tProveedor,\n\tItem,\n\tCategoria,\n\tUnidad\n  WHERE (\n\t(Item.id_item = ItemComprar.id_item) AND\n\t(Proveedor.id_proveedor = Item.id_proveedor) AND\n\t(Item.id_proveedor = {$proveedor}) AND\n\t(Item.id_categoria = Categoria.id_categoria) AND\n\t(Unidad.id_unidad = Item.id_unidad_compra)\n  )";
$result_1 = mysql_query($query_1);
$row_1 = mysql_fetch_array($result_1);
$pedido = $pedido . "\n\n\nPedido para {$row_1['1']} {$row_1['5']} Orden No {$last_id['0']}\n\n";
if ($row_1[2] == "") {
    $row_1[2] = obtener_descripcion_categoria($row_1[0]);
}
function insert_producto(&$mensaje, $categoria, $proveedor, $scan, $codigo_proveedor, $codigo_barras, $precio, $precio_nac, $precio_ref, $autoassign, $unidad, $factor_unidades)
{
    if ($categoria == "" or $proveedor == 0 or $unidad == 0 or $factor_unidades == "" or $scan and $codigo_barras == "" and !$autoassign or $precio == "") {
        // Si falta alguno de los campos requeridos. Esto es:
        // Si (producto == "" O proveedor == 0 O stock_minimo == "") O (scan == "si" Y codigo_barras == "") O precio_fob=""
        //
        $mensaje = "<em class=\"error\">Error: Debe ingresar los items marcados con *.</em>";
        return FALSE;
    } else {
        // Si estan todos los campos requeridos
        //
        if ($codigo_barras == "") {
            $codigo_barras = "NULL";
        } else {
            $codigo_barras = addslashes(trim($codigo_barras));
            $codigo_barras = "\"{$codigo_barras}\"";
        }
        $producto = addslashes(trim($producto));
        $codigo_proveedor = addslashes(trim($codigo_proveedor));
        $agrup_contable = get_agrupacion_contable($categoria);
        if (obtener_tipo_proveedor($proveedor) == "EXTRANJERO") {
            //Calculo los precios nac y ref a partir del precio_fob ingresado
            $precio_nac = $precio + $precio * porcentaje_impuesto_categoria($categoria) / 100;
            $precio_ref = $precio_nac * precio_dolar();
            if ($precio == "") {
                $precio = 'NULL';
            }
            if ($precio_nac == "") {
                $precio_nac = 'NULL';
            }
            if ($precio_ref == "") {
                $precio_ref = 'NULL';
            }
            $query = "INSERT INTO Item\n            \t(id_categoria, id_proveedor, codigo_proveedor, codigo_barras, precio_fob, precio_nac, precio_ref, oculto_fob, oculto_nac, id_unidad_compra, factor_unidades, agrupacion_contable)\n            \tVALUES\n            \t({$categoria}, {$proveedor},\"{$codigo_proveedor}\", {$codigo_barras}, {$precio}, {$precio_nac}, {$precio_ref}, {$precio}, {$precio_nac}, {$unidad}, {$factor_unidades}, {$agrup_contable})";
        } else {
            if ($precio == "") {
                $precio = 'NULL';
            }
            $precio_nac = 'NULL';
            $precio_fob = 'NULL';
            $query = "INSERT INTO Item\n            \t(id_categoria, id_proveedor, codigo_proveedor, codigo_barras, precio_fob, precio_nac, precio_ref, oculto_fob, oculto_nac, id_unidad_compra, factor_unidades, agrupacion_contable)\n            \tVALUES\n            \t({$categoria}, {$proveedor},\"{$codigo_proveedor}\", {$codigo_barras}, {$precio_fob}, {$precio_nac}, {$precio}, {$precio_fob}, {$precio_nac}, {$unidad}, {$factor_unidades}, {$agrup_contable})";
        }
        if (!($result = mysql_query($query))) {
            // Si hay un error al insertar los datos en la base.
            //
            $mensaje = "<em class=\"error\">Error: El item " . htmlspecialchars(stripslashes($producto)) . " no pudo ser dado de alta. Motivo posible: El item ya existia.</em>" . mysql_error();
            return FALSE;
        } else {
            if ($autoassign) {
                $result = mysql_query("SELECT LAST_INSERT_ID()");
                $row = mysql_fetch_array($result);
                $query = "UPDATE Item\n\t\t\t\tSET codigo_barras = \"NSSA{$row['0']}\"\n\t\t\t\tWHERE id_item = {$row['0']}";
                $result = mysql_query($query);
            }
            // Si se puede insertar los campos en la base.
            //
            $mensaje = "El item " . $_SESSION["catname"] . " - " . $_SESSION["provname"] . " ha sido dado de alta.";
            return TRUE;
        }
    }
}