feat(emendas): adiciona dotação inicial e atualizada e orçamento x execução (MIR) - #18
Merged
Conversation
Os itens 9 e 13 do relatório do Tesouro Gerencial passam a ser mapeados como dotacao_inicial e dotacao_atualizada. O relatório traz dois grãos na mesma tabela: empenho (ne_ccor real) e dotação (ne_ccor = '-9', no grão da classificação orçamentária). - Amplia a UNIQUE_KEY com a classificação (ptres, natureza_despesa, modalidade_aplicacao, localizador_gasto, fonte_recursos_detalhada) para identificar as linhas de dotação sem colisão. - Ajusta o filtro para manter os dois grãos; o filtro por ano descartava todas as linhas de dotação. - Adiciona reset_table_if_pk_mismatch para recriar a tabela quando a PRIMARY KEY antiga (4 colunas) não corresponde à nova chave composta. - Deduplica o lote pela UNIQUE_KEY antes do INSERT, protegendo o ON CONFLICT.
- tg_emendas passa a filtrar ne_ccor <> '-9' (grão de empenho). - tg_emendas_dotacao (novo) expõe as linhas de dotação (itens 9/13, ne_ccor = '-9') no grão da classificação orçamentária, com dotacao_inicial e dotacao_atualizada tratadas por parse_financial_value. - Documenta o novo modelo e seus testes de tipagem no schema.yml.
…das emendas - emendas_partidos: anexa dotacao_inicial/atualizada por classificação como referência (o mesmo valor se repete entre empenhos — não deve ser somado). - instrumentos_emendas e emendas_convenio: propagam as duas colunas de dotação. - emendas_orcamento_execucao (novo): junta orçamento (dotado) e execução (empenhado/liquidado/pago) no mesmo grão da classificação, agregando a execução antes do join para evitar dupla contagem. - Atualiza os schema.yml (emendas e siconv) com as colunas e testes de tipagem.
…entar resumo_emendas_orcamento_execucao agrega a silver emendas_orcamento_execucao por autor da emenda. Como dotação e execução já chegam no mesmo grão, as somas por parlamentar não têm dupla contagem. Inclui indicadores (saldo a empenhar, % empenhado, % pago) e documentação com testes de tipagem.
luanaa2005
approved these changes
Aug 10, 2026
luanaa2005
left a comment
Member
There was a problem hiding this comment.
Muito bom Tiago, parabéns 🤖
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Descrição
Atualiza a ingestão de emendas parlamentares do MIR (relatório do Tesouro Gerencial recebido por e-mail) para incluir duas novas colunas de valor — dotação inicial e dotação atualizada (itens 9 e 13 do relatório) — e propaga essas colunas pelas tabelas dependentes nas camadas bronze, silver e gold.
O relatório passou a trazer dois grãos na mesma tabela:
ne_ccorreal).ne_ccor = '-9').Principais mudanças:
ne_tesouro_emendas_mir_ingest_dag.py): mapeia os itens 9/13 paradotacao_inicial/dotacao_atualizada, amplia aUNIQUE_KEYcom a classificação orçamentária (para as linhas de dotação não colidirem), mantém os dois grãos no filtro (o filtro por ano descartava toda a dotação) e recria a tabela quando a PRIMARY KEY antiga (4 colunas) não corresponde à nova chave composta.tg_emendaspassa a conter só o grão de empenho (ne_ccor <> '-9'); novo modelotg_emendas_dotacaoexpõe o grão de dotação.emendas_partidos,instrumentos_emendaseemendas_convenio(siconv) passam a carregar a dotação como referência; novo modeloemendas_orcamento_execucaojunta orçamento × execução no mesmo grão da classificação (agregando a execução antes do join para evitar dupla contagem).resumo_emendas_orcamento_execucaoagrega orçamento × execução por parlamentar, com indicadores (saldo a empenhar, % empenhado, % pago).Tipo de mudança
Issues relacionadas
Closes #464
Domínio de revisão
Como testar / validar
cd airflow_lappis/dags/dbt/mir dbt build --select \ tg_emendas tg_emendas_dotacao \ emendas_partidos instrumentos_emendas emendas_orcamento_execucao \ emendas_convenio resumo_emendas_orcamento_execucaoEvidências
Checklist
verificacao_tipagempara as novas colunas e modelos)schema.ymlde bronze, silver e gold)origin/mainmake formatfalha por dívida de lint (ruff/E501) pré-existente no repositório, alheia a este PR; os arquivos deste PR foram formatados comblack.