Jump to content
Sign in to follow this  
luizcafardo

gerar relatório de funcionário

Recommended Posts

Ola pessoal, estou fazendo um projeto, onde preciso fazer uma classe para gerar relatório de funcionário, porem esta dando um erro;

 

classe DAO Funcionario: LISTAR

 public ArrayList<FuncionarioMOD> listar(FuncionarioMOD objfuncionario) {

        Connection con = null;

        Statement st = null;
        ResultSet rsFuncionario = null; 
        // aqui o banco de dados devolve um conjunto de tuplas

        ArrayList<FuncionarioMOD> arrfuncionario = new ArrayList<FuncionarioMOD>();

        con = Conexao.getConexao();

        try {

            String stm = "select * from Funcionario where ocultar_funcionario=1 ORDER BY id";

            st = con.createStatement();

            rsFuncionario = st.executeQuery(stm);
            
            System.out.println("antes do while");

            while (rsFuncionario.next()) {
                System.out.println("id: " + rsFuncionario.getInt("id"));
                arrfuncionario.add(new FuncionarioMOD(rsFuncionario.getInt("id"), rsFuncionario.getString("cargo"), rsFuncionario.getString("formacao"), rsFuncionario.getString("telefone"), rsFuncionario.getString("login"), rsFuncionario.getString("senha"), rsFuncionario.getString("email"), new LocalizacaoMOD(rsFuncionario.getString("cidade"), rsFuncionario.getString("estado"), rsFuncionario.getString("bairro"), rsFuncionario.getString("cep"), rsFuncionario.getString("endereco")), rsFuncionario.getInt("id"), rsFuncionario.getString("nome"), rsFuncionario.getString("rg"), rsFuncionario.getString("cpf"), rsFuncionario.getString("nacionalidade"), rsFuncionario.getString("sexo")));

            }
            System.out.println("depois do while");

            con.close();
        } catch (Exception e) {

            System.out.println("Erro na FuncionarioDAO: " + e.getMessage());
        }

        return arrfuncionario;

    }

Essa classe de listar funcionário estar funcionando perfeitamente...

 

 

Classe Servlet RelatorioFuncionario

public class RelatorioFuncionario extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("application/pdf");
        String path = getServletContext().getRealPath("/relatorios");
        String relJasper = path + "\\relatoriofuncionario.jasper";
        FuncionarioDAO funcDAO = new FuncionarioDAO();
        ArrayList listaFunc = funcDAO.listar();
        //torna uma lista manipulavel par o jasper
        JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(listaFunc);
        //cria um map que pode conter parametros para o relatorio
        Map parametros = new HashMap();
        try{
            JasperPrint print = JasperFillManager.fillReport(relJasper, parametros, ds);
            byte relatorioPdf[] = JasperExportManager.exportReportToPdf(print);
            response.getOutputStream().write(relatorioPdf);
             
        } catch(JRException e){
        response.getWriter().println(e.getMessage());
        }
        
                    
    }

 

o meu problema esta ali na linha ArrayList listaFunc = funcDAO.listar(); ja testei de diversas maneiras e continua dando erro, Ele não acha o meu listar que coloquei em cima, e manda criar um novo método listar

 

 

Ficarei muito grato se conseguirem me dar uma luz

Share this post


Link to post
Share on other sites

A assinatura do método pede um objeto do tipo FuncionarioMOD como argumento. Você não está passando nenhum.

 

 

public ArrayList<FuncionarioMOD> listar(FuncionarioMOD objfuncionario)

 

