Resumo executivo
Produção consolidada H1 + I1, produtividade, restrições e projeção de término.
Detalhamento operacional Período, metragem, produtividade contínua, improdutividade, volume e cimento
🔨 Produtividade Perf. — m/h por dia (estacas lado a lado)
👥 Produção por homem-dia — H1 × I1
metros perfurados ÷ equipe da frente
🎓 Estacas/Dia (Perf. vs Inj.)
⏰ Horas Perf. por Dia (acumulado/estacas empilhadas)
📈 Volume nominal por traços vs teórico (m³) — por dia
📉 Produtividade Acumulada — Tendência geral × Média da obra
📊 Performance & Atraso Diário — produção por comprimento de projeto (m/dia) × ocupação/ocioso dentro do expediente Tecnogeo (h)
📍 Andamento por Área — 3 SEPs (estacas + metros do projeto BIM)
ⓘ Cruzamento entre o cronograma do Spider Project (planejado) e os boletins técnicos executados. As cores dos cards refletem o status: verde = concluído, laranja = parcial, cinza = não iniciado.
H1 · Todos
H1 · Visão macro (3 SEPs)
SEP - Caixa Sep. L3
SEP - Porão de Cabos
SEP - Trafos AT/GIS
BDD
I1 · Grupos
I1 · Áreas
Detalhamento por Estaca — Plano × Real
| Estaca | Setor | Plano (data) | Real Perf. | Δ Dias | Real Inj. | Status |
|---|
Banco de Dados — Boletins Técnicos
| Nº | Estaca | Modelo | Setor | Data Perf. | Prof. | Hs Perf. | Prod.(m/h) | Data Inj. | Início | Fim | Dur. | V.Real | V.Teo | Excesso | Ø (mm) | C.Terreno | C.Arras. | Arm. Long. | Compr. | Equipamento | Operador |
|---|
ⓘ Equipamento: PE 13 01 – MK 1400 | Operador: Jean Pierre Sampaio Almeida | Diâmetro: Ø 410 mm | Solo: Argiloso + Residual Resistente
🔨 Produtividade de Perfuração (m/h)
⏰ Duração Total Perf. (h)
📈 Acumulado Perf. (m)
Detalhamento de Perfuração
| Estaca | Data(s) | Trecho 1 | Trecho 2 | Total | Início | Fim | Horas | Prod. | Performance |
|---|
Resumo por Dia — Perfuração
| Data | Estacas | Metros | Horas | Prod. (m/h) | # |
|---|
⚠ Argamassa Usinada FCK 20,0 MPa – ST800+_50 Concre-base | Cimento CP III 40 RS | Aditivo Mira 842: 3,9 L/m³ | Mira Flow 596: 3,10 L/m³
KPIs e insights desta aba: somente H1 (contenções). As tabelas e gráficos podem ter escopo próprio.
💡 Insights de Concretagem
🏗 Volume nominal por traços vs geométrico (m³)
📈 Excesso de Argamassa (%)
⏰ Duração Injeção (min)
🧺 Índice nominal do boletim (cimento ÷ volume calculado por traços)
📊 Consumo de Cimento por Metro de Estaca (kg/m) — Variação Diária
Detalhamento de Injeção
* Em boletins recentes da TECNOGEO o layout mudou: a "Areia Média" e "Areia Fina" foram unificadas em um único valor de areia total. Quando marcado com *, o valor exibido em Areia M é o total de areia estimado (volume declarado × 1410 kg/m³, referência seca do RE 01) e Areia F não se aplica.
| Estaca | Data Inj. | Início | Fim | Dur. | V.Nominal | V.Teo | Excesso estim. | Cimento | Índice nominal (kg/m³) | Areia M | Areia F | Água |
|---|
Resumo por Dia — Injeção
| Data | Estacas | V.Nominal | V.Teo | Excesso estim. | Cimento | Índice nominal (kg/m³) |
|---|
🔗 Análise integrada do ciclo Perfuração → Concretagem.
O Lag é o tempo útil entre o fim da perfuração e o início da injeção, contando apenas horas de expediente:
Seg–Qui 07h–12h / 13h–17h · Sex–Sáb 07h–12h / 13h–16h · Dom sem expediente · Almoço 12h–13h.
⏱ Ciclo Completo por Estaca — Perfuração + Lag + Concretagem (min. úteis)
⏳ Lag Perf→Conc por Estaca (min. úteis)
📅 Dias Corridos Perf→Fim Conc (calendário)
Detalhamento — Ciclo Perf+Conc por Estaca
| # | Estaca | Data Perf | Ini. Perf | Fim Perf | Dur. Perf | Data Conc | Ini. Conc | Fim Conc | Dur. Conc | Lag útil | Ciclo útil | Dias corr. | Mesmo dia? |
|---|
🧪 Controle de Qualidade dos CPs. Fonte: FA.705.130306002 Controle RCA.xlsx (parser robusto: lookup por nome do header, suporta reordenação e novas colunas). Critérios admissíveis extraídos do MC-101 e DE-101. Atualize com
O veredito de aceitação é aos 28 dias. As idades de 3d e 7d são conferência precoce e a de 63d é informativa — pela legenda da planilha, peça que atinge o fck aos 28d tem o rompimento aos 63d dispensado.
python scripts/atualizar_dados.py.O veredito de aceitação é aos 28 dias. As idades de 3d e 7d são conferência precoce e a de 63d é informativa — pela legenda da planilha, peça que atinge o fck aos 28d tem o rompimento aos 63d dispensado.
🔎 Filtros
População:
a planilha mistura três populações com FCK de projeto diferente — a conformidade nunca é consolidada entre elas
Mês de moldagem:
Área funcional:
📋 Critérios Admissíveis do Projeto (MC-101 / DE-101)
⏳ Rompimento aos 63 dias — informativo, fora da conformidade
💡 Insights de Qualidade (com cruzamento Projeto × Boletins × CPs)
📊 FCK por peça
🎯 Status das séries com relatório entregue — distribuição por estágio de ensaio
📈 Margem aos 7 dias por relatório/série (FCK_real / FCK_proj) — verde: já passa do projeto · verde-claro: ≥ 90% · amarelo: 85% do projeto (alerta)
Rastreabilidade — Estacas × Relatórios/Séries
| Peça | Série | Relatório | Data Mold. | Usina | Consistência (mm) | NF | RIS | FCK 3d | FCK 7d | FCK 28d | FCK 63d | Status 63d | Status |
|---|
Geologia e condicionantes de perfuração
Leitura curada dos documentos aprovados · preparada para correlação futura no 2D e 3D
Limite de interpretação: existem somente três sondagens. Dentro do triângulo dos furos, as cotas são interpolações; fora dele, são extrapolações. Use a leitura como condicionante de produtividade, não como substituta da verificação geotécnica de campo.
Coordenadas e cotas adotadas
| Sondagem | Execução | E / X (m) | N / Y (m) | Cotas | Prof. | N.A. |
|---|
Confiabilidade espacial para as estacas
A distância à sondagem mais próxima e a condição de interpolação/extrapolação seguem disponíveis por estaca para uma futura camada na planta e no visualizador 3D.
Implantação geotécnica · H1, I1 e sondagens
Perfis individuais · interfaces, cotas e nível d'água
NSPT previsto ao longo de cada estaca
NSPT por profundidade nos três furos
Metros de projeto por faixa de NSPT previsto
As faixas classificam a resistência medida pelo ensaio, sem converter automaticamente NSPT em consistência ou compacidade, pois o significado depende do material.
Exposição geológica estimada por comprimento de projeto
Produtividade observada · comprimento de projeto por hora efetiva
Planejamento por profundidade
| Comp. projeto | Estacas | Executadas | Metros projeto | NSPT médio | P90 | Metros N>30 | N≤10 saturado |
|---|
Norteamento para investigar desvios
Premissas e rastreabilidade da base
Cronograma — Contratual & Executivo
Spider Project · R00 × R01 · —
Reavaliação Contratual — OS prevista × OS efetivamente emitida
Evolução Física Planejada — Ponderador EDAF · R00 × R01
Curva física de baseline: usa exclusivamente o Cost Component PON_EDAF de cada atividade e sua distribuição no tempo. A duração posiciona essa distribuição no calendário, mas não define o peso físico. A visão integrada soma os pesos contratuais de H1 (3,00%) e I1 (2,50%) e os normaliza sobre os 5,50% analisados. A faixa entre as curvas evidencia a reprogramação da R01, que ainda não passou pela aprovação formal/aditamento do Metrô.
⚠
Executivo em revalidação. Os indicadores abaixo permanecem informativos para acompanhamento da produção, mas não redefinem as conclusões do quadro contratual acima até a publicação da nova referência executiva.
Projeção Analítica de Término — forecast preditivo dos dados atuais (≠ cronograma)
Produtividade para o Spider Project — m/h de jornada · otimista · realista · pessimista · PERT
Curva S — Avanço Acumulado (% sobre o escopo H1)
Fases do Empreendimento — R00 × R01 sem aprovação formal × executivo em revalidação
Frentes H1 — Avanço por Área
Executivo — Planejado × Executado (em revalidação · acumulado sobre o escopo)
| Data | Plan. (m) | Real (m) | Plan. (un) | Real (un) | Δ (m) | % Plano | % Real | Status |
|---|
Diário de Obra (RDO)
TECNOGEO · análise dos relatórios diários · —
🧠 Diagnóstico curado — EDAF
⚖ Horas paradas por responsável (matriz)
🔗 Conferência estacas · RDO × Boletim
⚠ Sinais automáticos do período
ⓘ Síntese curada do Projeto Executivo H1 — Contenções da SEP Anália Franco. As premissas e índices vêm da leitura assistida dos Memoriais de Cálculo; os quantitativos são definitivos, recalculados automaticamente do Modelo BIM (—) a cada atualização. Edite
banco_de_dados/json/projetos_h1.json para corrigir/expandir o conteúdo curado.📄 Documentos do projeto
📥 Exportar para Excel (.xlsx)
Banco de dados completo com abas separadas: Banco, Perfuração, Concretagem, Cronograma, Plano vs Real, KPIs.
Exportar para Spider Project (XLSX)
Uma única atividade por estaca, do início da perfuração ao fim da injeção. A coluna Código (
H1-E.181) é a chave do DE → PARA na importação: casa cada linha com a tarefa-estaca do gantoper.🔄 Esta aba documenta o fluxo de dados, como atualizar e a arquitetura do acompanhamento. A aplicação funciona offline — Python só é necessário para regerar dados quando algo nas fontes mudar.
🧩 Consistência dos dados
Cruzamentos automáticos rodados ao fim de cada
atualizar-dados.bat: boletins × modelo BIM × qualidade × RDO. Não bloqueiam nada — a maior parte do que aparece aqui é lacuna documental (RDO que não chegou, CP que o laboratório ainda não emitiu), não defeito de código.⚠ Ressalvas de dados e pendências
Rascunho local da V3.0. Esta lista torna pendências de dado auditáveis; não é aceite contratual. Revisar o texto e a fonte de cada item antes de qualquer publicação externa.
📊 Arquitetura — Como os dados fluem
O acompanhamento consome um único bundle estático
dados.js. Esse bundle é gerado a partir das fontes externas documentadas abaixo. Tudo é JSON — fácil de versionar, abrir e comparar.
FONTES (editáveis)
├─ Cronograma Executivo/Cronograma*.json (executivo · em revalidação)
├─ Cronograma Contratual/*.json (R00 = .001 · R01 = REV.004)
├─ Projetos/H1/*.pdf (projetos H1)
├─ Projetos/I1/DE-...6I1-001-*.pdf (projeto executivo I1)
└─ Código/banco_de_dados/json/estacas_db.json (boletins executados)
│
▼
scripts/atualizar_dados.py
│
▼
JSONs ESTRUTURADOS
├─ banco_de_dados/json/cronograma_executivo.json (470 tarefas, 224 estacas plano H1)
├─ banco_de_dados/json/cronograma_contratual.json (R00 × R01 + Ponderador EDAF)
├─ banco_de_dados/json/projetos_h1.json (documentos H1)
├─ banco_de_dados/json/projeto_i1.json (65 estacas + conciliação BIM)
├─ banco_de_dados/json/geologia.json (base aprovada, curada e estática)
└─ banco_de_dados/json/meta.json (metadados da obra)
│
▼
banco_de_dados/dados.js (bundle único)
│
▼
index.html (navegador, offline)
❓ Quando e como atualizar
| O que mudou | Onde editar | Próximo passo |
|---|---|---|
| Boletim de uma estaca novo perfuração/injeção, correção |
banco_de_dados/json/estacas_db.jsonadicionar/editar item no array estacas |
Duplo clique em atualizar-dados.bat |
| Cronograma executivo datas, durações, recursos |
../Cronograma Executivo/Cronograma*.jsoneditar no Spider Project e exportar o projeto em JSON |
Duplo clique em atualizar-dados.bat |
| Projetos H1 novos PDFs, revisões |
../Projetos/H1/salvar PDFs com padrão DE-...-NNN-V.pdf ou MC-... |
Duplo clique em atualizar-dados.bat |
| Projeto executivo I1 nova revisão da prancha |
../Projetos/I1/salvar PDF no padrão DE-...6I1-001-V.pdf |
Duplo clique em atualizar-dados.bat |
| Equipamento/operador troca durante a obra |
banco_de_dados/json/estacas_db.json_meta para padrão; campos no registro para overrides |
Duplo clique em atualizar-dados.bat |
| Logos/assets | assets/logos/ |
Recarregar acompanhamento (Ctrl+F5) |
⚠ Após rodar
atualizar-dados.bat, recarregue o acompanhamento com Ctrl+F5 (recarrega ignorando cache).⚡ Operações rápidas
Atalhos práticos do dia a dia.
📂 Abrir pasta de dados
Onde ficam os JSONs editáveis e o bundle gerado.
RDO_TECNOGEO\Código\banco_de_dados
📝 Adicionar boletim manualmente
Editar JSON é mais rápido que abrir o XLSX.
json/estacas_db.json → array "estacas"
📥 Backup rápido
Antes de grandes alterações, copie a pasta
json/.json → json_backup_AAAAMMDD
🔎 Diagnosticar erro
Se gráficos sumirem, abra o Console (F12) — geralmente é JSON quebrado.
F12 → Console
💾 Pré-requisitos
| Para | Precisa | Como instalar |
|---|---|---|
| Visualizar o acompanhamento | Apenas um navegador | — |
| Atualizar dados | Python 3.9+ | https://python.org |
| Atualizar dados | Bibliotecas pandas + openpyxl | pip install pandas openpyxl |
📋 Modelo de registro —
estacas_db.jsonFormato de cada item no array
estacas. Copie um item existente e edite os campos.{
"nprog": 12, // próximo número sequencial
"estaca": "E215",
"boletim_pdf": "BOLETIM E215.pdf",
"dataPerf": "2026-04-29", // formato AAAA-MM-DD
"profSolo": 6.10,
"profResist": 2.10,
"profTotal": 8.20,
"iniPerf": "08:00", // formato HH:MM
"fimPerf": "10:30",
"hsPerf": "2:30", // duração HH:MM
"dataInj": "2026-04-29",
"iniInj": "13:00",
"fimInj": "13:30",
"hsInj": "0:30",
"vReal": 1.50,
"vTeo": 1.08,
"excesso": 39, // %, calculado: (vReal-vTeo)/vTeo*100
"cimento": 600, // kg
"areiaMed": 790,
"areiaFin": 527,
"agua": 300,
"armLong": "6 Ø 25 mm",
"compArm": 8.00,
"armTrans": "Ø 6.3 mm C/20cm",
"equipamento": "PE 13 01 - MK 1400", // opcional - se omitido usa _meta
"operador": "Jean Pierre Sampaio Almeida", // opcional - se omitido usa _meta
"deslocada": false, // auto-detectado de obsPerf (DESLOCAD/REALOCAD)
"reperfurada": false, // true = havia 2 boletins p/ esta estaca com profTotal bem diferente (1ª tentativa abortada por interferência)
"estacaAnterior": null // se reperfurada=true: {boletim_pdf,profTotal,vReal,vTeo,cimento,obsPerf} da tentativa abortada
}
ⓘ Quando o equipamento ou operador mudar no decorrer da obra, basta adicionar os campos
equipamento e operador no registro da estaca. Sem eles, o painel usa o valor padrão de _meta em estacas_db.json.⚠ Reperfuração: quando dois boletins da mesma estaca (ex.
E217.pdf e E217A.pdf) têm profTotal bem diferente, o parser entende que a 1ª tentativa foi abortada (interferência) e a 2ª concluiu a estaca. O registro final usa os dados da estaca CONCLUÍDA, ganha reperfurada=true e guarda a tentativa abortada em estacaAnterior — nada é descartado, mas o material da 1ª tentativa não entra nos KPIs/gráficos (que contam a estaca uma única vez). Ver parse_pasta() em parse_boletins.py.🧠 Como o código foi pensado
📖 JSON como fonte da verdade
Tudo que o acompanhamento mostra vem de JSON legível. Fácil de versionar no Git, comparar revisões e abrir em qualquer editor.
🏠 Funciona offline
Sem servidor, sem dependência de internet (CDN só na primeira carga do Chart.js/SheetJS — ficam em cache do navegador).
🔌 Python só pra ETL
O Python existe apenas no upstream (lê XLSX, varre PDFs, monta JSON). A aplicação nunca depende dele em runtime.
📊 Plano × Real cruzado
Cada estaca executada (DB) é casada com a estaca do Spider Project via código (E181 ↔ H1-E.181). O Δ dias é calculado e usado pra colorir status.
🌙 Tema persistido
Modo escuro/claro fica salvo em localStorage do navegador. Cada operador mantém sua preferência.
📦 Pacotes do Spider Project
A hierarquia do XLSX (Nível 2..5) é preservada. Pacotes diários da Caixa Separadora (CS-L3-D1..D9) são tratados como setores diários.
⌨ Atalhos de teclado
Funcionam em qualquer aba (exceto quando você está digitando em um campo).
Resumo executivo1
Andamento2
Banco de Dados3
Perfuração4
Concretagem5
Cronograma6
Visualização 2D7
Projetos H18
Atualizar/Docs9
Exportar0
Modo claro/escuroD
Imprimir / PDFCtrl+P
Recarregar (sem cache)Ctrl+F5
📝 Notas operacionais
✅ Os projetos H1 são re-indexados automaticamente a cada atualização — substitua os PDFs em
../Projetos/H1/ e rode atualizar-dados.bat. O parse_projetos.py lê o cartouche de cada PDF e extrai revisão, emissão, autor, título técnico, estacas referenciadas e documentos vinculados.⚠ Adições/correções de estaca não têm formulário no dashboard. Para gravar definitivamente, edite
estacas_db.json e rode o atualizador.ⓘ Exportação Excel inclui aba "Plano vs Real" pronta pra apresentação técnica.
📋 Notas adicionais (espaço livre)
Reserve este espaço para procedimentos específicos da equipe, observações de campo e contatos. Edite diretamente em
index.html nesta seção.
— sem notas adicionais —
👥 Lista de usuários autorizados a acessar o acompanhamento. Visível apenas para o perfil admin (EDAF). Senhas são armazenadas em hash SHA-256 — nem o admin consegue lê-las.
🔐 Usuários cadastrados
| Usuário | Perfil | Descrição | Acesso ao acompanhamento |
|---|
⚙ Como adicionar / remover usuário
O sistema usa autenticação client-side com SHA-256. Os cadastros estão hard-coded no arquivo
Para adicionar um novo usuário:
Para remover: apague a linha correspondente do objeto
index.html, no bloco <script> de autenticação (procure por var _t = {).
Para adicionar um novo usuário:
- Defina o usuário (em minúsculas) e a senha desejada.
- Gere o hash SHA-256 da senha (use qualquer ferramenta online ou Python:
hashlib.sha256(b'senha').hexdigest()). - Inverta a string do hash e codifique em base64. Em Python:
base64.b64encode(h[::-1].encode()).decode(). - Adicione uma linha no objeto
_tno formato:'usuario': { x: 'STRING_BASE64', k: 'a' }— ondek: 'a'é admin ek: 'e'é externo. - Rode
publicar.batpara enviar pra produção.
Para remover: apague a linha correspondente do objeto
_t e publique.
⚠ Limitação importante: esta autenticação é client-side. Qualquer pessoa que abra o DevTools (F12) e leia o código pode contornar a tela de login. A proteção é uma barreira casual, não um cofre. Para segurança real (ex.: bloquear acesso público), ative o Cloudflare Access no painel da Cloudflare.
