🔨 Produtividade Perf. — m/h por dia (estacas lado a lado)
🎓 Estacas/Dia (Perf. vs Inj.)
⏰ Horas Perf. por Dia (acumulado/estacas empilhadas)
📈 V. Real vs Teórico (m³) — por dia
📉 Produtividade Acumulada — Tendência geral × Média da obra
📊 Performance & Atraso Diário — produção (m/dia, barras) × ocupação/ocioso dentro do expediente Tecnogeo (h, eixo direito)
📍 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.
Todos
Visão macro (3 SEPs)
SEP - Caixa Sep. L3
SEP - Porão de Cabos
SEP - Trafos AT/GIS
BDD
Detalhamento por Estaca — Plano × Real
| Estaca | Setor | Plano (data) | Real Perf. | Δ Dias | Real Inj. | Status |
|---|
Banco de Dados — Boletins Técnicos
| Nº | Estaca | Tipo | 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 | Solo | Solo Res. | 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³
🏗 Volume Real vs Teórico (m³)
📈 Excesso de Argamassa (%)
⏰ Duração Injeção (min)
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 (kg estimado a partir de m³ × 1500 kg/m³) e Areia F não se aplica.
| Estaca | Data Inj. | Início | Fim | Dur. | V.Real | V.Teo | Excesso | Cimento | Areia M | Areia F | Água |
|---|
Resumo por Dia — Injeção
| Data | Estacas | V.Real | V.Teo | Excesso | Cimento |
|---|
🔗 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 das estacas raiz. 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
python scripts/atualizar_dados.py.
🔎 Filtros
Mês de moldagem:
Área funcional:
📋 Critérios Admissíveis do Projeto (MC-101 / DE-101)
💡 Insights de Qualidade (com cruzamento Projeto × Boletins × CPs)
📊 FCK por Estaca — 3, 7 e 28 dias (linha tracejada verde = FCK projeto 20 MPa · respeita filtros de mês/área)
🎯 Status dos CPs — distribuição por estágio de ensaio (rosca: total no centro · legenda com contagem e %)
📈 Margem aos 7 dias (FCK_real / FCK_proj) — verde: já passa do projeto · verde-claro: ≥ 90% · amarelo: 85% do projeto (alerta)
Detalhamento — CPs por Estaca
| Estaca | Série | Data Mold. | Usina | Slump | NF | FCK 3d | FCK 7d | FCK 28d | Status |
|---|
Cronograma Executivo
Spider Project · —
Projeção Analítica de Término — forecast preditivo dos dados atuais (≠ cronograma)
Curva S — Avanço Acumulado (% sobre o escopo H1)
Fases do Empreendimento
Frentes H1 — Avanço por Área
Linha de Base — Planejado × Executado (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
Zoom
1.00×
~1m
ⓘ 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 dashboard. O dashboard funciona offline — Python só é necessário para regerar dados quando algo nas fontes mudar.
📊 Arquitetura — Como os dados fluem
O dashboard consome um único bundle estático
dados.js. Esse bundle é gerado a partir de 3 fontes externas. Tudo é JSON — fácil de versionar, abrir, comparar.
FONTES (editáveis)
├─ Spider Project - Executivo/SEP_AF_EXECUTIVO.1.gantoper.xlsx (cronograma)
├─ Projetos de Contenção - H1/*.pdf (projetos H1)
└─ 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, 214 estacas plano)
├─ banco_de_dados/json/projetos_h1.json (8 documentos)
└─ banco_de_dados/json/meta.json (metadados da obra)
│
▼
banco_de_dados/dados.js (bundle único)
│
▼
dashboard_estacas.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 |
../Spider Project - Executivo/SEP_AF_EXECUTIVO.1.gantoper.xlsxeditar no Spider Project, exportar como gantoper.xlsx |
Duplo clique em atualizar-dados.bat |
| Projetos H1 novos PDFs, revisões |
../Projetos de Contenção - H1/salvar PDFs com padrão DE-...-NNN-V.pdf ou MC-... |
Duplo clique em atualizar-dados.bat |
| Plano de Ataque layout das zonas |
../Plano de Ataque/H1 - Plano de Ataque*.pptxedite no PowerPoint mantendo nomes de zona "Zona NN CODIGO Ne-Mm" |
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 dashboard (Ctrl+F5) |
⚠ Após rodar
atualizar-dados.bat, recarregue o dashboard 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 dashboard | 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
}
ⓘ 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.🧠 Como o código foi pensado
📖 JSON como fonte da verdade
Tudo que o dashboard mostra vem de JSON legível. Fácil de versionar no Git, comparar revisões, 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). O dashboard 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).
Dashboard1
Andamento2
Banco de Dados3
Perfuração4
Concretagem5
Cronograma6
Plano de Ataque7
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 de Contenção - 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 pelo formulário "Novo Registro" não persistem. 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, contatos. Edite diretamente em
dashboard_estacas.html nesta seção.
— sem notas adicionais —
👥 Lista de usuários autorizados a acessar o dashboard. 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 dashboard |
|---|
⚙ 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
dashboard_estacas.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.