Pergunta: se é um select all do banco, qual a necessidade de repassar um objeto como argumento?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By TaisStream
      Como configurar essa query com inner join, no arquivo .xml?
      Me ajudem pf eu comecei mas estou perdida,  pesquisei já vi algo de /root... mas minha query esta diferente, nao sei se falta algo
       
       
      QUERY ATUAL:
      set mapreduce.job.queuename=low_relatorios; 
      set mapreduce.job.max.split.locations=100;
      SELECT a.num_msisdn,
             a.max_date
      FROM fact.dw_f_rcrg_gems_rate_subsc t
      INNER JOIN
        (SELECT num_msisdn,
                MAX(dat_operacao) AS max_date
         FROM fact.dw_f_rcrg_gems_rate_subsc
         WHERE (ref_date)>=$startdate
           AND ref_date<=$finaldate
           AND ide_plano_tarifario_atual IN (48,
                                             50,
                                             51,
                                             52,
                                             53,
                                             59,
                                             61,
                                             62,
                                             63,
                                             67,
                                             73,
                                             74)
         GROUP BY num_msisdn)a ON a.num_msisdn = t.num_msisdn
      AND a.max_date = t.dat_operacao
      WHERE ref_date>=$startdate
      AND ref_date<=$finaldate;
       
      QUERY CONFIGURANDO NO XML: 
       
          <value><![CDATA[[
      INSERT
              overwrite TABLE fact.dw_f_rcrg_gems_rate_subsc t 
              (
                      a.num_msisdn,
                      a.max_date
              )
      (SELECT
          INNER JOIN
      SELECT      
              MAX(dat_operacao) AS max_date;
      FROM fact.dw_f_rcrg_gems_rate_subsc) a
         WHERE (ref_date)>='$startdate'
           AND ref_date<=$'finaldate'
           AND ide_plano_tarifario_atual IN (48,
                                             50,
                                             51,
                                             52,
                                             53,
                                             59,
                                             61,
                                             62,
                                             63,
                                             67,
                                             73,
                                             74)
         GROUP BY num_msisdn)a ON a.num_msisdn = t.num_msisdn
                  AND a.max_date = t.dat_operacao
      WHERE ref_date>='$startdate'
      AND ref_date<=$finaldate;]]>
      </value>
       
       
      Poderiam me ajudar por favor, sou estagiario na area e ainda estou aprendendo.
    • By Lucas Galvanini
      Quais frameworks vocês já utilizaram para desenvolver pra Raspberry pi?
      Algum deles é Java?
       
      Fiquei sabendo recentemente de um framework gratuito pra Raspberry chamado TotalCross (www.totalcross.com)
      Me disseram que é bem fácil de usar e tem um footprint bem otimizado.
    • By michael450
      Senhores, boa tarde.
       
      Estou com um probleminha... rss', preciso fazer a listagem de uma função da biblioteca "SPED-NFe"   na qual consulto quais as NFe que emitiram contra meu CNPJ, porém o ele executa toda a função e depois me trás o resultado, eu gostaria de trazer o resultado instantaneamente, como se fosse uma atualização segundo a segundo.
       
       
      Essas informações não são salvas em DB, é apenas para consulta.
      Se alguém puder ajudar serei muito grato,
       
      Abraço.
       
      Michael Douglas
    • By daniellecd
      Bom dia pessoal,
      Estou a desenvolver um relatório utilizando o iReport, mas deparei com um problema que não consigo resolver.
      Monto todo o relatório e coloco a tabela na sessão DETAIL. Faço o dataset, coloco o select, faço o preview do resultado do select, 32 registos, ok!
      Mas quando faço o preview do relatório, o mesmo repete a tabela na mesma quantidade de registros, o que faz com o que um relatório de 1 folha, tenha 32 folhas com a mesma tabela.
      Como faço para resolver?
      Poderiam me ajudar?
      Desde já agradeço imensamente
    • By MateusOFCZ
      Olá, estou desenvolvendo um projeto de registro de clientes em java no netbeans e usando o MySQL Workbench e Xampp, gostaria de saber se é possível fazer com que o programa fique verificando se está conectado com o banco de dados, e caso não esteja ele mostra uma mensagem pedindo para o usuário se conectar em uma rede, caso ele se conecte o programa irá esconder essa mensagem e funcionará normalmente.

      Eu consegui fazer com que ele mostre se está conectado ou não, porém se eu desligar o servidor ele não atualiza mostrando que está offline, ele continua como online...
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.