rictom / rede-cnpj

Visualização gráfica de relacionamentos entre sócios e empresas com dados públicos de CNPJ.
MIT License
175 stars 72 forks source link

Instalação em ambiente linux com os arquivos gerados pelo PROGRAMA RedeCNPJ-Baixar-Converter #22

Closed alonsosimoes closed 1 year ago

alonsosimoes commented 1 year ago

Com o tutorial foi possível rodar perfeitamente no windows, no entanto, ao levar os arquivos gerados (cnpj.db, rede.db, rede_search.db, cnpj_links_ete.db) pelo projeto PROGRAMA RedeCNPJ-Baixar-Converter para um ambiente linux junto com o clone do repo rictom/rede-cnpj consigo realizar busca por CNPJ, mas ao buscar por sócio ou razão social gera erro de não ser possível encontrar a tabela id_search.

Os arquivos foram salvos na pasta bases na raiz do projeto.

É necessário rodar algum script complementar?

Utilizei os seguintes parâmetros de config (rede.ini):

[BASE]

base_rede é a tabela principal com os vínculos entre empresas e socios. Versão 0.9

base_rede = bases/rede.db base_rede_search = bases/rede_search.db

base_receita, sqlite com dados publicos da Receita Federal.

se o arquivo sqlite estiver na mesma pasta, coloque apenas base_receita=cnpj.db

se a base_receita não for definido, é preciso ter o arquivo base_cnpj_vazia.db na pasta do projeto para não ocorrer erro

se a base_receita não for definido, os botões do github e da Receita Federal não vão aparecer na tela.

base_receita = bases/cnpj.db

caminho da base de endereços normalizada

base_endereco_normalizado = bases/cnpj_links_ete.db

caminho da base de ligações adicional (TSE e TCE)

base_links = bases/links.db

base_local é uma base com dados adicional. estrutura do banco_dados_modelo.db. Pode armazenar informações adicionadas manualmente no gráfico, dados dos nós e de ligações

base_local = bases/rede_dados.db

referencia_bd aparece na linha superior da tela

referencia_bd = TESTE - PARA EXIBIR DADOS REAIS, É NECESSÁRIO COPIAR AS BASES

referencia_bd = CNPJ (xx/xx/xxx)

pasta para armazenar arquivos json

pasta_arquivos=arquivos porta_flask=5000

[INICIO]

cpfcnpjinicial cnpj para aparecer no início. Pode ser colocados vários cnpjs separados por ponto e vírgula. Deixe vazio se não quiser que apareça cnpj no inicio.

cpfcnpj =

níveis de ligações para o cpfcnpjinicial

camada = 1

exibir mensagem de advertencia e informações da data de referencia

exibe_mensagem_advertencia = 1

mensagem_advertencia= LEIA ANTES DE PROSSEGUIR.\n\nTodos os dados exibidos são públicos, provenientes da página de dados abertos da Secretaria da Receita Federal ou de portais públicos de transparência.\nO autor não se responsibiliza p>

mensagem_advertencia=A base sqlite de TESTE tem os nomes de sócios e de empresas embaralhados.\nPara inserir um novo elemento aleatório pressione OK sem digitar texto.

abrir menu inserir na abertura da tela

exibe_menu_inserir = 1

[ETC]

para evitar excesso de ligações, se ligacaoSocioFilial=0 não inclue ligações para filiais de empresas

ligacao_socio_filial = 0

se logAtivo=1, registra as consultas nas tabelas log_cpnj e log_cpfnome no arquivo sqlite.

logativo = 0

permite download da pasta arquivos que não sejam json. Por segurança, desativar no servidor.

arquivos_download = 0

parametros para o flask-limiter

limiter_padrao =2/second;20/minute;200/hour;400/day limiter_dados =10/second;600/minute limiter_arquivos =2/minute;30/hour;100/day

permite busca do google

busca_google = 1

baixa arquivos e consulta palavras chaves

busca_chaves = 0

quantidade máxima de itens para geocode

geocode_max = 10

para de acrescentar niveis se ultrapassar o tempo abaixo em segundos

tempo_maximo_consulta=2

para de acrescentar niveis se ultrapassar a quantidade de itens abaixo

limite_registros_camada=1000

[API] api_cnpj=1 api_caminhos=1 api_keys=

.

Log do app:

Carregando rede_sqlite_cnpj Utilizando rede_sqlite_cnpj como rede_relacionamentos. /home/deploy/.local/lib/python3.10/site-packages/flask_limiter/extension.py:293: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: http s://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend. warnings.warn(

Parabéns pelo projeto.

rictom commented 1 year ago

A versão aplicativo da redecnpj tem várias alterações em relação ao que está no github. Não tive tempo para atualizar no github, justamente por não ter certeza das incompatibilidades. Uma delas é essa que vc relatou, não encontrar a tabela id_search. O parâmetro base_rede_search só funciona na versão aplicativo, não é lida na versão atual no github. O aplicativo para baixar gera os arquivos rede.db e rede_search.db. A versão aplicativo usa essa rede_search.db que não existe na versão atual no github. Para solucionar, para rodar a redecnpj na versão no github, vc deve copiar as tabelas que estão em rede_search.db para rede.db (talvez seja possível "arrastar" a tabela id_search de rede_search.db para rede.db no DBBrowser, mas não tenho certeza). Outra alternativa é criar a tabela id_search em rede.db pelo comando sql (vc abre o rede.db no DBBrowser e roda esse código):

DROP TABLE if exists id_search; CREATE virtual TABLE id_search using fts5 (id_descricao);

insert into id_search --select distinct id_descricao select iddescricao from ( select 'PJ' || te.cnpj ||'-' || t.razao_social as id_descricao from cnpj.estabelecimento te left join cnpj.empresas t on t.cnpj_basico=te.cnpj_basico where te.matrizfilial is '1' UNION select 'PJ' || te.cnpj ||'-' || te.nome_fantasia as id_descricao from cnpj.estabelecimento te -- where trim(te.nome_fantasia) <>'' UNION select id1 as iddescricao from ligacao where substr(id1,1,3)<>'PJ' UNION select id2 as iddescricao from ligacao where substr(id2,1,3)<>'PJ' ) as tunion group by id_descricao --talvez group by seja mais rápido que distinct ;

Para o sql funcionar, vc primeiro abre rede.cnpj no DBBrowser, depois vai ter que ANEXAR a tabela cnpj.db e então rodar o sql

alonsosimoes commented 1 year ago

Certo, obrigado!

Alguma previsão para essa release no git?

rictom commented 1 year ago

Atualizei no github, versão 1.0