/**
 * 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);
}
Example #2
0
/**
 *
 */
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] == "") {
Example #6
0
/**
 * 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);
}