<?php
// 1. CONFIGURAÇÕES INICIAIS E ERROS
ini_set('display_errors', 1);
error_reporting(E_ALL);

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

$mensagem = "";

// --- LÓGICA DE PROCESSAMENTO POST ---
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $cliente_id = intval($_POST['cliente_id_hidden'] ?? 0);
    
    if (isset($_POST['btn_excluir_pasta'])) {
        if ($conn->query("DELETE FROM fiado WHERE CLIENTE_ID = $cliente_id")) {
            $mensagem = "PASTA EXCLUÍDA COM SUCESSO!";
        }
    } else {
        $vendedor = mysqli_real_escape_string($conn, $_POST['vendedor_rec'] ?? '');
        $metodo_pg = mysqli_real_escape_string($conn, $_POST['metodo_rec'] ?? '');
        
        $res_nome = $conn->query("SELECT CLIENTE_NOME FROM fiado WHERE CLIENTE_ID = $cliente_id LIMIT 1");
        $dados_c = $res_nome->fetch_assoc();
        $nome_real_esc = mysqli_real_escape_string($conn, $dados_c['CLIENTE_NOME'] ?? "CLIENTE $cliente_id");

        // LÓGICA: PAGAMENTO PARCIAL
        if (isset($_POST['btn_baixa_parcial'])) {
            $valor_pago = floatval(str_replace(',', '.', $_POST['valor_parcial'] ?? 0));
            if ($valor_pago > 0) {
                $obs = "PAGAM. PARCIAL FIADO";
                // 1. Insere no caixa (movimentacoes)
                $sql_caixa = "INSERT INTO movimentacoes (TIPO, CLIENTE_FORNECEDOR, PRODUTO_NOME, QUANTIDADE, VALOR_UNITARIO, VALOR_TOTAL, FORMA_PAGAMENTO, USUARIO) 
                              VALUES ('ENTRADA', '$nome_real_esc', '$obs', '1', '$valor_pago', '$valor_pago', '$metodo_pg', '$vendedor')";
                
                if ($conn->query($sql_caixa)) {
                    // 2. Insere um registro negativo no fiado para abater a dívida
                    $valor_negativo = $valor_pago * -1;
                    $sql_fiado = "INSERT INTO fiado (CLIENTE_ID, CLIENTE_NOME, PRODUTO, VALOR, DATA_VENDA) 
                                  VALUES ('$cliente_id', '$nome_real_esc', 'ABATIMENTO PARCIAL', '$valor_negativo', NOW())";
                    $conn->query($sql_fiado);
                    $mensagem = "PAGAMENTO PARCIAL REGISTRADO!";
                }
            }
        }

        // LÓGICA: QUITAÇÃO TOTAL
        if (isset($_POST['btn_baixa_total'])) {
            $res = $conn->query("SELECT SUM(VALOR) as TOTAL, GROUP_CONCAT(PRODUTO SEPARATOR ' + ') as PRODS FROM fiado WHERE CLIENTE_ID = $cliente_id");
            $dados = $res->fetch_assoc();
            if ($dados && $dados['TOTAL'] > 0) {
                $valor = $dados['TOTAL'];
                $obs = "QUITAÇÃO TOTAL FIADO: " . $dados['PRODS'];
                $sql_caixa = "INSERT INTO movimentacoes (TIPO, CLIENTE_FORNECEDOR, PRODUTO_NOME, QUANTIDADE, VALOR_UNITARIO, VALOR_TOTAL, FORMA_PAGAMENTO, USUARIO) 
                              VALUES ('ENTRADA', '$nome_real_esc', '$obs', '1', '$valor', '$valor', '$metodo_pg', '$vendedor')";
                if ($conn->query($sql_caixa)) {
                    $conn->query("DELETE FROM fiado WHERE CLIENTE_ID = $cliente_id");
                    $mensagem = "FICHA QUITADA COM SUCESSO!";
                }
            }
        }
    }
}

// --- BUSCA DE DADOS ---
$lista = $conn->query("SELECT CLIENTE_ID, CLIENTE_NOME, SUM(VALOR) as VALOR_TOTAL, MAX(DATA_VENDA) as ULTIMA_COMPRA FROM fiado GROUP BY CLIENTE_ID ORDER BY CLIENTE_NOME ASC");
$total_geral = $conn->query("SELECT SUM(VALOR) as t FROM fiado")->fetch_assoc();
$devedores_foto = [];
if($lista) {
    while($d = $lista->fetch_assoc()) { $devedores_foto[] = $d; }
    $lista->data_seek(0); 
}
?>

<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>

