Relatório Psicossocial
@php
$nomesModulos = [
'estresse' => 'Estresse Ocupacional',
'assedio' => 'Assédio (Sexual e Moral)',
'deficiencia' => 'Deficiência Estrutural/Organizacional',
'acoes' => 'Ações e Campanhas de Apoio',
'sociofamiliares' => 'Aspectos Sociofamiliares',
];
$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'],
];
@endphp
@foreach ($dados as $modulo => $respostasModulo)
{{ $nomesModulos[$modulo] }}
@php
$porSetor = [];
foreach ($respostasModulo as $linha) {
$setor = $linha->setor ?? 'Não informado';
$porSetor[$setor][] = $linha;
}
@endphp
@foreach ($porSetor as $setor => $respostasSetor)
@php
$contagem = [0 => 0, 1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0];
$total = 0;
$soma = 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]);
$contagem[$valor]++;
$total++;
$soma += $valor;
}
}
}
$media = $total ? ceil($soma / $total) : 0;
$textoProb = $interpretacao[$media];
@endphp
GHE: {{ $setor }}
Colaboradores: {{ count($respostasSetor) }}
| Resposta |
Total |
@foreach ($contagem 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;
}
}
}
$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],
];
@endphp
| Fonte Geradora |
Severidade |
Probabilidade |
Nível do Risco |
@foreach ($porFonte as $fonte => $dadosFonte)
@php
$mediaFonte = count($dadosFonte['valores']) ? ceil(array_sum($dadosFonte['valores']) / count($dadosFonte['valores'])) : 0;
$severidade = $dadosFonte['severidade'];
$codigo = intval("{$severidade}{$mediaFonte}");
$nivelRisco = 'N/A';
foreach ($mapaRisco as $nivel => $codigos) {
if (in_array($codigo, $codigos)) {
$nivelRisco = $nivel;
break;
}
}
@endphp
| {{ strtoupper($fonte) }} |
{{ $severidade }} |
{{ $mediaFonte }} |
{{ $nivelRisco }} |
@endforeach
@endforeach
@if (!$loop->last)
@endif @endforeach