From ca07263e799adafd3b7785e056440cf2bb475160 Mon Sep 17 00:00:00 2001 From: tricktx Date: Mon, 25 Nov 2024 11:47:31 -0300 Subject: [PATCH] add dbt to licitacao_contrato --- dbt_project.yml | 3 + ...gu_licitacao_contrato__contrato_compra.sql | 40 ++ ..._cgu_licitacao_contrato__contrato_item.sql | 21 ++ ...tacao_contrato__contrato_termo_aditivo.sql | 21 ++ .../br_cgu_licitacao_contrato__licitacao.sql | 31 ++ ..._licitacao_contrato__licitacao_empenho.sql | 21 ++ ...cgu_licitacao_contrato__licitacao_item.sql | 25 ++ ...tacao_contrato__licitacao_participante.sql | 28 ++ models/br_cgu_licitacao_contrato/schema.yml | 350 ++++++++++++++++++ 9 files changed, 540 insertions(+) create mode 100644 models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_compra.sql create mode 100644 models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_item.sql create mode 100644 models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_termo_aditivo.sql create mode 100644 models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao.sql create mode 100644 models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_empenho.sql create mode 100644 models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_item.sql create mode 100644 models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_participante.sql create mode 100644 models/br_cgu_licitacao_contrato/schema.yml diff --git a/dbt_project.yml b/dbt_project.yml index 6566091e..bd242b2c 100644 --- a/dbt_project.yml +++ b/dbt_project.yml @@ -111,6 +111,9 @@ models: br_cgu_emenda_parlamentar: +materialized: table +schema: br_cgu_emendas_parlamentares + br_cgu_licitacao_contrato: + +materialized: table + +schema: br_cgu_licitacao_contrato br_cgu_pessoal_executivo_federal: +materialized: table +schema: br_cgu_pessoal_executivo_federal diff --git a/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_compra.sql b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_compra.sql new file mode 100644 index 00000000..a199d769 --- /dev/null +++ b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_compra.sql @@ -0,0 +1,40 @@ +{{ + config( + alias="contrato_compra", + schema="br_cgu_licitacao_contrato", + materialized="table", + ) +}} +select + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + safe_cast(numero_do_contrato as string) id_contrato, + safe_cast(objeto as string) objeto, + safe_cast(fundamento_legal as string) fundamento_legal, + safe_cast(modalidade_compra as string) modalidade, + safe_cast(situacao_contrato as string) situacao_contrato, + safe_cast(codigo_orgao_superior as string) id_orgao_superior, + safe_cast(nome_orgao_superior as string) nome_orgao_superior, + safe_cast(codigo_orgao as string) id_orgao, + safe_cast(nome_orgao as string) nome_orgao, + safe_cast(codigo_ug as string) id_unidade_gestora, + safe_cast(nome_ug as string) nome_unidade_gestora, + safe_cast( + parse_date('%d/%m/%Y', data_assinatura_contrato) as date + ) data_assinatura_contrato, + safe_cast(parse_date('%d/%m/%Y', data_publicacao_dou) as date) data_publicacao_dou, + safe_cast( + parse_date('%d/%m/%Y', data_inicio_vigencia) as date + ) data_inicio_vigencia, + safe_cast(parse_date('%d/%m/%Y', data_fim_vigencia) as date) data_fim_vigencia, + safe_cast(codigo_contratado as string) cpf_cnpj_contratado, + safe_cast(nome_contratado as string) nome_contratado, + safe_cast(numero_licitacao as string) id_licitacao, + safe_cast(codigo_ug_licitacao as string) id_unidade_gestora_licitacao, + safe_cast(nome_ug_licitacao as string) nome_unidade_gestora_licitacao, + safe_cast(codigo_modalidade_compra_licitacao as string) id_modalidade_licitacao, + safe_cast(modalidade_compra_licitacao as string) modalidade_licitacao, + safe_cast(replace(valor_inicial_compra, ",", ".") as float64) valor_inicial_compra, + safe_cast(replace(valor_final_compra, ",", ".") as float64) valor_final_compra, + +from `basedosdados-dev.br_cgu_licitacao_contrato_staging.contrato_compra` as t diff --git a/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_item.sql b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_item.sql new file mode 100644 index 00000000..9047ecb8 --- /dev/null +++ b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_item.sql @@ -0,0 +1,21 @@ +{{ + config( + alias="contrato_item", + schema="br_cgu_licitacao_contrato", + materialized="table", + ) +}} +select + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + safe_cast(numero_contrato as string) id_contrato, + safe_cast(codigo_orgao as string) id_orgao, + safe_cast(nome_orgao as string) nome_orgao, + safe_cast(codigo_ug as string) id_ug, + safe_cast(nome_ug as string) nome_ug, + safe_cast(codigo_item_compra as string) id_item, + safe_cast(descricao_item_compra as string) descricao_item, + safe_cast(descricao_complementar_item_compra as string) descricao_complementar_item, + safe_cast(quantidade_item as int64) quantidade_item, + safe_cast(replace(valor_item, ",", ".") as float64) valor_item, +from `basedosdados-dev.br_cgu_licitacao_contrato_staging.contrato_item` as t diff --git a/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_termo_aditivo.sql b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_termo_aditivo.sql new file mode 100644 index 00000000..18239979 --- /dev/null +++ b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__contrato_termo_aditivo.sql @@ -0,0 +1,21 @@ +{{ + config( + alias="contrato_termo_aditivo", + schema="br_cgu_licitacao_contrato", + materialized="table", + ) +}} +select + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + safe_cast(numero_contrato as string) id_contrato, + safe_cast(codigo_orgao_superior as string) id_orgao_superior, + safe_cast(nome_orgao_superior as string) nome_orgao_superior, + safe_cast(codigo_orgao as string) id_orgao, + safe_cast(nome_orgao as string) nome_orgao, + safe_cast(codigo_ug as string) id_ug, + safe_cast(nome_ug as string) nome_ug, + safe_cast(numero_termo_aditivo as string) id_termo_aditivo, + safe_cast(parse_date('%d/%m/%Y', data_publicacao) as date) data_publicacao_dou, + safe_cast(objeto as string) objeto, +from `basedosdados-dev.br_cgu_licitacao_contrato_staging.contrato_termo_aditivo` as t diff --git a/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao.sql b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao.sql new file mode 100644 index 00000000..4d3363f9 --- /dev/null +++ b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao.sql @@ -0,0 +1,31 @@ +{{ + config( + alias="licitacao", schema="br_cgu_licitacao_contrato", materialized="table" + ) +}} +select + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + case when uf = "-3" then null else uf end as sigla_uf, + dir_municipio.id_municipio, + safe_cast(numero_licitacao as string) id_licitacao, + safe_cast(codigo_ug as string) id_unidade_gestora, + safe_cast(nome_ug as string) nome_unidade_gestora, + safe_cast(codigo_modalidade_compra as string) id_modalidade_compra, + safe_cast(modalidade_compra as string) modalidade_compra, + safe_cast(numero_processo as string) numero_processo, + safe_cast(objeto as string) objeto, + safe_cast(situacao_licitacao as string) situacao_licitacao, + safe_cast(codigo_orgao_superior as string) id_orgao_superior, + safe_cast(nome_orgao_superior as string) nome_orgao_superior, + safe_cast(codigo_orgao as string) id_orgao, + safe_cast(nome_orgao as string) nome_orgao, + safe_cast( + parse_date('%d/%m/%Y', data_resultado_compra) as date + ) data_resultado_compra, + safe_cast(parse_date('%d/%m/%Y', data_abertura) as date) data_abertura, + safe_cast(replace(valor_licitacao, ",", ".") as float64) valor_licitacao, +from `basedosdados-dev.br_cgu_licitacao_contrato_staging.licitacao` as licitacao +left join + `basedosdados-dev.br_bd_diretorios_brasil.municipio` as dir_municipio + on upper(dir_municipio.nome) = licitacao.municipio diff --git a/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_empenho.sql b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_empenho.sql new file mode 100644 index 00000000..d6846aea --- /dev/null +++ b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_empenho.sql @@ -0,0 +1,21 @@ +{{ + config( + alias="licitacao_empenho", + schema="br_cgu_licitacao_contrato", + materialized="table", + ) +}} +select + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + safe_cast(numero_processo as string) id_processo, + safe_cast(numero_licitacao as string) id_licitacao, + safe_cast(codigo_ug as string) id_unidade_gestora, + safe_cast(nome_ug as string) nome_unidade_gestora, + safe_cast(codigo_modalidade_compra as string) id_modalidade, + safe_cast(modalidade_compra as string) modalidade, + safe_cast(observacao_empenho as string) observacao, + safe_cast(codigo_empenho as string) id_empenho, + safe_cast(parse_date('%d/%m/%Y', data_emissao_empenho) as date) data_emissao, + safe_cast(replace(valor_empenho, ",", ".") as float64) valor, +from `basedosdados-dev.br_cgu_licitacao_contrato_staging.licitacao_empenho` as t diff --git a/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_item.sql b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_item.sql new file mode 100644 index 00000000..c24e6800 --- /dev/null +++ b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_item.sql @@ -0,0 +1,25 @@ +{{ + config( + alias="licitacao_item", + schema="br_cgu_licitacao_contrato", + materialized="table", + ) +}} +select + safe_cast(ano as int64) ano, + safe_cast(mes as int64) mes, + safe_cast(numero_licitacao as string) id_licitacao, + safe_cast(codigo_ug as string) id_unidade_gestora, + safe_cast(nome_ug as string) nome_unidade_gestora, + safe_cast(codigo_modalidade_compra as string) id_modalidade, + safe_cast(modalidade_compra as string) modalidade, + safe_cast(numero_processo as string) numero_processo, + safe_cast(codigo_orgao as string) id_orgao, + safe_cast(nome_orgao as string) nome_orgao, + safe_cast(codigo_vencedor as string) cpf_cnpj_vencedor, + safe_cast(nome_vencedor as string) nome_vencedor, + safe_cast(codigo_item_compra as string) id_item, + safe_cast(descricao as string) descricao_item, + safe_cast(quantidade_item as int64) quantidade_item, + safe_cast(replace(valor_item, ",", ".") as float64) valor_item, +from `basedosdados-dev.br_cgu_licitacao_contrato_staging.licitacao_item` as t diff --git a/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_participante.sql b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_participante.sql new file mode 100644 index 00000000..6a07d21c --- /dev/null +++ b/models/br_cgu_licitacao_contrato/br_cgu_licitacao_contrato__licitacao_participante.sql @@ -0,0 +1,28 @@ +{{ + config( + alias="licitacao_participante", + schema="br_cgu_licitacao_contrato", + materialized="table", + ) +}} +select + safe_cast(ano as int64) as ano, + safe_cast(mes as int64) as mes, + safe_cast(numero_licitacao as string) as id_licitacao, + safe_cast(codigo_ug as string) as id_unidade_gestora, + safe_cast(nome_ug as string) as nome_unidade_gestora, + safe_cast(codigo_modalidade_compra as string) as id_modalidade_compra, + safe_cast(modalidade_compra as string) as modalidade_compra, + safe_cast(numero_processo as string) as numero_processo, + safe_cast(codigo_orgao as string) as id_orgao, + safe_cast(nome_orgao as string) as nome_orgao, + safe_cast(codigo_item_compra as string) as id_item_compra, + safe_cast(descricao_item_compra as string) as descricao_item_compra, + safe_cast(codigo_participante as string) as cpf_cnpj_participante, + safe_cast(nome_participante as string) as nome_participante, + safe_cast( + case + when flag_vencedor = 'SIM' then true when flag_vencedor = 'NÃO' then false + end as boolean + ) as vencedor +from `basedosdados-dev.br_cgu_licitacao_contrato_staging.licitacao_participante` diff --git a/models/br_cgu_licitacao_contrato/schema.yml b/models/br_cgu_licitacao_contrato/schema.yml new file mode 100644 index 00000000..1ff99e74 --- /dev/null +++ b/models/br_cgu_licitacao_contrato/schema.yml @@ -0,0 +1,350 @@ +--- +version: 2 +models: + - name: br_cgu_licitacao_contrato__contrato_compra + description: Dados referentes a contratos de compras + tests: + - not_null_proportion_multiple_columns: + at_least: 0.25 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: id_contrato + description: Número que identifica o contrato no ComprasNet + - name: objeto + description: Objeto do contrato + - name: fundamento_legal + description: Indicação do embasamento legal do contrato + - name: modalidade + description: Modalidade de compra + - name: situacao_contrato + description: Situação em que se encontra o contrato + - name: id_orgao_superior + description: Código do Órgão Superior responsável pela licitação + - name: nome_orgao_superior + description: Nome do Órgão Superior + - name: id_orgao + description: Código do Órgão responsável pela licitação + - name: nome_orgao + description: Nome do Órgão Superior + - name: id_unidade_gestora + description: Código da Unidade Gestora do contrato. + - name: nome_unidade_gestora + description: Nome da Unidade Gestora + - name: data_assinatura_contrato + description: Data da assinatura do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_publicacao_dou + description: Data da publicação do contrato no DOU + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_inicio_vigencia + description: Data de início da vigência do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_fim_vigencia + description: Data de fim da vigência do contrato + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: cpf_cnpj_contratado + description: CNPJ do contratado + - name: nome_contratado + description: Nome do contratado + - name: valor_inicial_compra + description: Valor inicial da compra + - name: valor_final_compra + description: Valor final da compra após possíveis reajustes, acréscimos etc + - name: id_licitacao + description: Número que identifica a licitação no SIASG + - name: id_unidade_gestora_licitacao + description: Código da Unidade Gestora responsável pela licitação + - name: nome_unidade_gestora_licitacao + description: Nome da Unidade Gestora responsável pela licitação + - name: id_modalidade_licitacao + description: Código da modalidade + - name: modalidade_licitacao + description: Modalidade da Licitação + - name: br_cgu_licitacao_contrato__contrato_item + description: Dados referentes a itens do contrato + tests: + - not_null_proportion_multiple_columns: + at_least: 0.25 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: id_contrato + description: Número que identifica o contrato no ComprasNet + - name: id_orgao + description: Código do Órgão responsável pela licitação + - name: nome_orgao + description: Nome do Órgão + - name: id_ug + description: Código da Unidade Gestora do contrato. + - name: nome_uf + description: Nome da Unidade Gestora + - name: id_item + description: Código do item da compra no SIASG. + - name: descricao_item + description: Descrição do item + - name: descricao_complementar_item + description: Descrição complementar do item + - name: quantidade_item + description: Quantidade do item + - name: valor_item + description: Valor unitário do item + - name: br_cgu_licitacao_contrato__contrato_termo_aditivo + description: Dados referentes a termo aditivo do contrato + tests: + - not_null_proportion_multiple_columns: + at_least: 0.25 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: id_contrato + description: Número que identifica o contrato no ComprasNet + - name: id_orgao_superior + description: Código do Órgão Superior responsável pela licitação + - name: nome_orgao_superior + description: Nome do Órgão Superior + - name: id_orgao + description: Código do Órgão responsável pela licitação + - name: nome_orgao + description: Nome do Órgão Superior + - name: id_ug + description: Código da Unidade Gestora do contrato. + - name: nome_ug + description: Nome da Unidade Gestora + - name: id_termo_aditivo + description: Número que identifica o termo aditivo no ComprasNet + - name: data_publicacao_dou + description: Data da publicação do termo aditivo no DOU + - name: objeto + description: Objeto do termo aditivo + - name: br_cgu_licitacao_contrato__licitacao_item + description: Dados referentes a itens da Licitação + tests: + - not_null_proportion_multiple_columns: + at_least: 0.25 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: id_licitacao + description: Número que identifica a licitação no SIASG + - name: id_unidade_gestora + description: Código da Unidade Gestora responsável pela licitação. + - name: nome_unidade_gestora + description: Nome da Unidade Gestora + - name: id_modalidade + description: Código da Modalidade de Compra + - name: modalidade + description: Modalidades de Compra + - name: numero_processo + description: Número do processo da licitação + - name: id_orgao + description: Código do Órgão responsável pela licitação + - name: nome_orgao + description: Nome do Órgão + - name: id_item + description: Código do item da compra no SIASG + - name: descricao_item + description: Descrição do item da compra no SIASG + - name: quantidade_item + description: Quantidade do item + - name: valor_item + description: Valor total do item + - name: cpf_cnpj_vencedor + description: CNPJ do licitante vencedor + - name: nome_vencedor + description: Nome do CNPJ vencedor + - name: br_cgu_licitacao_contrato__licitacao + description: Dados referentes a licitação + tests: + - not_null_proportion_multiple_columns: + at_least: 0.25 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: sigla_uf + description: Sigla da Unidade da Federação + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__uf') + field: sigla + - name: id_municipio + description: ID Municipio + tests: + - relationships: + to: ref('br_bd_diretorios_brasil__municipio') + field: id_municipio + - name: id_licitacao + description: Número que identifica a licitação no SIASG + - name: id_unidade_gestora + description: Código da Unidade Gestora responsável pela licitação. + - name: nome_unidade_gestora + description: Nome da Unidade Gestora + - name: id_modalidade_compra + description: Código da Modalidade de Compra + - name: modalidade_compra + description: Modalidades de Compra + - name: numero_processo + description: Número do processo da licitação + - name: objeto + description: Objeto da licitação, ou seja, aquilo que se quer comprar, alienar + ou contratar + - name: situacao_licitacao + description: Situação em que se encontra o processo licitatório + - name: id_orgao_superior + description: Código do Órgão Superior responsável pela licitação + - name: nome_orgao_superior + description: Nome do Órgão Superior + - name: id_orgao + description: Código do Órgão responsável pela licitação + - name: nome_orgao + description: Nome do Órgão + - name: data_resultado_compra + description: Data da publicação da Homologação no Diário Oficial da União + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: data_abertura + description: Data de abertura para envio das Propostas + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: valor_licitacao + description: Valor total licitado + - name: br_cgu_licitacao_contrato__licitacao_participante + description: Dados referentes a participantes da licitação + tests: + - not_null_proportion_multiple_columns: + at_least: 0.25 + columns: + - name: ano + description: Ano + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__ano') + field: ano.ano + - name: mes + description: Mês + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__mes') + field: mes.mes + - name: id_licitacao + description: Número que identifica a licitação no SIASG + - name: id_unidade_gestora + description: Código da Unidade Gestora responsável pela licitação. + - name: nome_unidade_gestora + description: Nome da Unidade Gestora + - name: id_modalidade_compra + description: Código da Modalidade de Compra + - name: modalidade_compra + description: Modalidades de Compra + - name: numero_processo + description: Número do processo da licitação + - name: id_orgao + description: Código do Órgão responsável pela licitação + - name: nome_orgao + description: Nome do Órgão + - name: id_item_compra + description: Código do item da compra no SIASG + - name: descricao_item_compra + description: Descrição do item da compra no SIASG + - name: cpf_cnpj_participante + description: CPF ou CNPJ do participante na licitação + - name: nome_participante + description: Nome do CNPJ do participante + - name: vencedor + description: Indica se o participante é vencedor "SIM" ou "NÃO" + - name: br_cgu_licitacao_contrato__licitacao_empenho + description: Dados referentes a empenho da Licitação + tests: + - not_null_proportion_multiple_columns: + at_least: 0.25 + columns: + - name: id_processo + description: Número do processo da licitação + - name: id_unidade_gestora + description: Código da Unidade Gestora responsável pela licitação. + - name: nome_unidade_gestora + description: Nome da Unidade Gestora + - name: id_modalidade + description: Código da Modalidade de Compra + - name: modalidade + description: Modalidades de Compra + - name: id_empenho + description: Código do Empenho da Licitação + - name: data_emissao + description: Data de Emissão do Empenho + tests: + - relationships: + to: ref('br_bd_diretorios_data_tempo__data') + field: data.data + - name: observacao + description: Observação do Empenho + - name: id_licitacao + description: Número que identifica a licitação no SIASG + - name: valor + description: Valor do Empenho (R$)