<?php 
include "includes/header.php";
include "includes/navbar.php";

// =========================================================================
// 1. CÁLCULOS FINANCEIROS DO BALANÇO
// =========================================================================

// A. Capital Disponível (Soma do saldo de todas as contas)
$q_contas = $database->query("SELECT SUM(saldo) AS total_caixa FROM contas");
$r_contas = $database->fetch_assoc($q_contas);
$capital_caixa = (float)($r_contas['total_caixa'] ?? 0);

// B. Capital Fora e Juros por Receber (Apenas créditos PENDENTES ou EM ABERTO)
// NOTA: Ajuste o status 'pendente' ou 'Aberto' conforme grava no seu banco.
$q_creditos_fora = $database->query("SELECT SUM(valor) AS cap_fora, SUM(juros) AS juros_previsao, SUM(total) AS total_esperado FROM creditos WHERE status != 'Pago'");
$r_creditos = $database->fetch_assoc($q_creditos_fora);

$capital_fora = (float)($r_creditos['cap_fora'] ?? 0);
$juros_por_receber = (float)($r_creditos['juros_previsao'] ?? 0);
$total_a_receber = (float)($r_creditos['total_esperado'] ?? 0);

// C. Balanço Patrimonial Total (Disponível em caixa + O que tem para receber)
$patrimonio_total = $capital_caixa + $total_a_receber;
?>

