;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Petrópolis: RJ direciona R$ 188 mi sem licitação a empresas 'voluntárias'

Placa de obra do governo do Rio na rua Teresa, uma das mais atingidas pelo temporal de fevereiro em Petrópolis - Divulgação/Secretaria estadual de Infraestrutura e Obras do Rio
Placa de obra do governo do Rio na rua Teresa, uma das mais atingidas pelo temporal de fevereiro em Petrópolis Imagem: Divulgação/Secretaria estadual de Infraestrutura e Obras do Rio

Ruben Berta

Do UOL, no Rio

02/05/2022 04h00

Pouco mais de dois meses após o temporal que deixou mais de 230 mortos em Petrópolis, o governo do Rio de Janeiro está direcionando R$ 188 milhões a cinco empresas sem fazer consulta a possíveis concorrentes. Os contratos envolvem obras no município da região serrana.

A escolha das firmas —sem pesquisa de mercado— se deu após elas se apresentarem de "maneira voluntária" durante a tragédia, segundo informou a Seinfra (Secretaria Estadual de Infraestrutura e Obras) à reportagem do UOL.

Mesmo em casos como esses, de dispensas de licitação por motivos emergenciais, é praxe a realização de levantamento de preços com ao menos três propostas.

Para as cinco contratações, que ainda não foram concluídas, foi dada a mesma justificativa: o fato de as empresas convocadas já estarem atuando em Petrópolis desde os primeiros dias após o temporal de fevereiro.

Os processos istrativos não trazem nenhuma informação a respeito de como essas firmas foram chamadas, dizendo apenas que "apresentaram-se de pronto". Faltam aos cinco processos de contratação descrições detalhadas do que as empresas já fizeram e as formas que elas foram ou serão remuneradas.

Procurada, a Seinfra disse que ficou acertado que o pagamento dos serviços iniciais seria feito posteriormente, por meio de termos de reconhecimentos de dívidas, segundo orientação da PGE (Procuradoria Geral do Estado).

Segundo a secretaria, os valores "terão um preço abaixo do que é praticado pela tabela Emop [da Empresa de Obras Públicas do governo, que traz valores de mercado de itens usados em obra]". A pasta diz também ter exigido desconto médio de 12% sobre os valores de suas contratações.

O UOL entrou em contato com as cinco empresas por telefone ou por e-mail, mas não houve retorno. Caso haja respostas, elas serão serão incluídas na reportagem.

Sem capacidade técnica

Em ao menos um dos casos, a estratégia da Seinfra não vingou. Para um serviço orçado em R$ 37,4 milhões, de obras de contenção e drenagem nas ruas Conde D'eu e Olavo Bilac, no bairro Castelânea, a pasta desistiu da contratação direta da Gravisa Engenharia e Empreendimentos.

Em documento de 19 de abril, a Superintendência de Licitações e Contratos informa que a empresa, "responsável pela prestação de serviços preliminares de limpeza e mitigação de riscos na localidade", não enviou a comprovação de capacidade técnica para as obras.

O órgão sugere então uma consulta de preços com outras possíveis interessadas. Apesar de falar em "urgência", não há nenhuma movimentação no processo istrativo, iniciado em 16 de março. A Seinfra diz, contudo, que a consulta para a contratação de uma nova empresa já foi aberta.

Procuradores veem problemas

Uma das contratações mais avançadas é a que se refere à recuperação da canalização e das pistas da avenida Washington Luiz, no centro de Petrópolis, orçada em R$ 48,4 milhões. A escolhida é a empresa Erwil Construções, que possui os mesmos sócios da Gravisa.

Esse é o único entre os cinco processos de obras na cidade que já possui um parecer de procuradores do Estado responsáveis pela assessoria jurídica da Seinfra. O documento, de 25 de abril, aponta uma série de falhas e faz 23 recomendações.

Os procuradores consideram "como condição indispensável" para o prosseguimento da contratação "a descrição detalhada dos serviços já executados" pela Erwil.

Outra exigência é que haja um atestado da área técnica comprovando que não existe "sobreposição dos serviços já executados com os que constam da planilha orçamentária da contratação emergencial".

Os procuradores temem que o governo acabe pagando duas vezes por um mesmo trabalho.

"Vê-se que a área técnica se limita a dizer que, até o momento, só foram prestados os serviços de limpeza de escombros, de liberação das vias principais e de mobilização de pessoal e equipamentos. Ou seja, uma descrição genérica e sem grandes detalhamentos, que impossibilita uma aferição mais precisa acerca de eventual sobreposição com os serviços que constam da planilha orçamentária da contratação emergencial", criticam os procuradores.

Os únicos documentos que tratam da descrição dos trabalhos já feitos são dois relatórios, de uma página cada, com algumas fotos. Apesar disso, a Seinfra nega que haja possibilidade de duplicidade de pagamento.

Outras três contratações para Petrópolis estão sendo feitas nos mesmos moldes. Na maior delas, de R$ 80,5 milhões, está sendo convocada a empresa Geologus Engenharia. O serviço é de "demolição de rochas soltas e fixação do maciço rochoso e estabilização de taludes no complexo Rua Tereza/Rua Nova/Rua 24 de Maio".

A Barra Nova Engenharia foi chamada para obras de contenção e drenagem na avenida Portugal, no bairro Valparaíso. O custo estimado é de R$ 10 milhões. Já a Enge Prat Engenharia e Serviços foi convocada para serviços de contenção e drenagem na rua Pedro Ivo, no bairro Morin, por R$ 11,9 milhões.

Além dessas cinco obras, um sexto processo foi aberto pela Seinfra em fevereiro para a recuperação do túnel extravasor do rio Palatinato, que foi construído entre as décadas de 1950 e 1970 e serve para extravasar o excesso de água. Desde 5 de abril, porém, não há qualquer andamento nessa contratação tampouco indicação de orçamento e escolha de empresa.

Segundo a pasta, "trata-se de uma obra de altíssima complexidade". "E há um trabalho minucioso para definir o que é emergencial e as ações do projeto global de obras, cujo projeto já está sendo desenvolvido pelo Inea (Instituto Estadual do Ambiente)".