<?php /* Depto de Engenharia e Automação - Master Automação - Autor: Derlivon Silva */ ?>
<?php
$fmt  = fn($v,$d=2) => 'R$ '.number_format((float)$v,$d,',','.');
$fmtP = fn($v) => number_format((float)$v,1,',','.').'%';
$meses = ['','Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'];

$linhasPorMes = [];
foreach($linhas as $r) $linhasPorMes[(int)$r['MES']] = $r;

$totalRec  = array_sum(array_column($linhas,'RECEITA_BRUTA'));
$totalDes  = array_sum(array_column($linhas,'DESCONTOS'));
$totalCMV  = array_sum(array_column($linhas,'CMV'));
$totalDesp = array_sum($despMes);
$recLiq    = $totalRec - $totalDes;
$margBruta = $recLiq - $totalCMV;
$resultado = $margBruta - $totalDesp;
$temDesp   = $totalDesp > 0;
?>
<div class="pbi-page-header no-print">
    <h1 class="pbi-page-title"><i class="bi bi-file-earmark-bar-graph me-2 text-accent"></i>DRE — Demonstrativo de Resultados</h1>
</div>

<div class="pbi-filtro-barra mb-3 d-flex gap-2 flex-wrap no-print">
    <?php foreach($filtros['anos'] as $a): ?>
    <a href="?ano=<?= $a ?>" class="pbi-ano-btn <?= $a==$filtros['anoSel']?'ativo':'' ?>"><?= $a ?></a>
    <?php endforeach; ?>
</div>

<?php include __DIR__ . '/_header.php' ?>
<?php
$metaRelatorio = [
    'titulo'  => 'DRE Gerencial',
    'empresa' => $empresa ?? '',
    'periodo' => 'Ano: ' . ($filtros['anoSel'] ?? ''),
    'totais'  => [
        ['label' => 'Receita Bruta',      'valor' => $fmt($totalRec)],
        ['label' => 'Receita Líquida',    'valor' => $fmt($recLiq)],
        ['label' => 'Margem Bruta',       'valor' => $fmt($margBruta)],
        ['label' => 'Resultado Líquido',  'valor' => $fmt($resultado)],
    ],
];
?>
<script type="application/json" id="relatorio-meta"><?= json_encode($metaRelatorio, JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT) ?></script>
<div class="mb-2"><?php include __DIR__ . '/_acoes.php' ?></div>

<!-- Resumo em cascata -->
<div class="pbi-card mb-3">
    <div class="pbi-card-header"><i class="bi bi-file-earmark-bar-graph me-2"></i>Resultado Anual — <?= $filtros['anoSel'] ?></div>
    <div class="p-3">
        <div class="pbi-hint mb-2" style="margin-top:0">Demonstrativo de Resultado: parte da receita e vai abatendo custos e despesas até chegar ao lucro. <strong>CMV</strong> = custo da mercadoria vendida; <strong>Margem Bruta</strong> = receita líquida menos o CMV; <strong>Resultado Líquido</strong> = o que sobra após as despesas.</div>
        <?php
        $linhasDRE = [
            ['label'=>'(+) Receita Bruta',         'val'=>$totalRec,   'cls'=>'text-accent',  'indent'=>0, 'bold'=>false],
            ['label'=>'(-) Descontos',              'val'=>-$totalDes,  'cls'=>'text-warning', 'indent'=>1, 'bold'=>false],
            ['label'=>'= Receita Líquida',          'val'=>$recLiq,     'cls'=>'text-primary', 'indent'=>0, 'bold'=>true],
            ['label'=>'(-) CMV / Custo Mercadorias','val'=>-$totalCMV,  'cls'=>'text-danger',  'indent'=>1, 'bold'=>false],
            ['label'=>'= Margem Bruta',             'val'=>$margBruta,  'cls'=>$margBruta>=0?'text-primary':'text-danger', 'indent'=>0, 'bold'=>true],
        ];
        if($temDesp){
            $linhasDRE[] = ['label'=>'(-) Despesas Operacionais','val'=>-$totalDesp,'cls'=>'text-warning','indent'=>1,'bold'=>false];
            $linhasDRE[] = ['label'=>'= Resultado Líquido',       'val'=>$resultado, 'cls'=>$resultado>=0?'text-success':'text-danger','indent'=>0,'bold'=>true];
        }
        ?>
        <table style="width:100%;max-width:600px">
            <?php foreach($linhasDRE as $ld): ?>
            <tr style="border-bottom:1px solid var(--pbi-border)">
                <td style="padding:6px <?= $ld['indent']*20 ?>px 6px <?= 8+$ld['indent']*20 ?>px;color:var(--pbi-text-muted);font-size:.9rem" class="<?= $ld['bold']?'fw-bold':'' ?>"><?= $ld['label'] ?></td>
                <td class="text-end <?= $ld['cls'] ?> <?= $ld['bold']?'fw-bold':'' ?>" style="padding:6px 8px;font-size:.9rem"><?= $fmt(abs($ld['val'])) ?></td>
                <td class="text-end text-muted" style="padding:6px 8px;font-size:.8rem">
                    <?= $recLiq>0 ? $fmtP(abs($ld['val'])/$totalRec*100) : '' ?>
                </td>
            </tr>
            <?php endforeach; ?>
        </table>
    </div>
