Ir para o conteúdo

Predefinição:Tabela3: mudanças entre as edições

De Normas Regulamentadoras
Sem resumo de edição
Sem resumo de edição
Linha 1: Linha 1:
# Definição das cores baseadas na legenda da NR 03
<table class="wikitable" style="width: 100%; border-collapse: collapse; font-family: sans-serif; font-size: 11px; text-align: center;">
cor_n = "#cccccc" # Nenhum (Cinza)
<tr><th rowspan="2" colspan="2" style="border: 1px solid #000000;">Consequência / Probabilidade</th><th colspan="4" style="border: 1px solid #000000;">Rara</th><th colspan="4" style="border: 1px solid #000000;">Remota</th><th colspan="4" style="border: 1px solid #000000;">Possível</th></tr>
cor_p = "#38761d" # Pequeno (Verde)
<tr>
cor_m = "#ffff00" # Moderado (Amarelo)
<th style="border: 1px solid #000000;">Provável</th><th style="border: 1px solid #000000;">Possível</th><th style="border: 1px solid #000000;">Remota</th><th style="border: 1px solid #000000;">Rara</th>
cor_s = "#e67e22" # Substancial (Laranja)
<th style="border: 1px solid #000000;">Provável</th><th style="border: 1px solid #000000;">Possível</th><th style="border: 1px solid #000000;">Remota</th><th style="border: 1px solid #000000;">Rara</th>
cor_e = "#ff0000" # Extremo (Vermelho)
<th style="border: 1px solid #000000;">Provável</th><th style="border: 1px solid #000000;">Possível</th><th style="border: 1px solid #000000;">Remota</th><th style="border: 1px solid #000000;">Rara</th>
 
</tr>
# Função auxiliar para criar célula colorida
<tr>
def celula(valor, cor, cor_texto="#000000"):
<td style="border: 1px solid #000000; font-weight: bold;">Nenhuma</td>
    return f'<td style="border: 1px solid #000000; padding: 4px; background-color: {cor}; color: {cor_texto}; font-weight: bold;">{valor}</td>'
<td style="border: 1px solid #000000;">Rara</td>
 
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
# Estrutura dos dados da tabela (linhas de conteúdo)
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
# Formato: [Consequência, Probabilidade, [Lista de 12 células de valores]]
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
dados = [
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    ["Nenhuma", "Rara", ["N", "N", "N", "N", "N", "N", "N", "P", "N", "N", "N", "P"]],
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    ["Leve", "Remota", ["N", "N", "P", "N", "N", "N", "P", "N", "N", "N", "P", "P"]],
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    ["Leve", "Possível", ["N", "N", "P", "N", "N", "N", "P", "N", "N", "P", "P", "P"]],
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    ["Leve", "Provável", ["N", "N", "M", "N", "N", "N", "M", "N", "P", "M", "M", "M"]],
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
    ["Significativa", "Remota", ["N", "N", "M", "N", "N", "N", "M", "P", "M", "M", "M", "M"]],
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    ["Significativa", "Possível", ["N", "N", "M", "N", "N", "M", "M", "M", "M", "M", "M", "M"]],
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    ["Significativa", "Provável", ["N", "N", "S", "N", "M", "M", "S", "M", "M", "M", "S", "S"]],
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    ["Morte/Severa", "Remota", ["N", "N", "S", "M", "M", "M", "S", "M", "M", "S", "S", "S"]],
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
    ["Morte/Severa", "Possível", ["N", "M", "E", "M", "S", "S", "E", "S", "S", "S", "E", "E"]],
</tr>
    ["Morte/Severa", "Provável", ["S", "S", "E", "S", "S", "S", "E", "S", "S", "E", "E", "E"]]
<tr>
]
<td style="border: 1px solid #000000; font-weight: bold;">Leve</td>
 
