<?php
class PrestacaoComprovante
{
    private $db;

    public function __construct()
    {
        $this->db = new Database(); // Usa a classe Database corretamente
    }

    public function salvarComprovante($dados)
    {
        error_log("Salvando comprovante: " . json_encode($dados)); // Log para depuração

        $sql = "INSERT INTO prestacao_comprovantes (id_prestacao_contas, arquivo)
                VALUES (:id_prestacao_contas, :arquivo)";
        
        $stmt = $this->db->query($sql);
        $stmt->bindValue(':id_prestacao_contas', $dados['id_prestacao_contas']);
        $stmt->bindValue(':arquivo', $dados['arquivo']);

        try {
            return $stmt->execute();
        } catch (PDOException $e) {
            error_log("Erro ao salvar comprovante: " . $e->getMessage());
            return false;
        }
    }

    public function listarPorPrestacao($id_prestacao_contas)
    {
        $sql = "SELECT * FROM prestacao_comprovantes WHERE id_prestacao_contas = :id";
        $stmt = $this->db->query($sql);
        $stmt->bindValue(':id', $id_prestacao_contas, PDO::PARAM_INT);
        $stmt->execute();
        return $stmt->fetchAll(PDO::FETCH_OBJ);
    }

    public function excluirComprovante($id)
    {
        $sql = "DELETE FROM prestacao_comprovantes WHERE id = :id";
        $stmt = $this->db->query($sql);
        $stmt->bindValue(':id', $id, PDO::PARAM_INT);
        return $stmt->execute();
    }

    public function buscarPorId($id)
    {
        $sql = "SELECT * FROM prestacao_comprovantes WHERE id = :id";
        $stmt = $this->db->query($sql);
        $stmt->bindValue(':id', $id, PDO::PARAM_INT);
        $stmt->execute();
        return $stmt->fetch(PDO::FETCH_OBJ);
    }

    public function buscarPorPrestacaoId($id_prestacao)
    {
        $query = "SELECT * FROM prestacao_comprovantes WHERE id_prestacao_contas = :id_prestacao";
        $this->db->query($query);
        $this->db->bind(':id_prestacao', $id_prestacao);
        return $this->db->resultados();
    }

    // Removido método duplicado que usava Conexao incorretamente
}
