Bom dia galera, estou puxando de uma tabela do banco os valores para serem usados no componente autocomplete do primefaces
Por enquanto, ele esta puxando todos os dados corretamente, porém ele me retorna sempre a string, como fazer para q ele me retorne a id de acordo com o que eu seleciono?
segue meu codigo
xhtml
<p:row>
<p:column>
<h:outputText value="#{msgs.CHAMADA_NATUREZA}" />
</p:column>
<p:column>
<p:autoComplete id="acNatureza" value="#{atendimentoTelefonicoMB.naturezaSelecionada}"
completeMethod="#{atendimentoTelefonicoMB.completaNat}" var="natureza"
itemLabel="#{natureza.sigla}" />
</p:column>
</p:row>
BEAN
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.sgs.limeira.controllers;
import br.com.sgs.limeira.models.ChamadaTelefonica;
import br.com.sgs.limeira.models.Natureza;
import br.com.sgs.limeira.servicos.FabricaServicos;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
/**
*
* @author Jilles Ragonha
*/
@ManagedBean
@RequestScoped
public class AtendimentoTelefonicoMB implements Serializable {
private ChamadaTelefonica atendimento = new ChamadaTelefonica();
private Natureza naturezaSelecionada;
private List<Natureza> naturezas;
public Natureza getNaturezaSelecionada() {
return naturezaSelecionada;
}
public void setNaturezaSelecionada(Natureza naturezaSelecionada) {
this.naturezaSelecionada = naturezaSelecionada;
}
public List<Natureza> getNaturezas() {
return naturezas;
}
public void setNaturezas(List<Natureza> naturezas) {
this.naturezas = naturezas;
}
public ChamadaTelefonica getAtendimento() {
return atendimento;
}
public void setAtendimento(ChamadaTelefonica atendimento) {
this.atendimento = atendimento;
}
public String novoAtendimento() {
if (atendimento.getAnonimo().equals("Sim")) {
atendimento.setAnonimo("s");
} else if (atendimento.getAnonimo().equals("Nao")) {
atendimento.setAnonimo("n");
}
FabricaServicos fabrica = new FabricaServicos();
return fabrica.getServicoCadastro(FabricaServicos.ATENDIMENTO_TELEFONICO).cadastrar(atendimento);
}
public List<ChamadaTelefonica> consultarAtendimentos() {
return null;
}
public List<ChamadaTelefonica> consultarAtendimentosAbertos() {
return null;
}
public List<ChamadaTelefonica> consultarAtendimentosEncerrados() {
return null;
}
public List<Natureza> completaNat(String query) {
FabricaServicos fabrica = new FabricaServicos();
this.naturezas = fabrica.getServicoConsulta(FabricaServicos.NATUREZA).consultarTodos();
List<Natureza> sugestoes = new ArrayList<Natureza>();
for (Natureza n : this.naturezas) {
if (n.getDescricao().startsWith(query)) {
sugestoes.add(n);
}
}
return sugestoes;
}
}
