<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="UTF-8">
    <title>Relatório Psicossocial</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            font-size: 12px;
            margin: 20px;
        }

        h2,
        h3,
        h4,
        h5 {
            margin: 0;
        }

        .titulo-modulo {
            background-color: #002776;
            color: white;
            padding: 5px 10px;
            margin-top: 30px;
        }

        .ghe-info {
            margin: 10px 0 5px 0;
            display: flex;
            justify-content: space-between;
        }

        .tabela,
        .tabela th,
        .tabela td {
            border: 1px solid #ccc;
            border-collapse: collapse;
            text-align: center;
        }

        .tabela {
            margin-top: 10px;
            margin-bottom: 15px;
            width: 100%;
        }

        .tabela th,
        .tabela td {
            padding: 6px;
        }

        .tabela th {
            background-color: #002776;
            color: white;
        }

        .probabilidade {
            background-color: #002776;
            color: white;
            padding: 10px;
            text-align: center;
            margin: 10px 0 20px 0;
        }

        .cor-label {
            color: #000;
            font-weight: bold;
        }

        hr {
            margin: 30px 0;
        }

        .page-break {
            page-break-before: always;
        }
    </style>
</head>

<body>
    <h2 style="text-align: center; margin-bottom: 20px;">Relatório Psicossocial</h2>

    @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)
    <h3 class="titulo-modulo">{{ $nomesModulos[$modulo] }}</h3>

    @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

    <div class="ghe-info">
        <h4>GHE: {{ $setor }}</h4>
        <h4>Colaboradores: {{ count($respostasSetor) }}</h4>
    </div>

    <table class="tabela" width="100%" style="margin-bottom: 10px;">
        <thead>
            <tr>
                <th>Resposta</th>
                <th>Total</th>
            </tr>
        </thead>
        <tbody>
            @foreach ($contagem as $valor => $qtd)
            <tr>
                <td style="background-color: {{ $labelMap[$valor]['cor'] }};" class="cor-label">
                    {{ $labelMap[$valor]['texto'] }}
                </td>
                <td>{{ $qtd }}</td>
            </tr>
            @endforeach
        </tbody>
    </table>

    <div class="probabilidade">
        <p><strong>Probabilidade Geral</strong></p>
        <p>{{ $textoProb }}</p>
    </div>

    @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

    <table class="tabela" width="100%" style="margin-top: 10px;">
        <thead>
            <tr>
                <th>Fonte Geradora</th>
                <th>Severidade</th>
                <th>Probabilidade</th>
                <th>Nível do Risco</th>
            </tr>
        </thead>
        <tbody>
            @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
            <tr>
                <td>{{ strtoupper($fonte) }}</td>
                <td>{{ $severidade }}</td>
                <td>{{ $mediaFonte }}</td>
                <td>{{ $nivelRisco }}</td>
            </tr>
            @endforeach
        </tbody>
    </table>
    <hr style="margin: 20px 0;">
    @endforeach
    @if (!$loop->last)
    <div class="page-break"></div>
    @endif @endforeach
</body>

</html>