<?php
include_once('../config.php');
include_once('../header.php');

$id = $_GET['id'] ?? null;
if (!$id) { header("Location: caixas.php"); exit; }

// BUSCA DADOS DO FECHAMENTO
$busca = $conn->query("SELECT * FROM fechamentos_caixa WHERE id = '$id'");
$f = $busca->fetch_assoc();

if (!$f) { echo "RELATÓRIO NÃO ENCONTRADO."; exit; }

// ATUALIZAR DADOS
if (isset($_POST['btn_atualizar_caixa'])) {
    $abertura = $_POST['f_abertura'];
    $fecho_man = $_POST['f_fechamento_manual'];
    $dif = $_POST['f_diferenca'];
    $status = $_POST['f_status'];

    $sql = "UPDATE fechamentos_caixa SET 
            valor_abertura = '$abertura', 
            valor_fechamento_manual = '$fecho_man', 
            diferenca = '$dif', 
            status_caixa = '$status' 
            WHERE id = '$id'";
    
    if ($conn->query($sql)) {
        echo "<script>alert('RELATÓRIO ATUALIZADO!'); window.location.href='caixas.php';</script>";
    }
}
?>

<style>
    .caixa-wrapper { background: #fff; padding: 15px; font-family: 'Segoe UI', sans-serif; text-transform: uppercase; }
    #status_caixa { width: 100%; padding: 15px; margin-bottom: 15px; border-radius: 4px; text-align: center; font-weight: bold; font-size: 16px; color: #fff; }
    .status-ok { background-color: #28a745; } .status-sobra { background-color: #007bff; } .status-falta { background-color: #dc3545; }
    .resumo { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 20px; }
    .card { padding: 12px 5px; text-align: center; border-radius: 4px; color: #fff; font-weight: bold; font-size: 9px; }
    .v-destaque { font-size: 16px; display: block; margin-top: 5px; font-family: monospace; }
    .tabela-conferencia { width: 100%; border-collapse: collapse; font-size: 11px; border: 2px solid #333; background: #fafafa; margin-bottom: 25px; }
    .tabela-conferencia td { padding: 8px 10px; border: 1px solid #ccc; font-weight: bold; }
    .input-conf { width: 100%; border: none; background: #fffde7; font-family: monospace; font-weight: bold; font-size: 14px; text-align: right; outline: none; border-bottom: 1px solid #ccc; }
    .btn-salvar { background: #28a745; color: #fff; border: none; padding: 12px 25px; font-weight: bold; cursor: pointer; border-radius: 4px; float: right; }
</style>

<div class="caixa-wrapper">
    <a href="caixas.php" style="text-decoration:none; font-weight:bold; color:#6f42c1;">⬅ VOLTAR PARA PASTAS</a>
    <h3 style="text-align:center; margin-top:10px;">EDITANDO CAIXA: <?php echo date('d/m/Y', strtotime($f['data_fechamento'])); ?></h3>
    <hr>

    <form method="POST">
        <div id="status_caixa" class="status-ok"><?php echo $f['status_caixa']; ?></div>

        <div class="resumo">
            <div class="card" style="background:#757575;">ABERTURA<span class="v-destaque" id="card_abertura">R$ <?php echo number_format($f['valor_abertura'], 2, ',', '.'); ?></span></div>
            <div class="card" style="background:#2e7d32;">ENTRADAS<span class="v-destaque">R$ <?php echo number_format($f['valor_entradas'], 2, ',', '.'); ?></span></div>
            <div class="card" style="background:#c62828;">SAÍDAS<span class="v-destaque">R$ <?php echo number_format($f['valor_saidas'], 2, ',', '.'); ?></span></div>
            <div class="card" style="background:#0288d1;">SALDO DO DIA<span class="v-destaque" id="card_saldo_dia">R$ <?php echo number_format($f['saldo_sistema'], 2, ',', '.'); ?></span></div>
            <div class="card" style="background:#455a64;">FECHAMENTO<span class="v-destaque" id="card_fechamento">R$ <?php echo number_format($f['valor_fechamento_manual'], 2, ',', '.'); ?></span></div>
        </div>

        <table class="tabela-conferencia">
            <tbody>
                <tr>
                    <td style="width:30%; background:#eee">VALOR DE ABERTURA</td>
                    <td colspan="2"><input type="number" step="0.01" name="f_abertura" id="input_abertura" class="input-conf" value="<?php echo $f['valor_abertura']; ?>" oninput="calcularTudo()"></td>
                </tr>
                <tr>
                    <td style="background:#eee">FECHAMENTO MANUAL (VALOR TOTAL)</td>
                    <td colspan="2"><input type="number" step="0.01" name="f_fechamento_manual" id="input_fechamento" class="input-conf" value="<?php echo $f['valor_fechamento_manual']; ?>" oninput="calcularTudo()"></td>
                </tr>
                <tr style="background:#eee; color:red">
                    <td>DIFERENÇA CALCULADA</td>
                    <td colspan="2" id="info_dif" style="text-align:right">R$ <?php echo number_format($f['diferenca'], 2, ',', '.'); ?></td>
                </tr>
            </tbody>
        </table>

        <input type="hidden" name="f_diferenca" id="f_diferenca" value="<?php echo $f['diferenca']; ?>">
        <input type="hidden" name="f_status" id="f_status" value="<?php echo $f['status_caixa']; ?>">

        <button type="submit" name="btn_atualizar_caixa" class="btn-salvar">💾 SALVAR ALTERAÇÕES</button>
    </form>
</div>

<script>
const vEntradas = <?php echo $f['valor_entradas']; ?>;
const vSaidas = <?php echo $f['valor_saidas']; ?>;

function calcularTudo() {
    let valorAbertura = parseFloat(document.getElementById('input_abertura').value) || 0;
    let totalFechamento = parseFloat(document.getElementById('input_fechamento').value) || 0;
    
    let saldoCalculado = (valorAbertura + vEntradas) - vSaidas;
    const formatar = (v) => v.toLocaleString('pt-br', {style: 'currency', currency: 'BRL'});
    const diferenca = parseFloat((totalFechamento - saldoCalculado).toFixed(2));

    document.getElementById('card_abertura').innerText = formatar(valorAbertura);
    document.getElementById('card_saldo_dia').innerText = formatar(saldoCalculado);
    document.getElementById('card_fechamento').innerText = formatar(totalFechamento);
    document.getElementById('info_dif').innerText = formatar(diferenca);

    const divStatus = document.getElementById('status_caixa');
    divStatus.className = "";
    if (diferenca === 0) { divStatus.innerText = "✅ CAIXA OK"; divStatus.classList.add('status-ok'); }
    else if (diferenca > 0) { divStatus.innerText = "🔵 PASSOU NO CAIXA: " + formatar(diferenca); divStatus.classList.add('status-sobra'); }
    else { divStatus.innerText = "🔴 FALTOU NO CAIXA: " + formatar(Math.abs(diferenca)); divStatus.classList.add('status-falta'); }

    document.getElementById('f_diferenca').value = diferenca;
    document.getElementById('f_status').value = divStatus.innerText;
}
window.onload = calcularTudo;
</script>