<div id="wrapper">

  <!-- Sidebar Principal -->
  <?php include "includes/sidebar.php"; ?>

  <div id="content-wrapper">

    <div class="container-fluid">

      <!-- Breadcrumbs-->
      <ol class="breadcrumb">
        <li class="breadcrumb-item">
          <a href="#">Administração</a>
        </li>
        <li class="breadcrumb-item active">Balanço Financeiro & Fluxo de Caixa</li>
      </ol>

      <!-- ========================================== -->
      <!-- CARD DE RESUMO METRICAS (WIDGETS)          -->
      <!-- ========================================== -->
      <div class="row">
        
        <!-- Capital em Caixa -->
        <div class="col-xl-3 col-sm-6 mb-3">
          <div class="card text-white bg-success o-hidden h-100">
            <div class="card-body">
              <div class="card-body-icon">
                <i class="fas fa-fw fa-wallet"></i>
              </div>
              <div class="mr-5">Capital em Caixa</div>
              <h3 class="mt-2"><strong><?php echo number_format($capital_caixa, 2, ",", "."); ?> MZN</strong></h3>
            </div>
            <div class="card-footer text-white clearfix small z-1">
              <span class="float-left">Disponível em Contas</span>
            </div>
          </div>
        </div>

        <!-- Capital que está Fora -->
        <div class="col-xl-3 col-sm-6 mb-3">
          <div class="card text-white bg-danger o-hidden h-100">
            <div class="card-body">
              <div class="card-body-icon">
                <i class="fas fa-fw fa-hand-holding-usd"></i>
              </div>
              <div class="mr-5">Capital Fora (Emprestado)</div>
              <h3 class="mt-2"><strong><?php echo number_format($capital_fora, 2, ",", "."); ?> MZN</strong></h3>
            </div>
            <div class="card-footer text-white clearfix small z-1">
              <span class="float-left">Valor base cedido ativo</span>
            </div>
          </div>
        </div>

        <!-- Juros/Lucro Estimado a Receber -->
        <div class="col-xl-3 col-sm-6 mb-3">
          <div class="card text-white bg-warning o-hidden h-100">
            <div class="card-body">
              <div class="card-body-icon">
                <i class="fas fa-fw fa-chart-line"></i>
              </div>
              <div class="mr-5">Previsão de Juros a Receber</div>
              <h3 class="mt-2"><strong><?php echo number_format($juros_por_receber, 2, ",", "."); ?> MZN</strong></h3>
            </div>
            <div class="card-footer text-white clearfix small z-1">
              <span class="float-left">Lucro futuro projetado</span>
            </div>
          </div>
        </div>

        <!-- Patrimônio Líquido Total -->
        <div class="col-xl-3 col-sm-6 mb-3">
          <div class="card text-white bg-primary o-hidden h-100">
            <div class="card-body">
              <div class="card-body-icon">
                <i class="fas fa-fw fa-coins"></i>
              </div>
              <div class="mr-5">Património Total Estimado</div>
              <h3 class="mt-2"><strong><?php echo number_format($patrimonio_total, 2, ",", "."); ?> MZN</strong></h3>
            </div>
            <div class="card-footer text-white clearfix small z-1">
              <span class="float-left">Caixa + Retorno de Empréstimos</span>
            </div>
          </div>
        </div>

      </div>

      <div class="row">
        <!-- Tabela de Saldos por Conta -->
        <div class="col-md-4">
          <div class="card mb-3">
            <div class="card-header bg-dark text-white">
              <i class="fas fa-university"></i> Saldos por Conta
            </div>
            <div class="card-body p-0">
              <table class="table table-striped table-hover mb-0">
                <thead>
                  <tr>
                    <th>Conta</th>
                    <th class="text-right">Saldo</th>
                  </tr>
                </thead>
                <tbody>
                  <?php 
                  $contas = $database->query("SELECT conta, saldo FROM contas ORDER BY id DESC");
                  while ($con_item = $database->fetch_assoc($contas)) {
                  ?>
                  <tr>
                    <td><strong><?php echo htmlspecialchars($con_item['conta']); ?></strong></td>
                    <td class="text-right text-success"><strong><?php echo number_format((float)$con_item['saldo'], 2, ",", "."); ?> MZN</strong></td>
                  </tr>
                  <?php } ?>
                </tbody>
              </table>
            </div>
          </div>
        </div>

        <!-- Demonstrativo de Resumo de Carteira -->
        <div class="col-md-8">
          <div class="card mb-3">
            <div class="card-header bg-dark text-white">
              <i class="fas fa-file-contract"></i> Resumo de Saldos Pendentes de Clientes
            </div>
            <div class="card-body">
              <p class="mb-2">Este quadro reflete a carteira ativa que atualmente gera rendimento para a empresa:</p>
              <table class="table table-bordered">
                <tr>
                  <td><strong>Capital de Risco (Emprestado):</strong></td>
                  <td class="text-right"><?php echo number_format($capital_fora, 2, ",", "."); ?> MZN</td>
                </tr>
                <tr>
                  <td><strong>Lucro/Juros Contratados Estimados:</strong></td>
                  <td class="text-right text-warning">+ <?php echo number_format($juros_por_receber, 2, ",", "."); ?> MZN</td>
                </tr>
                <tr class="table-warning">
                  <td><strong>Total Geral a Recuperar:</strong></td>
                  <td class="text-right"><strong><?php echo number_format($total_a_receber, 2, ",", "."); ?> MZN</strong></td>
                </tr>
              </table>
            </div>
          </div>
        </div>
      </div>

      <!-- ========================================== -->
      <!-- SEÇÃO FLUXO DE CAIXA                       -->
      <!-- ========================================== -->
      <div class="card mb-3">
        <div class="card-header bg-secondary text-white">
          <i class="fas fa-exchange-alt"></i> Livro de Fluxo de Caixa (Últimos Movimentos Unificados)
        </div>
        <div class="card-body">
          <div class="table-responsive">
            <table class="table table-bordered table-striped" width="100%" cellspacing="0">
              <thead>
                <tr class="table-light">
                  <th>Data/Hora</th>
                  <th>Operação / Movimento</th>
                  <th>Ref. Doc</th>
                  <th>Tipo</th>
                  <th class="text-danger">Saída (Empréstimo Cedido)</th>
                  <th class="text-success">Entrada (Amortização Recebida)</th>
                </tr>
              </thead>
              <tbody>
                <?php 
                /* 
                  MONTAGEM DO FLUXO DE CAIXA:
                  Fazemos uma união (UNION ALL) para exibir de forma cronológica as Saídas (tabela creditos) 
                  e as Entradas (tabela pagamentos).
                */
                $sql_fluxo = "(SELECT CONCAT(c.data, ' ', c.hora) AS data_hora,
                      CONCAT('Empréstimo Concedido ao Cliente ID #', c.id_cliente) AS descricao,
                      CONCAT('Crédito #', c.id) AS referencia,'Saída' AS tipo,
                      c.valor AS valor_saida,
                      0 AS valor_entrada
                    FROM creditos c
                  )
                  UNION ALL
                  (
                    SELECT 
                      CONCAT(p.data, ' 12:00') AS data_hora, -- assume 12:00 pois pagamento não tem campo hora na tabela
                      CONCAT('Amortização de Parcela do Cliente ID #', p.id_cliente) AS descricao,
                      CONCAT('Recibo #', p.id, ' / Ref. Cred. #', p.id_pagamento) AS referencia,
                      'Entrada' AS tipo,
                      0 AS valor_saida,
                      p.valor_pago AS valor_entrada
                    FROM pagamentos p
                  )
                  ORDER BY data_hora DESC 
                  LIMIT 30
                ";

                $fluxo_resultado = $database->query($sql_fluxo);
                
                if (mysqli_num_rows($fluxo_resultado) > 0) {
                    while ($f = $database->fetch_assoc($fluxo_resultado)) {
                ?>
                <tr>
                  <td><?php echo date('d/m/Y H:i', strtotime($f['data_hora'])); ?></td>
                  <td><?php echo htmlspecialchars($f['descricao']); ?></td>
                  <td><code><?php echo htmlspecialchars($f['referencia']); ?></code></td>
                  <td>
                    <?php if ($f['tipo'] == 'Entrada'): ?>
                      <span class="badge badge-success">Entrada</span>
                    <?php else: ?>
                      <span class="badge badge-danger">Saída</span>
                    <?php endif; ?>
                  </td>
                  <td class="text-danger text-right">
                    <?php echo $f['valor_saida'] > 0 ? "- " . number_format((float)$f['valor_saida'], 2, ",", ".") . " MZN" : "—"; ?>
                  </td>
                  <td class="text-success text-right">
                    <?php echo $f['valor_entrada'] > 0 ? "+ " . number_format((float)$f['valor_entrada'], 2, ",", ".") . " MZN" : "—"; ?>
                  </td>
                </tr>
                <?php 
                    }
                } else {
                    echo "<tr><td colspan='6' class='text-center'>Nenhum registro de fluxo de caixa encontrado.</td></tr>";
                }
                ?>
              </tbody>
            </table>
          </div>
        </div>
      </div>

    </div>
    <!-- /.container-fluid -->

    <!-- Sticky Footer -->
    <?php include "includes/footer.php"; ?>

  </div>
  <!-- /.content-wrapper -->

</div>
<!-- /#wrapper -->

<!-- Scroll to Top Button-->
<a class="scroll-to-top rounded" href="#page-top">
  <i class="fas fa-angle-up"></i>
</a>

<!-- Logout Modal-->
<?php include "includes/logout_modal.php"; ?>

<!-- Bootstrap core JavaScript-->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Core plugin JavaScript-->
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for all pages-->
<script src="js/sb-admin.min.js"></script>

</body>
</html>