<style>
    .fiado-wrapper { background: #f5f5f5; padding: 20px; font-family: 'Segoe UI', Tahoma, sans-serif; text-transform: uppercase; }
    .card-resumo { background: #0078d7; color: #fff; padding: 15px; border-radius: 4px; text-align: center; margin-bottom: 30px; box-shadow: 0 2px 5px rgba(0,0,0,0.2); }
    .explorer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 20px; }
    .folder-item { display: flex; flex-direction: column; align-items: center; cursor: pointer; padding: 10px; text-align: center; }
    .folder-icon { width: 64px; height: 64px; }
    .folder-name { font-size: 11px; font-weight: bold; color: #333; margin-top: 5px; }
    .folder-value { font-size: 10px; color: #d32f2f; }
    
    #area-foto-geral { position: absolute; left: -9999px; top: 0; background: white; width: 500px; padding: 20px; border: 2px solid #0078d7; }
    .foto-header { background: #0078d7; color: white; text-align: center; padding: 15px; margin-bottom: 15px; }
    .foto-table { width: 100%; border-collapse: collapse; }
    .foto-table th { background: #eee; padding: 10px; border: 1px solid #ccc; text-align: left; font-size: 12px; }
    .foto-table td { padding: 10px; border: 1px solid #ccc; font-size: 13px; font-weight: bold; }
    
    .btn-whatsapp-geral { background: #25D366; color: white; border: none; padding: 10px 20px; font-weight: bold; border-radius: 4px; cursor: pointer; margin-top: 10px; display: inline-flex; align-items: center; gap: 8px; }
    .overlay { display: none; position: fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index: 999; }
    .folder-details { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; z-index: 1000; width: 90%; max-width: 500px; border-radius: 8px; overflow: hidden; }
    .details-header { background: #0078d7; color: white; padding: 10px 15px; display: flex; justify-content: space-between; }
    .details-body { padding: 20px; max-height: 70vh; overflow-y: auto; }
    .venda-item-box { background: #fffef0; padding: 10px; border: 1px solid #ddd; margin-bottom: 8px; border-left: 4px solid #FFA000; }
    .btn-t { background: #28a745; color: #fff; border: none; padding: 12px; cursor: pointer; font-weight: bold; width: 100%; border-radius: 4px; margin-top: 5px; }
    .btn-p { background: #17a2b8; color: #fff; border: none; padding: 12px; cursor: pointer; font-weight: bold; width: 100%; border-radius: 4px; margin-top: 5px; }
    .select-estilo, .input-estilo { padding: 10px; width: 100%; margin-bottom: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
</style>

<div class="fiado-wrapper">
    <?php if($mensagem): ?>
        <div style="background: #d4edda; color: #155724; padding: 15px; margin-bottom: 20px; text-align: center;"><?php echo $mensagem; ?></div>
    <?php endif; ?>

    <div class="card-resumo">
        <span>SALDO TOTAL DEVEDOR</span>
        <strong style="font-size: 26px; display: block;">R$ <?php echo number_format($total_geral['t'] ?? 0, 2, ',', '.'); ?></strong>
        <button onclick="gerarFotoDevedores()" class="btn-whatsapp-geral">
            📲 COMPARTILHAR LISTA COMPLETA
        </button>
    </div>

    <div id="area-foto-geral">
        <div class="foto-header">
            <h2 style="margin:0;">TJ PRESENTES - LISTA DE DEVEDORES</h2>
            <small>DATA: <?php echo date('d/m/Y H:i'); ?></small>
        </div>
        <table class="foto-table">
            <thead>
                <tr>
                    <th>CLIENTE</th>
                    <th style="text-align: right;">VALOR DEVE</th>
                </tr>
            </thead>
            <tbody>
                <?php foreach($devedores_foto as $dev): ?>
                <tr>
                    <td><?php echo strtoupper($dev['CLIENTE_NOME']); ?></td>
                    <td style="text-align: right; color: #d32f2f;">R$ <?php echo number_format($dev['VALOR_TOTAL'], 2, ',', '.'); ?></td>
                </tr>
                <?php endforeach; ?>
                <tr style="background: #0078d7; color: white;">
                    <td>TOTAL GERAL</td>
                    <td style="text-align: right;">R$ <?php echo number_format($total_geral['t'] ?? 0, 2, ',', '.'); ?></td>
                </tr>
            </tbody>
        </table>
    </div>

    <div class="explorer-grid">
        <?php if($lista && $lista->num_rows > 0): while($row = $lista->fetch_assoc()): 
            $modalId = "modal_" . $row['CLIENTE_ID'];
        ?>
            <div class="folder-item" onclick="openFolder('<?php echo $modalId; ?>')">
                <div class="folder-icon">
                    <svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg"><path d="M40 12H24l-4-4H8c-2.21 0-4 1.79-4 4v24c0 2.21 1.79 4 4 4h32c2.21 0 4-1.79 4-4V16c0-2.21-1.79-4-4-4z" fill="#FFA000"/></svg>
                </div>
                <div class="folder-name"><?php echo $row['CLIENTE_NOME']; ?></div>
                <div class="folder-value">R$ <?php echo number_format($row['VALOR_TOTAL'], 2, ',', '.'); ?></div>
            </div>

            <div class="overlay" id="overlay_<?php echo $modalId; ?>" onclick="closeFolder('<?php echo $modalId; ?>')"></div>
            <div class="folder-details" id="<?php echo $modalId; ?>">
                <div class="details-header">
                    <span>FICHA: <?php echo $row['CLIENTE_NOME']; ?></span>
                    <button onclick="closeFolder('<?php echo $modalId; ?>')" style="background:none; border:none; color:white; font-size:20px; cursor:pointer;">&times;</button>
                </div>
                <div class="details-body">
                    <div style="margin-bottom: 15px;">
                        <?php 
                        $c_id = $row['CLIENTE_ID'];
                        $vendas = $conn->query("SELECT DATA_VENDA, PRODUTO, VALOR FROM fiado WHERE CLIENTE_ID = $c_id ORDER BY DATA_VENDA DESC");
                        while($v = $vendas->fetch_assoc()): ?>
                            <div class="venda-item-box">
                                <small style="color: #0078d7;"><?php echo date('d/m/Y', strtotime($v['DATA_VENDA'])); ?></small><br>
                                <strong><?php echo $v['PRODUTO']; ?></strong><br>
                                <span style="color:<?php echo ($v['VALOR'] < 0 ? 'green' : 'red'); ?>;">R$ <?php echo number_format($v['VALOR'], 2, ',', '.'); ?></span>
                            </div>
                        <?php endwhile; ?>
                    </div>
                    
                    <form method="POST">
                        <input type="hidden" name="cliente_id_hidden" value="<?php echo $row['CLIENTE_ID']; ?>">
                        
                        <label style="font-size:10px;">VENDEDOR:</label>
                        <select name="vendedor_rec" class="select-estilo" required>
                            <option value="">-- SELECIONE --</option>
                            <?php 
                            $vendedores = $conn->query("SELECT NOME FROM usuarios"); 
                            while($v = $vendedores->fetch_assoc()) echo "<option value='{$v['NOME']}'>{$v['NOME']}</option>"; 
                            ?>
                        </select>

                        <label style="font-size:10px;">FORMA DE PAGAMENTO:</label>
                        <select name="metodo_rec" class="select-estilo">
                            <option value="DINHEIRO">DINHEIRO</option>
                            <option value="PIX">PIX</option>
                        </select>

                        <hr style="border: 0; border-top: 1px solid #eee; margin: 15px 0;">

                        <label style="font-size:10px;">VALOR PARA PAGAMENTO PARCIAL:</label>
                        <input type="number" step="0.01" name="valor_parcial" class="input-estilo" placeholder="0,00">
                        <button type="submit" name="btn_baixa_parcial" class="btn-p">PAGAR SOMENTE ESTE VALOR</button>
                        
                        <div style="margin-top: 10px;">
                             <button type="submit" name="btn_baixa_total" class="btn-t" onclick="return confirm('Deseja quitar toda a dívida?')">QUITAR TUDO (R$ <?php echo number_format($row['VALOR_TOTAL'], 2, ',', '.'); ?>)</button>
                        </div>
                    </form>
                </div>
            </div>
        <?php endwhile; endif; ?>
    </div>
</div>

<script>
function openFolder(id) {
    document.getElementById(id).style.display = 'block';
    document.getElementById('overlay_' + id).style.display = 'block';
}

function closeFolder(id) {
    document.getElementById(id).style.display = 'none';
    document.getElementById('overlay_' + id).style.display = 'none';
}

function gerarFotoDevedores() {
    const area = document.getElementById('area-foto-geral');
    html2canvas(area, { scale: 2 }).then(canvas => {
        canvas.toBlob(function(blob) {
            const file = new File([blob], "lista_devedores.png", { type: "image/png" });
            if (navigator.canShare && navigator.canShare({ files: [file] })) {
                navigator.share({
                    files: [file],
                    title: 'Lista de Devedores',
                    text: 'Segue resumo de todos que devem na TJ Presentes.'
                }).catch(error => console.log('Erro ao compartilhar:', error));
            } else {
                const link = document.createElement('a');
                link.download = 'lista_devedores.png';
                link.href = canvas.toDataURL("image/png");
                link.click();
                alert("Imagem gerada! Agora você pode enviar o arquivo baixado.");
            }
        }, 'image/png');
    });
}
</script>