Olá galera, tudo certo??
Bem, estou com um problema no meu SelectOneMenu. Nele, tenho um filtro de situação de exemplares, sendo que o usuário irá selecionar os exemplares que estão emprestados (E); devolvidos(D) e todos (NULL) .
Então, no meu xhtml fiz o seguinte:
[code]
<td align="right">Situação do Empréstimo para teste:</td>
<p:selectOneMenu value="#{emprestimosxExemplaresJsfBean.exeSituacaoTESTE}">
<f:selectItem itemLabel="Todos" itemValue= "#{null}" />
<f:selectItem itemLabel="Emprestado" itemValue="E" />
<f:selectItem itemLabel="Devolvido" itemValue="Z" />
</p:selectOneMenu>
</td>
[/code]
No Bean declaro o exeSituacaoTESTE com os GETTERS E SETTERS e coloco ele no parametro;
private String exeSituacaoTESTE;
public String getExeSituacaoTESTE() {
return exeSituacaoTESTE;
}
public void setExeSituacaoTESTE(String exeSituacaoTESTE) {
this.exeSituacaoTESTE = exeSituacaoTESTE;
}
private Map<String, Object> montaParametros() {
Map<String, Object> p = new HashMap<String, Object>();
p.put("exeSituacaoTESTE", exeSituacaoTESTE);
return p;
}
Bem, e no meu Service, faço o filtro… (Aí que está o problema), não filtra…
Abaixo vou postar o sql que fiz e o filtro.
public static final String PREFIXO_OBJETO = "exe";
private static final String QUERY_EmprestimosxExemplares = "select exe from EmprestimosxExemplares exe";
private static final String QUERY_emprestado = "SELECT bib_emprexexemplar.emxex_codigo, bib_exemplar.exe_codigo FROM bib_emprexexemplar INNER JOIN bib_exemplar ON bib_emprexexemplar.emxex_codexemplar=bib_exemplar.exe_codigo where bib_exemplar.exe_situacao = 'E' and bib_emprexexemplar.emxex_dtdev is null";
private FiltrosConsulta criaFiltros(Map<String, Object> params) {
FiltrosConsulta filtros = new FiltrosConsulta();
if(params.get("exeSituacaoTESTE").equals("E")){
filtros.add(PREFIXO_OBJETO, QUERY_emprestado, params, true, FiltrosConsulta.Like.Left);
}
return filtros;
}
Não sei oque estou fzendo de errado, se é o sql ou o filtro mesmo. Sendo que ele deve fazer o seguinte: me retornar somente os exemplares que estão no banco com situação EMPRESTADO (E) e então ainda não possuem data de devolução. Após eu coneguir esse, dái vou fazer com os exemplares que já estão devolvidos…
Se alguém puder ajudar, fico muito grato.
Obrigado.