<?php
// ============================================================
// ERP - ActSafe | Relatório de Inspeção em PDF
// Desenvolvido por Antônio da Luz
// ============================================================
require_once '../5_config/config.php';

// Verificar autenticação usando a função padrão do sistema
$usuario = verificarAuth();
$db = getDB();

$inspecao_id = (int)($_GET['id'] ?? 0);
if (!$inspecao_id) {
    die('<div style="padding:40px;text-align:center;font-family:Arial;color:#c00"><h2>❌ ID da inspeção não informado</h2><p><a href="inspecoes.php">← Voltar</a></p></div>');
}

// Buscar inspeção
try {
    $stmt = $db->prepare("
        SELECT i.*, 
               u.codigo AS unidade_codigo, u.nome AS unidade_nome,
               e.nome AS equipamento_nome, e.cod AS equipamento_cod
        FROM inspecoes i
        LEFT JOIN unidades u ON u.id = i.unidade_id
        LEFT JOIN equipamentos e ON e.id = i.equipamento_id
        WHERE i.id = ?
        LIMIT 1
    ");
    $stmt->execute([$inspecao_id]);
    $inspecao = $stmt->fetch();
} catch (Exception $e) {
    die('<div style="padding:40px;font-family:Arial;color:#c00"><h2>❌ Erro ao buscar inspeção</h2><pre>' . htmlspecialchars($e->getMessage()) . '</pre></div>');
}

if (!$inspecao) {
    die('<div style="padding:40px;text-align:center;font-family:Arial;color:#c00"><h2>❌ Inspeção #' . $inspecao_id . ' não encontrada</h2><p><a href="inspecoes.php">← Voltar</a></p></div>');
}

// Buscar fotos
$fotos = [];
try {
    $stmt = $db->prepare("SELECT * FROM inspecao_fotos WHERE inspecao_id = ? ORDER BY ordem ASC");
    $stmt->execute([$inspecao_id]);
    $fotos = $stmt->fetchAll();
} catch (Exception $e) { /* sem fotos */ }

// Buscar não conformidades vinculadas à inspeção
$ncs = [];
try {
    $stmt = $db->prepare("
        SELECT nc.*, pa.what, pa.who, pa.when_data, pa.how
        FROM nao_conformidades nc
        LEFT JOIN planos_acao pa ON pa.nao_conformidade_id = nc.id
        WHERE nc.descricao LIKE ? OR nc.referencia_item LIKE ?
        ORDER BY nc.id DESC
    ");
    $stmt->execute(['%Inspeção #' . $inspecao_id . '%', '%Inspeção #' . $inspecao_id . '%']);
    $ncs = $stmt->fetchAll();
} catch (Exception $e) { /* sem NCs */ }
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Relatório de Inspeção #<?= $inspecao_id ?> — ERP ActSafe</title>
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Segoe UI', Arial, sans-serif; background: #f0f4f8; color: #222; }
        .container { max-width: 1000px; margin: 0 auto; padding: 24px; }

        /* CABEÇALHO */
        .cabecalho { background: #0F4C81; color: #fff; padding: 28px 30px 20px; border-radius: 10px 10px 0 0; margin-bottom: 0; }
        .cabecalho h1 { font-size: 22px; font-weight: 700; margin-bottom: 4px; }
        .cabecalho p { font-size: 13px; opacity: 0.85; }
        .cabecalho-meta { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 16px; }
        .cabecalho-meta span { font-size: 12px; background: rgba(255,255,255,0.15); padding: 5px 12px; border-radius: 20px; }

        /* CARDS DE INFO */
        .info-box { background: #fff; border-radius: 0 0 10px 10px; padding: 24px 30px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
        .info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; }
        .info-item { background: #f8fafc; padding: 14px; border-radius: 8px; border-left: 4px solid #0F4C81; }
        .info-label { font-size: 10px; color: #888; text-transform: uppercase; font-weight: 700; letter-spacing: 0.5px; margin-bottom: 5px; }
        .info-value { font-size: 14px; color: #222; font-weight: 600; }

        /* BOTÕES */
        .btn-group { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
        .btn { padding: 11px 22px; border-radius: 8px; border: none; cursor: pointer; font-size: 14px; font-weight: 600; transition: all 0.2s; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
        .btn-print { background: #0F4C81; color: #fff; }
        .btn-print:hover { background: #0a3a6e; }
        .btn-back { background: #f0f0f0; color: #444; border: 1px solid #ddd; }
        .btn-back:hover { background: #e4e4e4; }

        /* SEÇÕES */
        .section { background: #fff; padding: 28px 30px; border-radius: 10px; margin-bottom: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.08); }
        .section h2 { font-size: 17px; font-weight: 700; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid #f0f4f8; display: flex; align-items: center; gap: 8px; }
        .section h2.azul { color: #0F4C81; border-color: #0F4C81; }
        .section h2.vermelho { color: #C0392B; border-color: #C0392B; }

        /* FOTOS */
        .fotos-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
        .foto-card { border-radius: 10px; overflow: hidden; border: 1px solid #e2e8f0; background: #f8fafc; }
        .foto-img { width: 100%; aspect-ratio: 4/3; object-fit: cover; background: #e2e8f0; display: block; }
        .foto-info { padding: 14px; }
        .foto-num { font-size: 11px; color: #888; font-weight: 700; margin-bottom: 6px; }
        .foto-legenda { font-size: 13px; color: #222; font-weight: 600; margin-bottom: 8px; }
        .badge { font-size: 11px; padding: 4px 10px; border-radius: 20px; font-weight: 700; display: inline-block; }
        .badge-ok { background: #dcfce7; color: #166534; }
        .badge-nc { background: #fee2e2; color: #991b1b; }
        .foto-nc-texto { font-size: 11px; color: #555; margin-top: 8px; padding: 8px; background: #fff; border-radius: 6px; border-left: 3px solid #ef4444; line-height: 1.5; }

        /* NÃO CONFORMIDADES */
        .nc-item { padding: 16px; background: #fff5f5; border-left: 4px solid #ef4444; border-radius: 8px; margin-bottom: 14px; }
        .nc-titulo { font-size: 14px; font-weight: 700; color: #222; margin-bottom: 6px; }
        .nc-ref { font-size: 12px; color: #666; margin-bottom: 10px; }
        .plano { background: #fff; padding: 14px; border-radius: 6px; border-left: 3px solid #E8640C; margin-top: 10px; }
        .plano-titulo { font-size: 12px; font-weight: 700; color: #E8640C; margin-bottom: 8px; }
        .plano div { font-size: 12px; color: #333; margin: 5px 0; line-height: 1.5; }

        /* RODAPÉ */
        .rodape { background: #0F4C81; color: #fff; padding: 24px 30px; border-radius: 10px; text-align: center; margin-top: 10px; }
        .rodape strong { font-size: 16px; display: block; margin-bottom: 6px; }
        .rodape p { font-size: 12px; opacity: 0.85; margin: 4px 0; }

        /* IMPRESSÃO */
        @media print {
            body { background: #fff; }
            .btn-group { display: none !important; }
            .section, .info-box, .cabecalho { box-shadow: none; }
            .fotos-grid { grid-template-columns: repeat(2, 1fr); }
            .section { page-break-inside: avoid; }
            .rodape { page-break-inside: avoid; }
        }
    </style>
</head>
<body>
<div class="container">

    <!-- CABEÇALHO AZUL -->
    <div class="cabecalho">
        <h1>📋 Relatório de Inspeção #<?= $inspecao_id ?></h1>
        <p>ERP - ActSafe | Sistema de Gestão de Conformidade Normativa</p>
        <div class="cabecalho-meta">
            <span>📐 <?= sanitizar($inspecao['norma']) ?></span>
            <span>🏭 <?= sanitizar($inspecao['unidade_nome'] ?? 'N/A') ?></span>
            <span>👷 <?= sanitizar($inspecao['tecnico_nome'] ?? 'N/A') ?></span>
            <span>📅 <?= $inspecao['concluida_em'] ? date('d/m/Y H:i', strtotime($inspecao['concluida_em'])) : 'Pendente' ?></span>
        </div>
    </div>

    <!-- INFORMAÇÕES DETALHADAS -->
    <div class="info-box">
        <div class="info-grid">
            <div class="info-item">
                <div class="info-label">Norma</div>
                <div class="info-value"><?= sanitizar($inspecao['norma']) ?></div>
            </div>
            <div class="info-item">
                <div class="info-label">Unidade</div>
                <div class="info-value"><?= sanitizar($inspecao['unidade_nome'] ?? 'N/A') ?></div>
            </div>
            <div class="info-item">
                <div class="info-label">Equipamento</div>
                <div class="info-value"><?= sanitizar($inspecao['equipamento_nome'] ?? 'N/A') ?></div>
            </div>
            <div class="info-item">
                <div class="info-label">Técnico Responsável</div>
                <div class="info-value"><?= sanitizar($inspecao['tecnico_nome'] ?? 'N/A') ?></div>
            </div>
            <div class="info-item">
                <div class="info-label">Data da Inspeção</div>
                <div class="info-value"><?= $inspecao['concluida_em'] ? date('d/m/Y H:i', strtotime($inspecao['concluida_em'])) : '—' ?></div>
            </div>
            <div class="info-item">
                <div class="info-label">Status</div>
                <div class="info-value" style="color:<?= $inspecao['status']==='concluida' ? '#166534' : '#92400e' ?>">
                    <?= $inspecao['status']==='concluida' ? '✅ Concluída' : '⏳ ' . ucfirst($inspecao['status']) ?>
                </div>
            </div>
        </div>

        <div class="btn-group">
            <button class="btn btn-print" onclick="window.print()">🖨️ Imprimir / Salvar como PDF</button>
            <a href="inspecoes.php" class="btn btn-back">← Voltar para Inspeções</a>
        </div>
    </div>

    <!-- FOTOS -->
    <div class="section">
        <h2 class="azul">📸 Registro Fotográfico (<?= count($fotos) ?> foto<?= count($fotos) != 1 ? 's' : '' ?>)</h2>
        <?php if (count($fotos) > 0): ?>
        <div class="fotos-grid">
            <?php foreach ($fotos as $idx => $foto): ?>
            <div class="foto-card">
                <img src="<?= sanitizar(UPLOAD_URL . $foto['arquivo']) ?>"
                     alt="Foto <?= $idx + 1 ?>"
                     class="foto-img"
                     onerror="this.style.background='#e2e8f0';this.style.height='180px';this.alt='Foto não disponível';">
                <div class="foto-info">
                    <div class="foto-num">FOTO <?= $idx + 1 ?></div>
                    <div class="foto-legenda"><?= sanitizar($foto['legenda'] ?? 'Sem legenda') ?></div>
                    <?php if ($foto['nao_conformidade']): ?>
                        <span class="badge badge-nc">⚠️ Não Conforme</span>
                        <div class="foto-nc-texto"><?= sanitizar($foto['nao_conformidade']) ?></div>
                    <?php else: ?>
                        <span class="badge badge-ok">✓ Conforme</span>
                    <?php endif; ?>
                </div>
            </div>
            <?php endforeach; ?>
        </div>
        <?php else: ?>
        <p style="color:#888;text-align:center;padding:30px">Nenhuma foto registrada nesta inspeção.</p>
        <?php endif; ?>
    </div>

    <!-- NÃO CONFORMIDADES -->
    <?php if (count($ncs) > 0): ?>
    <div class="section">
        <h2 class="vermelho">⚠️ Não Conformidades (<?= count($ncs) ?>)</h2>
        <?php foreach ($ncs as $nc): ?>
        <div class="nc-item">
            <div class="nc-titulo">NC #<?= $nc['id'] ?> — <?= sanitizar($nc['descricao']) ?></div>
            <div class="nc-ref">Referência normativa: <?= sanitizar($nc['referencia_item'] ?? 'N/A') ?></div>
            <?php if ($nc['what'] || $nc['who'] || $nc['when_data'] || $nc['how']): ?>
            <div class="plano">
                <div class="plano-titulo">📋 Plano de Ação 5W2H</div>
                <?php if ($nc['what']): ?><div>• <strong>O QUÊ:</strong> <?= sanitizar($nc['what']) ?></div><?php endif; ?>
                <?php if ($nc['who']): ?><div>• <strong>QUEM:</strong> <?= sanitizar($nc['who']) ?></div><?php endif; ?>
                <?php if ($nc['when_data']): ?><div>• <strong>QUANDO:</strong> <?= date('d/m/Y', strtotime($nc['when_data'])) ?></div><?php endif; ?>
                <?php if ($nc['how']): ?><div>• <strong>COMO:</strong> <?= sanitizar($nc['how']) ?></div><?php endif; ?>
            </div>
            <?php endif; ?>
        </div>
        <?php endforeach; ?>
    </div>
    <?php endif; ?>

    <!-- OBSERVAÇÕES FINAIS -->
    <?php if (!empty($inspecao['observacoes_finais'])): ?>
    <div class="section">
        <h2 class="azul">📝 Observações Finais</h2>
        <div style="background:#f8fafc;padding:16px;border-radius:8px;line-height:1.8;white-space:pre-wrap;border-left:4px solid #0F4C81">
            <?= sanitizar($inspecao['observacoes_finais']) ?>
        </div>
    </div>
    <?php endif; ?>

    <!-- RODAPÉ -->
    <div class="rodape">
        <strong>ERP - ActSafe</strong>
        <p>Sistema de Gestão de Conformidade Normativa (NR 10, NR 12 e SPDA)</p>
        <p style="margin-top:10px">Desenvolvido por <strong>Antônio da Luz</strong></p>
        <p>Documento gerado em <?= date('d/m/Y \à\s H:i:s') ?></p>
        <p style="margin-top:8px;font-size:11px;opacity:0.7">Este documento é gerado automaticamente pelo sistema e constitui registro oficial de inspeção.</p>
    </div>

</div>
</body>
</html>
