Estou com problema para retornar uma lista ao meu Dialog, já verifiquei outros posts aqui no forum mas não consegui sanar meu problema.
Existe uma pagina com um dataTable principal e na ultima coluna o usuario vai clicar e deverá aparecer os detalhes da conta em um dialog do primefaces, porém ocorre um erro e ainda não entendi o que pode estar ocorrendo.
Segue abaixo meu codigo, se puderem me ajudar a entender o que pode está ocorrendo
Meu View
`<?xml version="1.0" encoding="ISO-8859-1" ?>
` ` Parciais de Hoje Contas`
Meu Bean
package overclinic.com.br;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.SelectEvent;
import org.primefaces.event.UnselectEvent;
@ManagedBean(name=“ContaBean”)
@RequestScoped
public class Conta {
private String id;
private Integer atendimento;
private Integer atendimento_retorno;
private String paciente;
private String leito;
private String unid_internacao;
private String dt_atendimento;
private String dias_internado;
private String convenio;
private String status;
private List lista_contas;
private Conta selectedConta;
private List selectedContas;
private Conta conta;
@PostConstruct
public void init(){
this.setConta(new Conta());
}
// esse metodo p/ enviar o codigo do atendimento p/ classe DAO
public void envia_atendimento(Integer atendimento){
// retorna lista com os dados para preencher o dialog
selectedContas=new DaoConta().parcial_guias(atendimento);
}
public Integer getAtendimento() {
return atendimento;
}
public void setAtendimento(Integer atendimento) {
this.atendimento = atendimento;
}
public String getPaciente() {
return paciente;
}
public void setPaciente(String paciente) {
this.paciente = paciente;
}
public String getLeito() {
return leito;
}
public void setLeito(String leito) {
this.leito = leito;
}
public String getUnid_internacao() {
return unid_internacao;
}
public void setUnid_internacao(String unid_internacao) {
this.unid_internacao = unid_internacao;
}
public String getDt_atendimento() {
return dt_atendimento;
}
public void setDt_atendimento(String dt_atendimento) {
this.dt_atendimento = dt_atendimento;
}
public String getDias_internado() {
return dias_internado;
}
public void setDias_internado(String dias_internado) {
this.dias_internado = dias_internado;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public List getLista_contas() {
lista_contas=new DaoConta().parcial_panel();
return lista_contas;
}
public void setLista_contas(List lista_contas) {
this.lista_contas = lista_contas;
}
public Conta getConta() {
return conta;
}
public void setConta(Conta conta) {
this.conta = conta;
}
public String getConvenio() {
return convenio;
}
public void setConvenio(String convenio) {
this.convenio = convenio;
}
public Conta getSelectedConta() {
return selectedConta;
}
public void setSelectedConta(Conta selectedConta) {
this.selectedConta = selectedConta;
}
public List getSelectedContas() {
return selectedContas; // aqui deveria retornar os dados para o Dialog
}
public void setSelectedContas(List selectedContas) {
this.selectedContas = selectedContas;
}
public void onRowSelect(SelectEvent event) {
FacesMessage msg = new FacesMessage(“Conta selecionada”, ((Conta) event.getObject()).getId());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public void onRowUnselect(UnselectEvent event) {
FacesMessage msg = new FacesMessage(“Conta não selecionada”, ((Conta) event.getObject()).getId());
FacesContext.getCurrentInstance().addMessage(null, msg);
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Integer getAtendimento_retorno() {
return atendimento_retorno;
}
public void setAtendimento_retorno(Integer atendimento_retorno) {
this.atendimento_retorno = atendimento_retorno;
}
}
Minha Classe Dao
public List parcial_guias(Integer atendimento) // recebe o parametro atendimento para retornar o resultado.
{
Conexao con = new Conexao();
Connection conexao = con.conecta();
List<Conta> listaContas = new ArrayList<Conta>();
ResultSet res=null;
PreparedStatement consulta = null;
String sql="select cd_atendimento from atendimentos where atendimento="+atendimento;
try{
consulta=conexao.prepareStatement(sql);
consulta.setInt(1, atendimento);
res=consulta.executeQuery();
while(res.next()){
Conta co = new Conta();
co.setAtendimento_retorno(res.getInt("cd_atendimento")); // **Envio o atendimento para meu Bean**
listaContas.add(co);
}
}catch(SQLException e){
System.out.println("Ocorreu um erro na conexao com o banco no momento de inserir a lista de contas.");
}finally{
try{
consulta.close();
conexao.close();
}
catch(Throwable e){
System.out.println("Ocorreu um erro ao tentar fechar a conexao.");
}
}
return listaContas;
}
Meu Dialog fica em branco e nada é preenchido, alguém fez isso usando pop-up? ou de outra forma?