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

$mensagem = "";
$id_conta = $_GET['id'] ?? null;

if (!$id_conta) {
    echo "<script>window.location.href='fiado.php';</script>";
    exit;
}

$busca = $conn->query("SELECT * FROM CONTAS_RECEBER WHERE ID = '$id_conta'");
$conta = $busca->fetch_assoc();

if (!$conta) {
    echo "<div style='padding:20px; font-weight:bold; color:red;'>ERRO: CONTA NÃO ENCONTRADA.</div>";
    exit;
}

if (isset($_POST['btn_confirmar_pagamento'])) {
    // Limpa a formatação da moeda para o banco (R$ 1.200,50 -> 1200.50)
    $valor_pago = str_replace(',', '.', str_replace('.', '', $_POST['valor_pago'])); 
    $vendedor = $_POST['vendedor'];
    $forma_pgto = $_POST['forma_pagamento']; 
    
    $valor_atual_divida = $conta['VALOR_TOTAL'];
    $saldo_restante = $valor_atual_divida - $valor_pago;
    
    if ($valor_pago <= 0) {
        $mensagem = "ERRO: O VALOR PAGO DEVE SER MAIOR QUE ZERO!";
    } elseif ($valor_pago > $valor_atual_divida) {
        $mensagem = "ERRO: O VALOR PAGO NÃO PODE SER MAIOR QUE A DÍVIDA!";
    } else {
        // --- A) REGISTRA A ENTRADA NA TABELA CORRETA (movimentacoes) ---
        $desc_caixa = "REC. FIADO: " . $conta['CLIENTE_NOME'];
        
        // Inserimos seguindo o padrão das colunas que o seu livro_caixa.php lê
        $sql_caixa = "INSERT INTO movimentacoes 
            (TIPO, CLIENTE_FORNECEDOR, PRODUTO_NOME, QUANTIDADE, VALOR_UNITARIO, VALOR_TOTAL, FORMA_PAGAMENTO, USUARIO) 
            VALUES 
            ('ENTRADA', '{$conta['CLIENTE_NOME']}', '$desc_caixa', '1', '$valor_pago', '$valor_pago', '$forma_pgto', '$vendedor')";
        
        $conn->query($sql_caixa);

        // --- B) ATUALIZA A CONTA NO BANCO DE DADOS ---
        if ($saldo_restante <= 0) {
            $conn->query("UPDATE CONTAS_RECEBER SET VALOR_TOTAL = 0, STATUS = 'PAGO' WHERE ID = '$id_conta'");
            echo "<script>alert('PAGAMENTO TOTAL RECEBIDO!'); window.location.href='fiado.php';</script>";
        } else {
            $conn->query("UPDATE CONTAS_RECEBER SET VALOR_TOTAL = '$saldo_restante' WHERE ID = '$id_conta'");
            echo "<script>alert('PAGAMENTO PARCIAL REGISTRADO!'); window.location.href='fiado.php';</script>";
        }
    }
}

$vendedores = $conn->query("SELECT NOME FROM USUARIOS ORDER BY NOME ASC");
?>

<style>
    .receber-wrapper { padding: 20px; font-family: 'Segoe UI', sans-serif; text-transform: uppercase; }
    .card-recebimento { background: #fff; border: 1px solid #ccc; padding: 25px; max-width: 500px; margin: auto; border-radius: 5px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
    .box-saldo { background: #fff8e1; border: 1px solid #ffeeba; padding: 15px; margin-bottom: 20px; text-align: center; border-radius: 4px; }
    .valor-devedor { font-size: 28px; color: #d9534f; font-weight: bold; display: block; margin-top: 5px; }
    .campo { display: flex; flex-direction: column; margin-bottom: 15px; }
    .campo label { font-size: 10px; font-weight: bold; margin-bottom: 5px; color: #555; }
    .input-estilo { padding: 12px; border: 1px solid #999; font-weight: bold; font-size: 14px; text-transform: uppercase; background: #fff; }
    .btn-baixar { background: #28a745; color: white; border: none; padding: 15px; font-weight: bold; cursor: pointer; font-size: 14px; border-radius: 3px; width: 100%; }
</style>

<div class="receber-wrapper">
    <div class="card-recebimento">
        <div style="font-weight: bold; color: #00569e; margin-bottom: 20px; border-bottom: 2px solid #00569e; padding-bottom: 10px; text-align: center;">💰 BAIXA DE PAGAMENTO</div>

        <?php if($mensagem != ""): ?><div style="background:#f8d7da; color:#721c24; padding:10px; margin-bottom:15px; border-radius:4px; font-weight:bold; text-align:center;"><?php echo $mensagem; ?></div><?php endif; ?>

        <div class="box-saldo">
            <span style="font-size: 12px;">CLIENTE: <strong><?php echo $conta['CLIENTE_NOME']; ?></strong></span><br>
            <span style="font-size: 10px;">SALDO DEVEDOR:</span>
            <span class="valor-devedor">R$ <?php echo number_format($conta['VALOR_TOTAL'], 2, ',', '.'); ?></span>
        </div>

        <form method="POST">
            <div class="campo">
                <label>VENDEDOR</label>
                <select name="vendedor" class="input-estilo" required>
                    <option value="">-- SELECIONE --</option>
                    <?php while($v = $vendedores->fetch_assoc()): ?>
                        <option value="<?php echo $v['NOME']; ?>"><?php echo $v['NOME']; ?></option>
                    <?php endwhile; ?>
                </select>
            </div>

            <div class="campo">
                <label>FORMA DE PAGAMENTO</label>
                <select name="forma_pagamento" class="input-estilo" required>
                    <option value="DINHEIRO">DINHEIRO</option>
                    <option value="PIX">PIX</option>
                    <option value="CARTÃO">CARTÃO</option>
                </select>
            </div>

            <div class="campo">
                <label>VALOR PAGO (R$)</label>
                <input type="text" name="valor_pago" class="input-estilo" value="<?php echo number_format($conta['VALOR_TOTAL'], 2, ',', '.'); ?>" oninput="formatarMoeda(this)" required style="text-align: right; background: #e8f5e9;">
            </div>

            <button type="submit" name="btn_confirmar_pagamento" class="btn-baixar">✅ CONFIRMAR PAGAMENTO</button>
            <a href="fiado.php" style="display:block; text-align:center; margin-top:10px; color:#d9534f; text-decoration:none; font-size:11px; font-weight:bold;">CANCELAR</a>
        </form>
    </div>
</div>

<script>
function formatarMoeda(campo) {
    let v = campo.value.replace(/\D/g, "");
    if (v === "") { campo.value = ""; return; }
    v = (parseInt(v) / 100).toFixed(2).replace(".", ",").replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1.");
    campo.value = v;
}
</script>