Amigos, estou tentando gerar um relatório personalizado e estou sem ideia de como fazer isso…
Segue imagem:
O problema é saber como eu vou resgatar os campos adicionando-os já na query e resgatando no meu construtor ou no método set.
Segue o código:
// Resgatando os checkboxs marcados do formulário
String[] campos = request.getParameterValues("campos");
// Adicionando os campos no construtor
Pessoal pessoal = new Pessoal(campos[0], campos[1], campos[2], campos[3], campos[4], campos[5], campos[6], campos[7], campos[8], campos[9]);
// Buscando os dados do BD pelo método buscaPessoalPersonalizado e adicionando à lista listaPessoal
List<Pessoal> listaPessoal = pd.buscaPessoalPersonalizado(pessoal);
Método da consulta ao BD:
public List<Pessoal> buscaPessoalPersonalizado(Pessoal p) throws Exception {
open();
// Lista de pessoas
List<Pessoal> listaPessoal = new ArrayList<Pessoal>();
stmt = con
.prepareStatement("select nome = ?, matricula = ?, idFuncional = ?, lotacao = ?, simbolo = ?, doerj = ?, validade = ?, inidisp = ?, repOrigem = ?, cargoEfet = ? from pessoal");
stmt.setString(1, p.getMatricula());
stmt.setString(2, p.getIdFuncional());
stmt.setString(3, p.getLotacao());
stmt.setString(4, p.getSimbolo());
stmt.setString(5, p.getDoerj());
stmt.setString(6, p.getValidade());
stmt.setString(7, p.getInidisp());
stmt.setString(8, p.getRepOrigem());
stmt.setString(9, p.getCargoEfet());
rs = stmt.executeQuery();
while (rs.next()) {
Pessoal pessoal = new Pessoal(rs.getString("nome"),
rs.getString("matricula"), rs.getString("repOrigem"),
rs.getString("cargoEfet"), rs.getString("simbolo"),
rs.getString("doerj"), rs.getString("validade"),
rs.getString("lotacao"), rs.getString("inidisp"),
rs.getString("idFuncional"));
listaPessoal.add(pessoal);
}
close();
return listaPessoal;
}
Se caso o usuário marcar todos os checkbox, eu sei que vai funcionar… mas e se ele marcar só 2… não sei gerenciar isso. Alguém pode me ajudar?
Muito obrigado amigos.