<?php
/**
 * ARQUIVO: excluir_faturamento.php
 * DESCRIÇÃO: Remove título e parcelas se o status for 'A'.
 */
include '../config.php';
require_once "../configuracao/conexao.php";

header('Content-Type: application/json');

$id = $_POST['codigo'] ?? '';

if (empty($id)) {
    echo json_encode(['status' => 'erro', 'message' => 'ID não fornecido.']);
    exit;
}

try {
    $mysqli->begin_transaction();

    // Validação rigorosa: só apaga se o status for 'A'
    $stmtCheck = $mysqli->prepare("SELECT reg_c140_status FROM reg_c140 WHERE codigo = ?");
    $stmtCheck->bind_param("i", $id);
    $stmtCheck->execute();
    $status = $stmtCheck->get_result()->fetch_column();

    if ($status !== 'A') {
        throw new Exception("Operação negada: Apenas títulos em ABERTO podem ser excluídos.");
    }

    // Remove parcelas filhas primeiro (Integridade)
    $stmtDelFilhos = $mysqli->prepare("DELETE FROM reg_c141 WHERE reg_c141_c140_origem = ?");
    $stmtDelFilhos->bind_param("i", $id);
    $stmtDelFilhos->execute();

    // Remove o cabeçalho
    $stmtDelPai = $mysqli->prepare("DELETE FROM reg_c140 WHERE codigo = ?");
    $stmtDelPai->bind_param("i", $id);
    $stmtDelPai->execute();

    $mysqli->commit();
    echo json_encode(['status' => 'sucesso', 'message' => 'Título e parcelas removidos com sucesso.']);

} catch (Exception $e) {
    $mysqli->rollback();
    echo json_encode(['status' => 'erro', 'message' => $e->getMessage()]);
}
?>