<?php
require_once __DIR__ . '/../auth/verifica.php';
require_once __DIR__ . "/../config/conexao.php";

$conta_id = $_GET['conta_id'];

// 🔒 VERIFICA SE JÁ EXISTE RECIBO
$sql_check = "SELECT id FROM recibos WHERE conta_id = :conta";
$stmt = $pdo->prepare($sql_check);
$stmt->bindValue(":conta", $conta_id);
$stmt->execute();

if($stmt->rowCount() > 0){
    $recibo = $stmt->fetch();
    header("Location: visualizar_recibo.php?id=".$recibo['id']);
    exit;
}

// Buscar dados
$sql = "SELECT c.*, cli.nome as contratante, cli.rg, cli.nome_crianca
        FROM contas_receber c
        JOIN clientes cli ON c.cliente_id = cli.id
        WHERE c.id = :id";

$stmt = $pdo->prepare($sql);
$stmt->bindValue(":id", $conta_id);
$stmt->execute();
$dados = $stmt->fetch(PDO::FETCH_ASSOC);

// 🔢 NUMERAÇÃO PROFISSIONAL
$sql_num = "SELECT MAX(id) as max FROM recibos";
$res = $pdo->query($sql_num)->fetch();
$numero = $res['max'] + 1;

$numero_formatado = "REC-" . date("Y") . "-" . str_pad($numero, 6, "0", STR_PAD_LEFT);

// 📅 MÊS EM PORTUGUÊS
$meses = [
    "01"=>"Janeiro","02"=>"Fevereiro","03"=>"Março","04"=>"Abril",
    "05"=>"Maio","06"=>"Junho","07"=>"Julho","08"=>"Agosto",
    "09"=>"Setembro","10"=>"Outubro","11"=>"Novembro","12"=>"Dezembro"
];

$mes = $meses[date("m", strtotime($dados['data_pagamento']))];

// Inserir
$sql_insert = "INSERT INTO recibos 
(numero_recibo, conta_id, cliente_id, contratante, rg, crianca, mes, valor, data_pagamento)
VALUES 
(:numero, :conta, :cliente, :contratante, :rg, :crianca, :mes, :valor, :data)";

$stmt = $pdo->prepare($sql_insert);
$stmt->execute([
    ":numero" => $numero_formatado,
    ":conta" => $conta_id,
    ":cliente" => $dados['cliente_id'],
    ":contratante" => $dados['contratante'],
    ":rg" => $dados['rg'],
    ":crianca" => $dados['nome_crianca'],
    ":mes" => $mes,
    ":valor" => $dados['valor'],
    ":data" => $dados['data_pagamento']
]);

header("Location: visualizar_recibo.php?id=" . $pdo->lastInsertId());