<?php  session_start();
if (!isset($_SESSION['id'])) { header("Location: ../index/index.php"); exit(); }
?>


<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Gerenciador de Pedidos para NF</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        body { background-color: #f4f7f6; }
        .card { border-radius: 15px; border: none; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
        .btn-action { border-radius: 20px; transition: 0.3s; }
        .btn-action:hover { transform: scale(1.05); }
        .badge-tipo { font-size: 0.8em; padding: 5px 10px; }
    </style>
</head>
<body>

<div class="container py-5">
    <div class="d-flex justify-content-between align-items-center mb-4">
        <div>
            <h2 class="text-success fw-bold">Pedidos Prontos para NF</h2>
            <p class="text-muted">Selecione os pedidos para gerar a Nota Fiscal</p>
        </div>
        <button onclick="processarLote()" class="btn btn-outline-success btn-sm rounded-pill">
            <i class="fa-solid fa-file-invoice-dollar"></i> Faturar Todos
        </button>
    </div>

    <div class="card">
        <div class="card-body p-0">
            <table class="table table-hover align-middle mb-0">
                <thead class="table-light">
                    <tr>
                        <th class="ps-4">Cód. Pedido</th>
                        <th>Cliente</th>
                        <th>Data Pedido</th>
                        <th>Tipo</th>
                        <th>Total</th>
                        <th class="text-center">Ações</th>
                    </tr>
                </thead>
                <tbody>
                    <?php
                    include '../configuracao/conexao.php';
                    
                    // Seleciona pedidos ativos e em aberto
                    $query = "SELECT * FROM ped_cab WHERE ped_cab_status = 'P' ORDER BY codigo DESC";
                    $result = $mysqli->query($query);
                    
                    if ($result->num_rows > 0) {
                        while ($row = $result->fetch_assoc()) {
                            $data = date('d/m/Y', strtotime($row['data']));
                            $tipo = ($row['ped_cab_c_v'] == 'S') ? 
                                '<span class="badge bg-info badge-tipo">Saída</span>' : 
                                '<span class="badge bg-warning text-dark badge-tipo">Entrada</span>';

                            echo "<tr>
                                    <td class='ps-4 fw-bold text-secondary'>#{$row['codigo']}</td>
                                    <td class='fw-bold'>{$row['ped_cab_nome']}</td>
                                    <td>{$data}</td>
                                    <td>{$tipo}</td>
                                    <td>R$ {$row['ped_cab_tot_ped']}</td>
                                    <td class='text-center'>
                                        <button onclick='converterUm({$row['codigo']})' class='btn btn-primary btn-sm btn-action'>
                                            <i class='fa-solid fa-receipt me-1'></i> Gerar NF
                                        </button>
                                    </td>
                                  </tr>";
                        }
                    } else {
                        echo "<tr><td colspan='6' class='text-center py-5 text-muted'>Nenhum pedido pendente de faturamento.</td></tr>";
                    }
                    ?>
                </tbody>
            </table>
        </div>
    </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
// Função para converter UM pedido específico
function converterUm(id) {
    Swal.fire({
        title: 'Gerar Nota Fiscal?',
        text: "O pedido #" + id + " será faturado e enviado para o módulo de NF.",
        icon: 'question',
        showCancelButton: true,
        confirmButtonColor: '#0d6efd',
        confirmButtonText: 'Sim, gerar NF!',
        cancelButtonText: 'Cancelar'
    }).then((result) => {
        if (result.isConfirmed) {
            executarProcesso(id);
        }
    });
}

// Função para converter TODOS
function processarLote() {
    Swal.fire({
        title: 'Faturar TODOS os pedidos?',
        text: "Esta ação gerará notas fiscais para todos os pedidos da lista.",
        icon: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#198754',
        confirmButtonText: 'Sim, faturar tudo!',
    }).then((result) => {
        if (result.isConfirmed) {
            executarProcesso('todos');
        }
    });
}

function executarProcesso(target) {
    Swal.fire({ 
        title: 'Gerando Nota Fiscal...', 
        allowOutsideClick: false,
        didOpen: () => { Swal.showLoading() } 
    });

    const formData = new FormData();
    formData.append('id', target);

    // Note que aqui chamamos o arquivo que faz a conversão para NF
    fetch('converter.php', { method: 'POST', body: formData })
        .then(r => r.json())
        .then(data => {
            if(data.success) {
                Swal.fire('Sucesso!', data.message, 'success').then(() => location.reload());
            } else {
                Swal.fire('Erro', data.message, 'error');
            }
        })
        .catch(error => {
            Swal.fire('Erro', 'Ocorreu uma falha na comunicação com o servidor.', 'error');
        });
}
</script>
</body>
</html>