<td style="border: 1px solid #000000;">Remota</td>
# Mapeamento de cores para os valores
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
mapa_cores = {"N": cor_n, "P": cor_p, "M": cor_m, "S": cor_s, "E": cor_e}
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
mapa_texto = {"P": "#ffffff", "E": "#ffffff"} # Cores de fonte para melhor contraste
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
 
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
# Início do HTML
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
html = ['<table class="wikitable" style="width: 100%; border-collapse: collapse; font-family: sans-serif; font-size: 11px; text-align: center;">']
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
 
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
# Cabeçalhos Complexos
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
html.append('<tr><th rowspan="2" colspan="2" style="border: 1px solid #000000;">Consequência / Probabilidade</th><th colspan="4" style="border: 1px solid #000000;">Rara</th><th colspan="4" style="border: 1px solid #000000;">Remota</th><th colspan="4" style="border: 1px solid #000000;">Possível</th></tr>')
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
html.append('<tr>')
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
for _ in range(3): # Repete 3 vezes o cabeçalho de probabilidade
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
    html.append('<th style="border: 1px solid #000000;">Provável</th><th style="border: 1px solid #000000;">Possível</th><th style="border: 1px solid #000000;">Remota</th><th style="border: 1px solid #000000;">Rara</th>')
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
html.append('</tr>')
</tr>
 
<tr>
# Linhas de Dados
<td style="border: 1px solid #000000; font-weight: bold;">Leve</td>
for linha in dados:
<td style="border: 1px solid #000000;">Possível</td>
    html.append('<tr>')
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    html.append(f'<td style="border: 1px solid #000000; font-weight: bold;">{linha[0]}</td>')
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
    html.append(f'<td style="border: 1px solid #000000;">{linha[1]}</td>')
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
    for val in linha[2]:
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
        c = mapa_cores.get(val, "#ffffff")
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
        ct = mapa_texto.get(val, "#000000")
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
        html.append(celula(val, c, ct))
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
    html.append('</tr>')
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
 
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
html.append('</table>')
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
 
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
with open("tabela_nr03_completa.txt", "w", encoding="utf-8") as f:
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
    f.write("\n".join(html))
</tr>
<tr>
<td style="border: 1px solid #000000; font-weight: bold;">Leve</td>
<td style="border: 1px solid #000000;">Provável</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
</tr>
<tr>
<td style="border: 1px solid #000000; font-weight: bold;">Significativa</td>
<td style="border: 1px solid #000000;">Remota</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #38761d; color: #ffffff; font-weight: bold;">P</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
</tr>
<tr>
<td style="border: 1px solid #000000; font-weight: bold;">Significativa</td>
<td style="border: 1px solid #000000;">Possível</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
</tr>
<tr>
<td style="border: 1px solid #000000; font-weight: bold;">Significativa</td>
<td style="border: 1px solid #000000;">Provável</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
</tr>
<tr>
<td style="border: 1px solid #000000; font-weight: bold;">Morte/Severa</td>
<td style="border: 1px solid #000000;">Remota</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
</tr>
<tr>
<td style="border: 1px solid #000000; font-weight: bold;">Morte/Severa</td>
<td style="border: 1px solid #000000;">Possível</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #cccccc; color: #000000; font-weight: bold;">N</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ffff00; color: #000000; font-weight: bold;">M</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
</tr>
<tr>
<td style="border: 1px solid #000000; font-weight: bold;">Morte/Severa</td>
<td style="border: 1px solid #000000;">Provável</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #e67e22; color: #000000; font-weight: bold;">S</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
<td style="border: 1px solid #000000; padding: 4px; background-color: #ff0000; color: #ffffff; font-weight: bold;">E</td>
</tr>
</table>

Edição das 08h54min de 14 de julho de 2026

Consequência / ProbabilidadeRaraRemotaPossível
ProvávelPossívelRemotaRara ProvávelPossívelRemotaRara ProvávelPossívelRemotaRara
Nenhuma Rara N N N N N N N P N N N P
Leve Remota N N P N N N P N N N P P
Leve Possível N N P N N N P N N P P P
Leve Provável N N M N N N M N P M M M
Significativa Remota N N M N N N M P M M M M
Significativa Possível N N M N N M M M M M M M
Significativa Provável N N S N M M S M M M S S
Morte/Severa Remota N N S M M M S M M S S S
Morte/Severa Possível N M E M S S E S S S E E
Morte/Severa Provável S S E S S S E S S E E E