</div>

<!-- Tabela mensal -->
<div class="pbi-card" data-export-secao="dados">
    <div class="pbi-card-header"><i class="bi bi-table me-2"></i>Detalhamento Mensal</div>
    <div class="pbi-hint mb-2" style="margin-top:0">O mesmo resultado mês a mês. <strong>Mg%</strong> = margem bruta sobre a receita; <strong>Desp.</strong> = despesas operacionais do mês; <strong>Res%</strong> = lucro líquido sobre a receita.</div>
    <div class="table-responsive">
        <table class="pbi-table pbi-table-print">
            <thead><tr>
                <th>Mês</th>
                <th class="text-end">Rec.Bruta</th>
                <th class="text-end">(-) CMV</th>
                <th class="text-end">Margem</th>
                <th class="text-end">Mg%</th>
                <?php if($temDesp): ?><th class="text-end">(-) Desp.</th><th class="text-end">Resultado</th><th class="text-end">Res%</th><?php endif; ?>
            </tr></thead>
            <tbody>
            <?php for($m=1;$m<=12;$m++):
                $r   = $linhasPorMes[$m] ?? ['RECEITA_BRUTA'=>0,'DESCONTOS'=>0,'CMV'=>0];
                $rb  = (float)$r['RECEITA_BRUTA'];
                $rl  = $rb-(float)$r['DESCONTOS'];
                $mb  = $rl-(float)$r['CMV'];
                $dp  = $despMes[$m]??0;
                $res = $mb-$dp;
                $mgp = $rl>0?$mb/$rl*100:0;
                $rsp = $rl>0?$res/$rl*100:0;
            ?>
            <tr <?= $rb==0?'style="opacity:.4"':'' ?>>
                <td class="fw-bold"><?= $meses[$m] ?></td>
                <td class="text-end"><?= $rb>0?$fmt($rb):'—' ?></td>
                <td class="text-end text-danger"><?= $rb>0?$fmt((float)$r['CMV']):'—' ?></td>
                <td class="text-end fw-bold <?= $mb>=0?'text-primary':'text-danger' ?>"><?= $rl>0?$fmt($mb):'—' ?></td>
                <td class="text-end <?= $mgp>=30?'text-success':($mgp>=0?'text-warning':'text-danger') ?>"><?= $rl>0?$fmtP($mgp):'—' ?></td>
                <?php if($temDesp): ?>
                <td class="text-end text-warning"><?= $dp>0?$fmt($dp):'—' ?></td>
                <td class="text-end fw-bold <?= $res>=0?'text-success':'text-danger' ?>"><?= $rl>0?$fmt($res):'—' ?></td>
                <td class="text-end"><?= $rl>0?$fmtP($rsp):'—' ?></td>
                <?php endif; ?>
            </tr>
            <?php endfor; ?>
            </tbody>
            <tfoot><tr class="pbi-table-total">
                <td class="fw-bold">Total</td>
                <td class="text-end fw-bold"><?= $fmt($totalRec) ?></td>
                <td class="text-end fw-bold text-danger"><?= $fmt($totalCMV) ?></td>
                <td class="text-end fw-bold <?= $margBruta>=0?'text-primary':'text-danger' ?>"><?= $fmt($margBruta) ?></td>
                <td class="text-end fw-bold"><?= $recLiq>0?$fmtP($margBruta/$recLiq*100):'—' ?></td>
                <?php if($temDesp): ?>
                <td class="text-end fw-bold text-warning"><?= $fmt($totalDesp) ?></td>
                <td class="text-end fw-bold <?= $resultado>=0?'text-success':'text-danger' ?>"><?= $fmt($resultado) ?></td>
                <td class="text-end fw-bold"><?= $recLiq>0?$fmtP($resultado/$recLiq*100):'—' ?></td>
                <?php endif; ?>
            </tr></tfoot>
        </table>
    </div>
</div>
