/** * Cambiar el estado de la orden a arribada (2) */ function update_orden_arribada($id_orden, $fecha, $valid_user) { $query = "UPDATE Orden SET id_status = 2, fecha = '{$fecha}'\n \t\t\t WHERE (id_orden = {$id_orden})"; $result = mysql_query($query); log_trans($valid_user, 6, 0, 0, $fecha, $id_orden); }
/** * */ function update_orden($id_orden, $id_orden_item, $cantidad, $precio) { $cantidad_anterior = get_cantidad_pendiente_comprar($id_orden_item); $id_item = get_ordenitem_id_item($id_orden_item); $stock_transito_actual = get_stock_transito($id_item); $factor_unidades = get_factor_unidades($id_item); $nuevo_stock = $stock_transito_actual + ($cantidad - $cantidad_anterior) * $factor_unidades; set_stock_transito($id_item, $nuevo_stock); // DEBUG intended -> por ahora logueo siempre //if($nuevo_stock < 0) { log_stock_transito_negativo($_SESSION['valid_user'], $id_item, $id_orden, $stock_transito_actual, $nuevo_stock, $cantidad_anterior, $cantidad, 'manual'); //} if ($cantidad == 0 or $cantidad == "") { $query = "SELECT id_orden, id_item FROM OrdenItem WHERE id_orden_item = {$id_orden_item}"; $result = mysql_query($query); $row = mysql_fetch_array($result); $query = "DELETE FROM OrdenItem WHERE id_orden_item = {$id_orden_item}"; // logueo item borrado de la orden (8) log_trans($_SESSION['valid_user'], 8, $row[1], 0, date("Y-m-d"), $row[0]); } else { if ($precio == "") { $precio = "NULL"; } // update cantidad pendiente del item de la orden y update del precio if (obtener_tipo_proveedor_por_orden_item($id_orden_item) == "EXTRANJERO") { $query = "UPDATE\n\t OrdenItem\n\t \t\tSET "; if ($cantidad_anterior != 0) { $query .= "cantidad = (cantidad + ({$cantidad} - cantidad_pendiente)),"; } $query .= "\n\t\taereo_pendiente = (aereo_pendiente + ({$cantidad} - cantidad_pendiente)),\n\t\tcantidad_pendiente = {$cantidad},\n\t precio_fob = {$precio}\n\t \tWHERE\n\t id_orden_item = {$id_orden_item}"; } else { $query = "UPDATE\n\t OrdenItem\n\t \t\tSET "; if ($cantidad_anterior != 0) { $query .= "cantidad = (cantidad + ({$cantidad} - cantidad_pendiente)),"; } $query .= "\n\t\taereo_pendiente = (aereo_pendiente + ({$cantidad} - cantidad_pendiente)),\n\t\tcantidad_pendiente = {$cantidad},\n\t precio_ref = {$precio}\n\t \tWHERE\n\t id_orden_item = {$id_orden_item}"; } // restar del stock la cantidad ingresada, solo si la cantidad pendiente anterior era 0 (es cancelar arribo) if ($cantidad_anterior == 0) { // logueo transaccion de recupero -> agrego movimiento negativo para representarlo reduccion de stock disp. log_trans($_SESSION['valid_user'], 1, $id_item, $cantidad * -1, date("Y-m-d"), $id_orden); $stock_query = "UPDATE Item SET stock_disponible = stock_disponible - ({$cantidad} * {$factor_unidades}) WHERE id_item = {$id_item}"; var_dump($stock_query); $result = mysql_query($stock_query); } } $result = mysql_query($query); // mantener siempre el status de la orden en 1 (en transito) -> si la orden estaba cerrada la vuelva a poner en transito $query = "UPDATE Orden SET id_status = 1 WHERE id_orden = {$id_orden}"; $result = mysql_query($query); }
$id_orden = $_POST['id_orden']; $formname = $_POST['formname']; $valid_user = $_SESSION['valid_user']; $fecha = date("Y-m-d"); $mensaje = ""; $focus = "forms[0].pais"; db_connect(); // Verifico en status de la orden. Si posee stock_transito (id_status == 1) modificarlo if (get_orden_status($id_orden) == 1) { $query = "SELECT\n id_item,\n cantidad,\n cantidad_pendiente\n FROM\n OrdenItem\n WHERE\n id_orden = {$id_orden}"; $result = mysql_query($query); $items = array(); $cantidades = array(); while ($row = mysql_fetch_array($result)) { array_push($items, array($row[0], $row[2])); } foreach ($items as $item) { $cantidad_factor = get_factor_unidades($item[0]) * $item[1]; $query = "UPDATE Item\n\tSET\n\tItem.stock_transito = Item.stock_transito - {$cantidad_factor}\n\tWHERE (\n (Item.id_item = {$item['0']})\n )"; $result = mysql_query($query); } } // En todos los casos la paso a status 5 $query = "UPDATE\n Orden\n SET\n id_status = 5\n WHERE (\n (id_orden = {$id_orden})\n )"; $result = mysql_query($query); log_trans($valid_user, 5, 0, 0, $fecha, $id_orden); $var = array("id_orden" => $id_orden); eval_html('orden_elimina_fin.html', $var); ?>
if ($cantidad == "") { $mensaje = "<em class=\"error\">Error: Debe ingresar los items marcados con *.</em>"; $focus = "forms[2].cantidad"; } else { if ($stock_disponible - $cantidad < 0) { $mensaje = "<em class=\"error\">Error: No se puede retirar esa cantidad de {$producto}.</em>"; $item = ""; $producto = ""; $stock_disponible = ""; $unidad = ""; $focus = "forms[0].pproducto"; } else { $query = "UPDATE \n\tItem \n SET \n\tItem.stock_disponible = (Item.stock_disponible - {$cantidad}) \n WHERE \n\tItem.id_item = {$item}"; $result = mysql_query($query); //log_trans($valid_user, 2, $item, $cantidad, strftime('%G-%m-%d')); $fechaHoy = date(Y) . "-" . date(n) . "-" . date(d); // nota: el log del egreso se hace con la fecha que ingresa el usuario, por default es el current date log_trans($valid_user, 2, $item, $cantidad, $fecha); $item = ""; // $stock_disponible = ""; $focus = "forms[0].pproducto"; $mensaje = "Acaba de retirar {$cantidad} {$unidad} {$producto}." . "<br>Quedan disponibles " . ($stock_disponible - $cantidad) . " {$unidad}<p>\n"; $stock_disponible = ""; $producto = ""; $unidad = ""; } } } //dump($fecha_select); $var = array("items" => $items, "item" => $item, "mensaje" => $mensaje, "hits_mensaje" => $hits_mensaje, "producto" => $producto, "stock_disponible" => $stock_disponible, "unidad" => $unidad, "fecha" => $fecha_select, "focus" => $focus); eval_html('producto_salida.html', $var);
$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); // 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] == "") {
/** * Actualiza la cantidad (y cant pendiente) y le precio del item de la compra pasado * como parametro */ function update_orden($id_orden_item, $cantidad, $precio) { if ($cantidad == 0 or $cantidad == "") { $query = "SELECT id_orden, id_item FROM OrdenItem WHERE id_orden_item = {$id_orden_item}"; $result = mysql_query($query); $row = mysql_fetch_array($result); $query = "DELETE FROM OrdenItem WHERE id_orden_item = {$id_orden_item}"; // logueo item borrado de la orden (8) log_trans($_SESSION['valid_user'], 8, $row[1], 0, date("Y-m-d"), $row[0]); } else { if ($precio == "") { $precio = "NULL"; } if (obtener_tipo_proveedor_por_orden_item($id_orden_item) == "EXTRANJERO") { $query = "UPDATE\n OrdenItem\n \t SET\n cantidad = {$cantidad},\n cantidad_pendiente = {$cantidad},\n precio_fob = {$precio}\n \tWHERE\n id_orden_item = {$id_orden_item}"; } else { $query = "UPDATE\n OrdenItem\n \t SET\n cantidad = {$cantidad},\n cantidad_pendiente = {$cantidad},\n precio_ref = {$precio}\n \tWHERE\n id_orden_item = {$id_orden_item}"; } } $result = mysql_query($query); }