;(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

exclusivo

Em ano eleitoral, RJ tem folha de pagamento secreta de 18 mil cargos

Cláudio Castro em inauguração de unidade do projeto Casa do Trabalhador, na zona norte do Rio - Divulgação/Governo do Estado do Rio
Cláudio Castro em inauguração de unidade do projeto Casa do Trabalhador, na zona norte do Rio Imagem: Divulgação/Governo do Estado do Rio

Ruben Berta

Do UOL, no Rio

30/06/2022 04h00

O governo do Rio de Janeiro está usando um órgão público de pesquisa e estatística para contratar, sem transparência, mais de 18 mil pessoas. O UOL apurou que parte desses postos serve para abrigar apadrinhados de aliados políticos do atual governador e pré-candidato, Cláudio Castro (PL).

Os nomes desses funcionários da Fundação Ceperj (Centro Estadual de Estatísticas, Pesquisas e Formação de Servidores Públicos) não são publicados em Diário Oficial e tampouco aparecem em documentos disponíveis para consulta. Fontes relataram que pagamentos de salários ocorrem na boca do caixa do banco Bradesco —que paga servidores do RJ— sem sequer um contracheque.

A estimativa da quantidade de cargos (18.188) foi feita pelo UOL com base em tabelas que constam no sistema eletrônico de processos istrativos do governo fluminense relativas a oito projetos tocados pela fundação desde agosto do ano ado.

Essas iniciativas, que abrangem áreas como esporte e qualificação profissional, devem consumir ao menos R$ 625 milhões até o fim do ano —o valor envolve salários e outros custos dos projetos. O governo do Rio se recusou a informar o valor dessas folhas de pagamento.

Procurada, a Ceperj não contestou a criação das mais de 18 mil vagas e negou o uso político dos cargos. Segundo a fundação, "os profissionais são selecionados através de análise curricular por especialidade/especificidade, processo seletivo, chamada pública e através do banco de talentos".

Sobre a falta de transparência, a Ceperj afirmou que, "no caso de contratados, sem vínculo empregatício, e por não se tratar de CLT [funcionários com carteira de trabalho assinada], não há previsão de publicação referente aos nomes dos profissionais selecionados".

RJ oculta lista de contratados e salários

O UOL mapeou ao todo 13 projetos da Ceperj em parceria com órgãos do governo do Rio —em apenas oito deles contratações foram informadas nos processos istrativos.

Em março, a reportagem pediu ao governo fluminense, com base na LAI (Lei de o à Informação), que fossem informados todos os nomes e salários de contratados de nove projetos da Ceperj. O pedido foi negado em todas as instâncias do governo (leia mais a seguir).

Os contratados para os projetos da Ceperj tampouco aparecem em site do governo que atualmente informa os nomes e salários de todos os funcionários concursados e com cargos comissionados nos últimos 12 meses.

Em processos istrativos públicos, há documentos que indicam que a fundação possui os dados compilados sobre os funcionários, mas que circulam apenas internamente.

Em um ofício de janeiro em que solicita a liberação de verbas para um projeto, uma coordenadora da Ceperj diz que "os dados para processamento de pagamento serão enviados por e-mail para a Coordenadoria de Recursos Humanos". A mensagem eletrônica não está disponível publicamente.

Documentos também mostram dificuldade de contratados em comprovar o trabalho. Uma funcionária do projeto Esporte Presente RJ pediu neste mês seus contracheques à ouvidoria da Ceperj. A resposta foi que o comprovante de pagamento disponível "é o canhoto entregue pelo banco no momento do saque" (veja abaixo).

Documento da Fundação Ceperj cita canhoto bancário como comprovante de pagamento de funcionários - Reprodução - Reprodução
Documento da Fundação Ceperj cita canhoto bancário como comprovante de pagamento de funcionários
Imagem: Reprodução

O documento confirma relatos de fontes ao UOL de que os salários são recebidos na boca do caixa, no Bradesco, o que inclusive tem sobrecarregado agências nas datas de pagamento da fundação.

Por meio de nota, a Ceperj disse que, no fim de seus contratos, os funcionários recebem um "comprovante de rendimento".

Ex-governador relata oferta de cargos por Castro

Os dois projetos da Ceperj com o maior número de cargos, de acordo com tabelas de planejamento localizadas pelo UOL, são o Casa do Trabalhador e o Esporte Presente RJ, com 9.000 e 6.000 funcionários respectivamente.

O primeiro é formado por núcleos espalhados pelo estado para oferecer serviços de apoio à inserção no mercado de trabalho. O outro oferece aulas de esporte gratuitas, de diversas modalidades. Conforme mostrou reportagem do UOL, o Esporte Presente RJ tem indícios de superfaturamento de mais de R$ 39 milhões na comparação com outro projeto semelhante do próprio governo.

O ex-governador do Rio Anthony Garotinho (União Brasil) relatou que Cláudio Castro ofereceu a ele cargos desses dois projetos em troca de apoio político.

Garotinho afirmou que, em reunião recente no Palácio Guanabara, Castro ofereceu a ele um total de 520 postos —sendo 280 da Casa do Trabalhador e 120 do Esporte Presente RJ.

O acordo não aconteceu e Garotinho, que pretendia inicialmente ser candidato a deputado federal, agora tenta concorrer ao governo do RJ, o que ainda depende do aval da Justiça.

Em nota, a Ceperj afirmou que desconhece qualquer oferta de cargos ao ex-governador.

Fornecer dados prejudicaria famílias, diz Ceperj

Ao negar pedido de o a informações, via LAI, feitos pelo UOL, Thiago Larangeira, responsável pela área que cuida das contratações da Ceperj, alegou que o fornecimento dos dados não seria possível "sem comprometer o andamento das atividades rotineiras do setor". A mesma linha foi reforçada pelo presidente da Ceperj.

Gabriel Lopes considerou o pedido inviável, afirmando que poderia informar "um ou outro nome, de um ou outro projeto", mas não a lista completa porque o fornecimento levaria à "paralisação de toda a fundação por cerca de muito e muito tempo". "Quantas pessoas, famílias, sofreriam com tal decisão [de envio das informações pedidas] de fato é incalculável", completou.

A palavra final veio em 19 de maio, quando a CGE (Controladoria-Geral do Estado) negou o pedido. O órgão usou outra justificativa —a de que não havia um período especificado na solicitação, que tratava de todos os contratados dos projetos com salários pagos até então.