From afc46e0f463de8f6527a0362617ea5c8a5561f0a Mon Sep 17 00:00:00 2001 From: Gabriel Date: Wed, 9 Sep 2026 08:17:44 -0300 Subject: [PATCH] =?UTF-8?q?Projeto=20Dashboard=20Cont=C3=A1bil?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/settings.json | 21 +- CLAUDE.md | 11 +- README.md | 4 +- config/urls.py | 1 + .../apuracoes/2017_-_balancete_072026.pdf | Bin 0 -> 92988 bytes .../apuracoes/792_-_balancete_072026.pdf | Bin 0 -> 115957 bytes plano.md | 10 + portal_api/admin.py | 31 + portal_api/catalogo.py | 9 + portal_api/dashboard_contabil/CHANGELOG.md | 11 + portal_api/dashboard_contabil/CLAUDE.md | 66 ++ portal_api/dashboard_contabil/README.md | 13 + portal_api/dashboard_contabil/__init__.py | 0 portal_api/dashboard_contabil/modelos.py | 76 +++ portal_api/dashboard_contabil/parser.py | 247 +++++++ portal_api/dashboard_contabil/pipeline.py | 27 + portal_api/dashboard_contabil/regras.py | 339 ++++++++++ portal_api/management/commands/seed_portal.py | 5 + ...o_contabilconta_contabilachado_and_more.py | 102 +++ ...ntabilconta_options_contabilconta_ordem.py | 22 + .../0057_contabillinhadre_observacao.py | 18 + portal_api/models.py | 163 +++++ portal_api/serializers.py | 131 ++++ portal_api/urls.py | 4 + portal_api/views.py | 250 +++++++ static/css/dashboard-contabil.css | 383 +++++++++++ static/js/dashboard-contabil.js | 517 ++++++++++++++ templates/acessos-gerais.html | 14 + templates/calendario-individual.html | 14 + templates/custo-contratacao.html | 14 + templates/dashboard-contabil.html | 633 ++++++++++++++++++ .../importacao-plano-saude-de-paula.html | 14 + templates/importacao-plano-saude.html | 14 + templates/indicador-desempenho.html | 14 + templates/links-ferramentas.html | 14 + templates/nao-conformidades.html | 14 + templates/perfis-acesso.html | 14 + templates/portal.html | 14 + templates/ramais.html | 14 + templates/usuarios.html | 14 + 40 files changed, 3259 insertions(+), 3 deletions(-) create mode 100644 media/contabil/apuracoes/2017_-_balancete_072026.pdf create mode 100644 media/contabil/apuracoes/792_-_balancete_072026.pdf create mode 100644 portal_api/dashboard_contabil/CHANGELOG.md create mode 100644 portal_api/dashboard_contabil/CLAUDE.md create mode 100644 portal_api/dashboard_contabil/README.md create mode 100644 portal_api/dashboard_contabil/__init__.py create mode 100644 portal_api/dashboard_contabil/modelos.py create mode 100644 portal_api/dashboard_contabil/parser.py create mode 100644 portal_api/dashboard_contabil/pipeline.py create mode 100644 portal_api/dashboard_contabil/regras.py create mode 100644 portal_api/migrations/0055_contabilapuracao_contabilconta_contabilachado_and_more.py create mode 100644 portal_api/migrations/0056_alter_contabilconta_options_contabilconta_ordem.py create mode 100644 portal_api/migrations/0057_contabillinhadre_observacao.py create mode 100644 static/css/dashboard-contabil.css create mode 100644 static/js/dashboard-contabil.js create mode 100644 templates/dashboard-contabil.html diff --git a/.claude/settings.json b/.claude/settings.json index 4594a05..cb5d10b 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -21,7 +21,26 @@ "Bash(./.venv/Scripts/python.exe manage.py shell -c ' *)", "Edit(/.claude/skills/importacao-plano-saude/**)", "Bash(mkdir -p \"/c/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/81285690-7341-4d2b-b15c-58956b5faf21/scratchpad/manual-subportal\")", - "Read(//c/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/81285690-7341-4d2b-b15c-58956b5faf21/scratchpad/**)" + "Read(//c/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/81285690-7341-4d2b-b15c-58956b5faf21/scratchpad/**)", + "Bash(\"C:\\\\Users\\\\Depaula\\\\Documents\\\\Portal\\\\.venv\\\\Scripts\\\\python.exe\" -c \"import pdfplumber; print\\(pdfplumber.__version__\\)\")", + "Bash(\"C:\\\\Users\\\\Depaula\\\\Documents\\\\Portal\\\\.venv\\\\Scripts\\\\python.exe\" \"C:\\\\Users\\\\Depaula\\\\AppData\\\\Local\\\\Temp\\\\claude\\\\c--Users-Depaula-Documents-Portal\\\\3716cfa9-a698-43f6-a74f-de0707c027aa\\\\scratchpad\\\\inspect_pdf.py\")", + "Bash('C:\\\\Users\\\\Depaula\\\\Documents\\\\Portal\\\\.venv\\\\Scripts\\\\python.exe' -c ' *)", + "Bash(\"C:\\\\Users\\\\Depaula\\\\Documents\\\\Portal\\\\.venv\\\\Scripts\\\\python.exe\" \"C:\\\\Users\\\\Depaula\\\\AppData\\\\Local\\\\Temp\\\\claude\\\\c--Users-Depaula-Documents-Portal\\\\3716cfa9-a698-43f6-a74f-de0707c027aa\\\\scratchpad\\\\test_parser.py\")", + "Bash(\"C:\\\\Users\\\\Depaula\\\\Documents\\\\Portal\\\\.venv\\\\Scripts\\\\python.exe\" \"C:\\\\Users\\\\Depaula\\\\AppData\\\\Local\\\\Temp\\\\claude\\\\c--Users-Depaula-Documents-Portal\\\\3716cfa9-a698-43f6-a74f-de0707c027aa\\\\scratchpad\\\\test_pipeline.py\")", + "Bash(\".venv\\\\Scripts\\\\python.exe\" manage.py makemigrations portal_api)", + "Bash(\".venv\\\\Scripts\\\\python.exe\" manage.py migrate portal_api)", + "Bash(\".venv\\\\Scripts\\\\python.exe\" \"C:\\\\Users\\\\Depaula\\\\AppData\\\\Local\\\\Temp\\\\claude\\\\c--Users-Depaula-Documents-Portal\\\\3716cfa9-a698-43f6-a74f-de0707c027aa\\\\scratchpad\\\\test_e2e.py\")", + "Bash(\".venv\\\\Scripts\\\\python.exe\" \"C:\\\\Users\\\\Depaula\\\\AppData\\\\Local\\\\Temp\\\\claude\\\\c--Users-Depaula-Documents-Portal\\\\3716cfa9-a698-43f6-a74f-de0707c027aa\\\\scratchpad\\\\test_templates.py\")", + "Bash(\".venv\\\\Scripts\\\\python.exe\" manage.py check)", + "Bash(.venv/Scripts/python.exe -c \"import playwright\")", + "Bash(pip show *)", + "Bash(where.exe npx *)", + "Read(//c/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/3716cfa9-a698-43f6-a74f-de0707c027aa/scratchpad/**)", + "Bash(cat)", + "Bash(\"/c/Program Files/Google/Chrome/Application/chrome.exe\" --headless --disable-gpu --screenshot=\"/c/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/3716cfa9-a698-43f6-a74f-de0707c027aa/scratchpad/dc-header5.png\" --window-size=1680,300 \"file:///C:/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/3716cfa9-a698-43f6-a74f-de0707c027aa/scratchpad/test-dc-header5.html\")", + "Bash(\"/c/Program Files/Google/Chrome/Application/chrome.exe\" --headless --disable-gpu --screenshot=\"/c/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/3716cfa9-a698-43f6-a74f-de0707c027aa/scratchpad/dc-header6.png\" --window-size=1680,300 \"file:///C:/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/3716cfa9-a698-43f6-a74f-de0707c027aa/scratchpad/test-dc-header6.html\")", + "Bash(sed 's/justify-content: space-between;/justify-content: space-between;\\\\n flex-wrap: wrap;/' test-dc-header2.html)", + "Bash(\"/c/Program Files/Google/Chrome/Application/chrome.exe\" --headless --disable-gpu --screenshot=\"/c/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/3716cfa9-a698-43f6-a74f-de0707c027aa/scratchpad/dc-header7.png\" --window-size=1200,300 \"file:///C:/Users/Depaula/AppData/Local/Temp/claude/c--Users-Depaula-Documents-Portal/3716cfa9-a698-43f6-a74f-de0707c027aa/scratchpad/test-dc-header7.html\")" ] } } diff --git a/CLAUDE.md b/CLAUDE.md index dbc96fc..8cb6956 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -24,6 +24,7 @@ Aplicações com pacote Python próprio (`CLAUDE.md` **carregado automaticamente | Indicador de Desempenho | `portal_api/indicadores/` — `CLAUDE.md` (técnico), `README.md`, `CHANGELOG.md` | | Simulação de Custo de Contratação | `portal_api/custo_contratacao/` — `CLAUDE.md` (técnico), `README.md`, `CHANGELOG.md` | | Não Conformidades | `portal_api/nao_conformidades/` — `CLAUDE.md` (técnico), `README.md`, `CHANGELOG.md` | +| Dashboard Contábil | `portal_api/dashboard_contabil/` — `CLAUDE.md` (técnico), `README.md`, `CHANGELOG.md` | Aplicações sem pacote Python dedicado (código ainda em `portal_api/models.py`/`views.py`/`serializers.py` — os arquivos em `docs//` **não** são carregados automaticamente, ler manualmente): @@ -215,6 +216,7 @@ Um único app, `portal_api/`: | `custo-contratacao.html` | Ferramenta de Geradoc: formulário de simulação de custo de contratação (Empregado CLT) + painel colapsável de parâmetros fiscais, gera um PDF (ver `portal_api/custo_contratacao/CLAUDE.md`). | | `indicador-desempenho.html` | Ferramenta de Geradoc: histórico de apurações + nova apuração (upload das 2 planilhas) + cadastro de critérios/percentuais + revisão/geração dos recibos em PDF do Indicador de Desempenho do Fiscontábil (ver `portal_api/indicadores/CLAUDE.md`). | | `nao-conformidades.html` | Aplicação de Relatórios > Qualidade: gestão contínua das ocorrências/ações do Sigsistem, com dashboard e status interno de tratativa da Qualidade (ver `portal_api/nao_conformidades/CLAUDE.md`). | +| `dashboard-contabil.html` | Aplicação de Relatórios > Contabilidade: histórico de análises + nova análise (upload do PDF de Balancete + DRE) + revisão de achados de auditoria (com observações por conta) — v1 sem a etapa de geração do dashboard final (ver `portal_api/dashboard_contabil/CLAUDE.md`). | O item "Calendário De Paula" no menu **não é uma página local** — é um `` (continua favoritável, já que ainda é um `` — ver `docs/favoritos/favoritos.md`) cujo clique é interceptado em `sidebar.js` (`PID_CALENDARIO_DEPAULA_URL`) pra abrir `https://depaula-tvcorporativa.lovable.app/calendario` num modal com ` + + + + + + + + + + + + + + + + + + diff --git a/templates/importacao-plano-saude-de-paula.html b/templates/importacao-plano-saude-de-paula.html index 3251c61..7bc8556 100644 --- a/templates/importacao-plano-saude-de-paula.html +++ b/templates/importacao-plano-saude-de-paula.html @@ -128,6 +128,20 @@ + diff --git a/templates/importacao-plano-saude.html b/templates/importacao-plano-saude.html index 1169848..e237b7c 100644 --- a/templates/importacao-plano-saude.html +++ b/templates/importacao-plano-saude.html @@ -128,6 +128,20 @@ + diff --git a/templates/indicador-desempenho.html b/templates/indicador-desempenho.html index e632889..1de27e5 100644 --- a/templates/indicador-desempenho.html +++ b/templates/indicador-desempenho.html @@ -128,6 +128,20 @@ + diff --git a/templates/links-ferramentas.html b/templates/links-ferramentas.html index a199e97..42b453a 100644 --- a/templates/links-ferramentas.html +++ b/templates/links-ferramentas.html @@ -128,6 +128,20 @@ + diff --git a/templates/nao-conformidades.html b/templates/nao-conformidades.html index dc13208..041de08 100644 --- a/templates/nao-conformidades.html +++ b/templates/nao-conformidades.html @@ -128,6 +128,20 @@ + diff --git a/templates/perfis-acesso.html b/templates/perfis-acesso.html index 24c7704..e0263c7 100644 --- a/templates/perfis-acesso.html +++ b/templates/perfis-acesso.html @@ -127,6 +127,20 @@ + diff --git a/templates/portal.html b/templates/portal.html index be4a89c..7d75539 100644 --- a/templates/portal.html +++ b/templates/portal.html @@ -129,6 +129,20 @@ + diff --git a/templates/ramais.html b/templates/ramais.html index 1194ef3..cc82aec 100644 --- a/templates/ramais.html +++ b/templates/ramais.html @@ -128,6 +128,20 @@ + diff --git a/templates/usuarios.html b/templates/usuarios.html index 1e83795..80f742b 100644 --- a/templates/usuarios.html +++ b/templates/usuarios.html @@ -127,6 +127,20 @@ +