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

$mensagem = "";

// 1. BUSCA OS MOTIVOS CADASTRADOS (VALOR = 0)
$motivos_cadastrados = $conn->query("SELECT DISTINCT DESCRICAO FROM SAIDAS WHERE VALOR = 0 ORDER BY DESCRICAO ASC");

// 2. BUSCA VENDEDORES
$vendedores = $conn->query("SELECT NOME FROM USUARIOS ORDER BY NOME ASC");

// 3. LÓGICA PARA REGISTRAR A MOVIMENTAÇÃO
if (isset($_POST['btn_confirmar_saida'])) {
    $descricao = $_POST['motivo_selecionado'];
    $valor = str_replace(',', '.', str_replace('.', '', $_POST['valor'])); 
    $vendedor = $_POST['vendedor'];
    $meio_pagamento = $_POST['meio_pagamento'];

    if ($valor > 0) {
        // REGISTRA NA TABELA DE SAÍDAS (Incluímos o meio de pagamento na descrição para salvar o registro completo)
        $desc_com_pagamento = $descricao . " [" . $meio_pagamento . "]";
        $sql = "INSERT INTO SAIDAS (DESCRICAO, VALOR, VENDEDOR) VALUES ('$desc_com_pagamento', '$valor', '$vendedor')";
        
        if ($conn->query($sql)) {
            // SOLUÇÃO PARA O LIVRO CAIXA:
            $desc_caixa = "SAÍDA: " . $descricao . " (VEND: $vendedor) [MEIO: $meio_pagamento]";
            $conn->query("INSERT INTO LIVRO_CAIXA (TIPO, DESCRICAO, VALOR) VALUES ('SAÍDA', '$desc_caixa', '$valor')");
            
            $mensagem = "SAÍDA REGISTRADA COM SUCESSO!";
        }
    } else {
        $mensagem = "ERRO: VALOR INVÁLIDO!";
    }
}

$hoje = date('Y-m-d');
// Buscamos os registros para a tabela abaixo
$movimentacoes = $conn->query("SELECT * FROM SAIDAS WHERE DATE(DATA_SAIDA) = '$hoje' AND VALOR > 0 ORDER BY DATA_SAIDA DESC");
?>

<style>
    .op-saida-wrapper { padding: 20px; text-transform: uppercase; font-family: 'Segoe UI', sans-serif; }
    .box-operacao { background: #fffcfc; border: 1px solid #f5c6cb; padding: 20px; border-radius: 5px; margin-bottom: 20px; }
    .form-linha { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr; gap: 10px; align-items: flex-end; }
    .input-pdv { padding: 10px; border: 1px solid #ccc; background: #fff8e1; font-weight: bold; text-transform: uppercase; font-size: 11px; }
    .btn-confirmar { background: #d9534f; color: white; border: none; padding: 11px; font-weight: bold; cursor: pointer; height: 38px; }
    .tabela-movimentacao { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 11px; }
    .tabela-movimentacao th { background: #333; color: #fff; padding: 10px; text-align: left; }
    .tabela-movimentacao td { padding: 10px; border-bottom: 1px solid #eee; }
</style>

<div class="op-saida-wrapper">
    <div class="box-operacao">
        <div style="font-weight: bold; color: #d9534f; margin-bottom: 15px;">💸 LANÇAR SAÍDA DE DINHEIRO</div>

        <?php if($mensagem != ""): ?>
            <div style="background: #d4edda; color: #155724; padding: 10px; margin-bottom: 15px; font-weight: bold; border: 1px solid #c3e6cb; text-align: center;"><?php echo $mensagem; ?></div>
        <?php endif; ?>

        <form method="POST" class="form-linha">
            <div style="display:flex; flex-direction:column;">
                <label style="font-size:10px; font-weight:bold;">MOTIVO</label>
                <select name="motivo_selecionado" class="input-pdv" required>
                    <option value="">-- SELECIONE --</option>
                    <?php while($m = $motivos_cadastrados->fetch_assoc()): ?>
                        <option value="<?php echo $m['DESCRICAO']; ?>"><?php echo $m['DESCRICAO']; ?></option>
                    <?php endwhile; ?>
                </select>
            </div>

            <div style="display:flex; flex-direction:column;">
                <label style="font-size:10px; font-weight:bold;">VENDEDOR</label>
                <select name="vendedor" class="input-pdv" required>
                    <?php while($v = $vendedores->fetch_assoc()): ?>
                        <option value="<?php echo $v['NOME']; ?>"><?php echo $v['NOME']; ?></option>
                    <?php endwhile; ?>
                </select>
            </div>

            <div style="display:flex; flex-direction:column;">
                <label style="font-size:10px; font-weight:bold;">FORMA PGTO</label>
                <select name="meio_pagamento" class="input-pdv" required>
                    <option value="DINHEIRO">DINHEIRO</option>
                    <option value="PIX">PIX</option>
                    <option value="DÉBITO">DÉBITO</option>
                </select>
            </div>

            <div style="display:flex; flex-direction:column;">
                <label style="font-size:10px; font-weight:bold;">VALOR (R$)</label>
                <input type="text" name="valor" class="input-pdv" placeholder="0,00" oninput="formatarMoeda(this)" required style="text-align: right;">
            </div>

            <button type="submit" name="btn_confirmar_saida" class="btn-confirmar">✅ CONFIRMAR</button>
        </form>
    </div>

    <table class="tabela-movimentacao">
        <thead>
            <tr>
                <th>HORA</th>
                <th>VENDEDOR</th>
                <th>MOTIVO</th>
                <th>PAGAMENTO</th> <th style="text-align: right;">VALOR PAGO</th>
            </tr>
        </thead>
        <tbody>
            <?php while($row = $movimentacoes->fetch_assoc()): 
                // Extraímos o meio de pagamento da descrição se ele existir entre colchetes
                $exibir_motivo = $row['DESCRICAO'];
                $exibir_pagamento = "DINHEIRO"; // Padrão caso não encontre
                
                if (preg_match('/\[(.*?)\]/', $row['DESCRICAO'], $match)) {
                    $exibir_pagamento = $match[1];
                    $exibir_motivo = str_replace($match[0], '', $row['DESCRICAO']);
                }
            ?>
                <tr style="background: #fff5f5;">
                    <td><?php echo date('H:i', strtotime($row['DATA_SAIDA'])); ?></td>
                    <td><?php echo $row['VENDEDOR']; ?></td>
                    <td><?php echo trim($exibir_motivo); ?></td>
                    <td style="font-weight: bold; color: #00569e;"><?php echo $exibir_pagamento; ?></td> <td style="text-align: right; font-weight: bold; color: #d9534f;">R$ <?php echo number_format($row['VALOR'], 2, ',', '.'); ?></td>
                </tr>
            <?php endwhile; ?>
        </tbody>
    </table>
</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>