@foreach ($modulos as $mod => $titulo)
@if (empty($dados[$mod]) || count($dados[$mod]) === 0)
Ainda não há respostas para este módulo.
@else
@php
$porSetor = [];
foreach ($dados[$mod] as $linha) {
$setor = $linha->setor ?? 'Não informado';
if (!isset($porSetor[$setor])) $porSetor[$setor] = [];
$porSetor[$setor][] = $linha;
}
@endphp
@foreach ($porSetor as $setor => $respostasSetor)
@php
$contagemRespostas = [0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0];
$totalPeso = 0;
$somaPonderada = 0;
foreach ($respostasSetor as $linha) {
$respostas = json_decode($linha->respostas, true);
foreach ($respostas as $r) {
$partes = explode(',', $r);
if (isset($partes[2])) {
$valor = (int) trim($partes[2]);
if (isset($contagemRespostas[$valor])) {
$contagemRespostas[$valor]++;
$totalPeso++;
$somaPonderada += $valor;
}
}
}
}
$media = $totalPeso ? ceil($somaPonderada / $totalPeso) : 0;
$interpretacao = [
0 => 'N/A',
1 => 'MUITO BAIXO (ACEITÁVEL)',
2 => 'BAIXO (ACEITÁVEL)',
3 => 'MODERADO (ACEITÁVEL)',
4 => 'ALTO (TEMPORARIAMENTE ACEITÁVEL)',
5 => 'MUITO ALTO (INACEITÁVEL)'
];
$labelMap = [
0 => ['texto' => 'Nunca', 'cor' => '#d3d3d3'],
1 => ['texto' => 'Quase nunca', 'cor' => '#4682B4'],
2 => ['texto' => 'Raramente', 'cor' => '#FFD700'],
3 => ['texto' => 'Às vezes', 'cor' => '#32CD32'],
4 => ['texto' => 'Quase sempre', 'cor' => '#FF4500'],
5 => ['texto' => 'Sempre', 'cor' => '#9370DB'],
];
$textoProb = $interpretacao[$media];
@endphp
{{ $loop->iteration < 10 ? '0' . $loop->iteration : $loop->iteration }}. {{ $titulo }}
GHE: {{ $setor }}
Colaboradores: {{ count($respostasSetor) }}
| Resposta |
Total |
@foreach ($contagemRespostas as $valor => $qtd)
|
{{ $labelMap[$valor]['texto'] }}
|
{{ $qtd }}
|
@endforeach
Probabilidade
(Geral)
{{ $textoProb }}
@php
$porFonte = [];
foreach ($respostasSetor as $linha) {
$respostas = json_decode($linha->respostas, true);
foreach ($respostas as $r) {
$partes = explode(',', $r);
if (count($partes) >= 3) {
$fonte = trim($partes[0]);
$severidade = (int) trim($partes[1]);
$valor = (int) trim($partes[2]);
if (!isset($porFonte[$fonte])) {
$porFonte[$fonte] = [
'severidade' => $severidade,
'valores' => [],
];
}
$porFonte[$fonte]['valores'][] = $valor;
}
}
}
@endphp
Causa | Princípio
| Fonte Geradora |
Severidade |
Probabilidade |
Nível do Risco |
@foreach ($porFonte as $fonte => $dadosFonte)
@php
$mediaValor = count($dadosFonte['valores']) ? ceil(array_sum($dadosFonte['valores']) / count($dadosFonte['valores'])) : 0;
$severidade = $dadosFonte['severidade'];
$codigo = intval("{$severidade}{$mediaValor}");
$mapaRisco = [
'N/A' => [10, 20, 30, 40, 50],
'MUITO BAIXO (ACEITÁVEL)' => [11, 12, 21],
'BAIXO (ACEITÁVEL)' => [13, 14, 15, 22, 23, 31, 32, 41, 51],
'MODERADO (ACEITÁVEL)' => [24, 25, 33, 34, 42, 43, 52],
'ALTO (TEMPORARIAMENTE ACEITÁVEL)' => [35, 44, 53],
'MUITO ALTO (INACEITÁVEL)' => [45, 54, 55],
];
$nivelRisco = 'N/A';
foreach ($mapaRisco as $nivel => $codigos) {
if (in_array($codigo, $codigos)) {
$nivelRisco = $nivel;
break;
}
}
@endphp
| {{ $fonte }} |
{{ $severidade }} |
{{ $mediaValor }} |
{{ $nivelRisco }} |
@endforeach
@endforeach
@endif
@endforeach