okfn-brasil / observatorio-materiais

Organização de materiais referentes ao Observatório de Tecnologias na Educação
MIT License
1 stars 0 forks source link

Corrigir formatação dos campos na base de CNPJ #14

Closed ogecece closed 2 years ago

ogecece commented 2 years ago

Descrição

Alguns campos das tabelas resposta_cnpj e resposta_socios estão com formatação que precisa de correção.

resposta_cnpj

Todas as colunas do tipo varchar deveriam ter limpeza de caracteres em branco no início e fim da string.

Campo Motivo Possível correção
estabelecimento_cnpj_basico Valores estão com zeros à esquerda removidos 1 -> 00000000
estabelecimento_cnpj_ordem Valores estão com zeros à esquerda removidos 1 -> 0001
estabelecimento_cnpj_dv Valores estão com zeros à esquerda removidos 1 -> 01
estabelecimento_cnpj_matriz_filial Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - MATRIZ
estabelecimento_nome_fantasia Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_situacao_cadastral Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - ATIVA
estabelecimento_data_situacao_cadastral Data não tem divisão entre ano, mes e dia 20130101 -> 01/01/2013
estabelecimento_motivo_situacao_cadastral Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - SEM MOTIVO
estabelecimento_nome_cidade_exterior Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_data_inicio_atividade Data não tem divisão entre ano, mes e dia 20130101 -> 01/01/2013
estabelecimento_cnae_fiscal_secundario Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 9493600,9499500 -> 9493600 - CNAE XPTO; 9499500 - CNAE EXEMPLO
estabelecimento_cnae_fiscal_secundario Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_tipo_logradouro Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_logradouro Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_numero Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_complemento Alguns valores vazios estão como string vazia ou None e deveriam ser null ` ouNone->null`
estabelecimento_cep Valores deveriam vir em formato apenas numérico 00000000.0 -> 000000000
estabelecimento_cep Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_uf Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_ddd_telefone_1 Valores deveriam vir em formato apenas numérico 000000000.0 -> 000000000
estabelecimento_ddd_telefone_1 Alguns valores vazios estão como string vazia, 0 ou 00.0 e deveriam ser null `,0ou00.0->null`
estabelecimento_ddd_telefone_2 Valores deveriam vir em formato apenas numérico 000000000.0 -> 000000000
estabelecimento_ddd_telefone_2 Alguns valores vazios estão como string vazia e deveriam ser null `,0ou00.0->null`
estabelecimento_ddd_telefone_fax Valores deveriam vir em formato apenas numérico 000000000.0 -> 000000000
estabelecimento_ddd_telefone_fax Alguns valores vazios estão como string vazia e deveriam ser null `,0ou00.0->null`
estabelecimento_correio_eletronico Alguns valores vazios estão como string vazia ou None e deveriam ser null ` ouNone->null`
estabelecimento_situacao_especial Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_data_situacao_especial Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
estabelecimento_data_situacao_especial Data não tem divisão entre ano, mes e dia 20130101.0 -> 01/01/2013
pais Valores estão com aspas simples em volta '105 - BRASIL' -> 105 - BRASIL
pais Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
municipio Valores estão com aspas simples em volta '4099 - BALDIM' -> 4099 - BALDIM
municipio Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
empresa_razao_social Deveria apenas remover caracteres em branco no começo e fim da string, se tiver string vazia assumir valor null ` ->null`
empresa_codigo_natureza_juridica Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - SOCIEDADE DE ECONOMIA MISTA
empresa_qualificacao_do_responsavel Tipo da coluna está como int int -> varchar
empresa_qualificacao_do_responsavel Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - SÓCIO-ADMINISTRADOR
empresa_porte Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - MICRO EMPRESA
empresa_ente_federativo_responsavel Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
simples_opcao_pelo_simples Alguns valores vazios estão como string vazia ou None e deveriam ser null ` ouNone->null`
simples_data_opcao_pelo_simples Data não tem divisão entre ano, mes e dia 20130101 -> 01/01/2013
simples_data_exclusao_pelo_simples Data não tem divisão entre ano, mes e dia 20130101 -> 01/01/2013
simples_opcao_pelo_mei Alguns valores vazios estão como string vazia ou None e deveriam ser null ` ouNone->null`
simples_data_opcao_pelo_mei Data não tem divisão entre ano, mes e dia 20130101 -> 01/01/2013
simples_data_exclusao_pelo_mei Data não tem divisão entre ano, mes e dia 20130101 -> 01/01/2013
cnae Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`

resposta_socios

Todas as colunas do tipo varchar deveriam ter limpeza de caracteres em branco no início e fim da string.

Campo Motivo Possível correção
cnpj_basico Valores estão com zeros à esquerda removidos 1 -> 00000000
identificador_socio Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - PESSOA JURÍDICA
data_entrada_sociedade Data não tem divisão entre ano, mes e dia 20130101 -> 01/01/2013
nome_representante_legal Alguns valores vazios estão como string vazia e deveriam ser null ` ->null`
codigo_qualificacao_representante_legal Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - PROCURADOR
faixa_etaria Valores estão em formato numérico, seria melhor retornar como combinação de numérico e por extenso 1 -> 1 - 51 a 60 anos

Objetivo

Formatar valores da base de CNPJs de forma que fique fácil compreender os dados evitando a necessidade de realização de tratamentos nos dados obtidos e sem precisar consultar tabelas auxiliares.

Definição de "pronto"

ogecece commented 2 years ago

Pedro, as colunas de data ficariam melhor como tipo data ou melhor manter varchar?

E também pensando sobre o empresa_capital_social, será que não seria melhor um tipo numérico?

E sobre os simples_data_opcao_pelo_simples e simples_data_opcao_pelo_mei como booleanos?

tigreped commented 2 years ago

Processamento de acordo com a especificação, falta apenas uma revisão por terceiros. Carga plena realizada com sucesso.

Sobre os campos de datas, não tenho certeza. A não ser que tenhamos um uso específico em análise, além de simplesmente retornar o valor, acho que faz mais sentido manter como varchar. Eventualmente, pode ter ambos, varchar e date, ou optarmos por apenas um.

Sobre o campo empresa_capital_social, não tenho preferência, também. Manteria como está, se não tiver nenhum argumento em outra direção.

Sobre os campos de MEI, você mencionou os de data, mas acho que estava se referindo aos campos opcao_pelo_simples e opcao_pelo_mei. Para manter o padrão dos outros campos, em que damos preferência ao tipo varchar, podemos deixar como está por hora.