Bom dia Senhores,
Antes de criar esse topico eu pesquisei e não consegui encontrar uma solução.
Essa semana é a primeira que estou trabalhando em cima do Java WEB, segui alguns tutoriais e cheguei no JSF que atende a minha necessidade do projeto.
Estou precisando fazer uma pagina onde passo o codigo do funcionario e ele gera uma lista com as horas que eles trabalharam.
Já consegui passando o valor o valor direto no sql.
Porem preciso pegar o valor do codigo do funcionario e passar como filtro para o banco.
Então entra a ajuda de vcs! :)
segue minha classe DAO:public class HorasDAO {
private Conexao conexao;
public HorasDAO(){
if (conexao == null){
conexao = new Conexao();
}
}
public List<Horas> carrega(){ // carrega as informações do banco
idusuario = Integer.parseInt(Id); //não sei onde buscar esse valor para filtrar o select
List<Horas> hora = new ArrayList<Horas>();
try{
String sql = " SELECT * FROM tabcontrole WHERE cod_func = ? "
+ " ORDER BY data_cont ";
PreparedStatement ps = conexao.getConn().prepareStatement(sql);
ps.setInt(1, idusuario);
ResultSet rs = ps.executeQuery();
while (rs.next()){
Horas hr = new Horas();
hr.setData(rs.getDate("data_cont"));
hr.setEntrada(rs.getTime("entrada"));
hr.setAlmoco(rs.getTime("almoco"));
hr.setRetorno(rs.getTime("volta"));
hr.setSaida(rs.getTime("saida"));
hr.setAdicional(rs.getTime("adicional"));
hr.setJustificativa(rs.getInt("idbanco"));
hr.setObs(rs.getString("obs"));
hora.add(hr);
}
}catch(SQLException e){
e.printStackTrace();
}finally{
conexao.fecharConexao();
}
return hora;
}
Esse é o xhtml da pagina inicial, como pegar o parametro do inputText e passar no filtro do select?
<h:head>
<title>Relatorio de Horas</title>
</h:head>
<h:body>
<h:form>
<h:outputLabel value="Informe o codigo do usuario:"/>
<h:inputText id="id" value="#{horasDAO.id}"/>
<h:commandButton action="horas" value="Horas" />
</h:form>
</h:body>
</html>
@Named
@SessionScoped
public class HorasBean implements Serializable{
private HorasDAO horasDAO;
private Horas horas = new Horas();
private DataModel<Horas> horasTotal;
public Horas getHoras() {
return horas;
}
public void setHoras(Horas horas) {
this.horas = horas;
}
public DataModel<Horas> getHorast() {
horasDAO = new HorasDAO();
List<Horas> horasList = horasDAO.carrega();
horasTotal = new ListDataModel<Horas>(horasList);
return horasTotal;
}
public void setHoras(DataModel<Horas> horasTotal) {
this.horasTotal = horasTotal;
}
}
Obrigado pela ajuda!