public function onReport($param)
 {
     $r = new Report();
     $fonteCabecalho = $r->createFont("Arial", 8, "000000", "FFFFFF");
     $fonteCabecalho->setBold();
     $fonte = $r->createFont("Arial", 8, "000000", "FFFFFF");
     $r->setFont($fonteCabecalho);
     $r->write('Tribunal Regional Eleitoral do Rio Grande do Norte');
     $r->write('Secretaria de Administração e Orçamento');
     $r->write('Planejamento e Gestão Orçamentária do TRE/RN');
     $r->write(' ');
     $r->centerText();
     $r->write("Solicitações de materiais permanentes por unidade");
     TTransaction::open('app');
     $conexao = TTransaction::get();
     $sql = "SELECT\n  system_user.name unidade,\n  tipo_material_permanente.nome tipo_material_permanente_nome,\n  material_permanente.descricao,\n  material_permanente.justificativa,\n  material_permanente.quantidade,\n  material_permanente.custo\nFROM \n  material_permanente, tipo_material_permanente, system_user\nWHERE\n  tipo_material_permanente_id= tipo_material_permanente.id AND\n  system_user_id = system_user.id\nORDER BY\n  system_user.name, tipo_material_permanente.nome";
     $solicitacoes = $conexao->query($sql);
     $ultima_unidade = "";
     foreach ($solicitacoes as $solicitacao) {
         if ($ultima_unidade != $solicitacao["unidade"]) {
             $ultima_unidade = $solicitacao["unidade"];
             $r->setFont($fonteCabecalho);
             $r->leftText();
             $r->write(' ');
             $r->write($ultima_unidade);
             $r->createTable(array(4, 4.8, 4.8, 1.7, 1.7));
             $r->addTableRow(array("Tipo do material", "Descrição", "Justificativa", "Quantidade", "Custo"), array("L", "L", "L", "R", "R"));
             $r->setFont($fonte);
         }
         $r->addTableRow(array($solicitacao["tipo_material_permanente_nome"], $solicitacao["descricao"], $solicitacao["justificativa"], $solicitacao["quantidade"], $solicitacao["custo"]), array("L", "L", "L", "R", "R"));
     }
     TTransaction::close();
     $md5_userid = md5(TSession::getValue("userid"));
     $r->save("./app/output/tipo_material_permanente_{$md5_userid}.rtf");
     parent::openFile("./app/output/tipo_material_permanente_{$md5_userid}.rtf");
 }