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; } } }
$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; } } }