Fórum Guardar valores de um objeto + tabview #428937
17/11/2012
0
Pessoal,
Tenho um tabview que por sua vez tem as tabs renderizadas conforme seleção de um perfil em um campo selectOneMenu.
Antes de selecionar o perfil para montar a tabview completa, eu seleciono o usuário com quem vou trabalhar, por meio de um campo autoComplete, eu verifico se esse usuário já existe na base de dados e carrego todos os dados dele...
Fui imprimindo os valores no console e tá tudo certinho...
Quando seleciono na tabview o perfil com quem o qual vou trabalhar para completar a tabview com outros formulários, imprimo novamente os valores do usuário que eu tinha armazenado e eles ficam nulos. Acredito que esteja sendo criado um novo objeto.
A única coisa que faço ao selecionar um perfil, eh setar alguns "tabs" como rendered=true e atualizar a tabview por meio de <p:ajax/>. A principio não existe nenhuma modificação nos valores do usuário selecionado.
Se eu selecionar primeiro o perfil para montar a tabview completa e depois pesquisar o usuário, não sei porque motivo mas as tabs travam. Clico nas tab e não mudam de uma pra outra e se selecione o usuário primeiro para depois montar a tabview completa, perco os valores que havia armazenado...
Estou utilizando primefaces 3.4.1
//Seleciono perfil desejado
Tenho um tabview que por sua vez tem as tabs renderizadas conforme seleção de um perfil em um campo selectOneMenu.
Antes de selecionar o perfil para montar a tabview completa, eu seleciono o usuário com quem vou trabalhar, por meio de um campo autoComplete, eu verifico se esse usuário já existe na base de dados e carrego todos os dados dele...
Fui imprimindo os valores no console e tá tudo certinho...
Quando seleciono na tabview o perfil com quem o qual vou trabalhar para completar a tabview com outros formulários, imprimo novamente os valores do usuário que eu tinha armazenado e eles ficam nulos. Acredito que esteja sendo criado um novo objeto.
A única coisa que faço ao selecionar um perfil, eh setar alguns "tabs" como rendered=true e atualizar a tabview por meio de <p:ajax/>. A principio não existe nenhuma modificação nos valores do usuário selecionado.
Se eu selecionar primeiro o perfil para montar a tabview completa e depois pesquisar o usuário, não sei porque motivo mas as tabs travam. Clico nas tab e não mudam de uma pra outra e se selecione o usuário primeiro para depois montar a tabview completa, perco os valores que havia armazenado...
Estou utilizando primefaces 3.4.1
/*
* Prrencher campos com dados do usuário
*/
public void preencherCampos(SelectEvent event) throws ParseException {
usuario = pc.searchUsersByName(paciente);
dataNascimento = usuario.getDataNascimento();
idade = ci.getIdade(dataNascimento);
dataConsulta = new Date();
SimpleDateFormat formatar = new SimpleDateFormat("dd/MM/yyyy");
data = formatar.format(dataConsulta);
endereco = usuario.getCidade() + " " + usuario.getBairro()
+ " " + usuario.getLogradouro() + " " + usuario.getNumero();
telefoneR = usuario.getTelefonePrincipal();
telefoneC = usuario.getTelefoneSecundario();
email = usuario.getEmail();
if (usuario.getSexo().equals("M")) {
sexoP = "Masculino";
} else {
sexoP = "Feminino";
}
prontuario.receberUsuario(usuario); //Enviando usuario para classe prontuario
acompanhanteN = prontuario.getTp().getAcompanhante();
profissao = prontuario.getTp().getProfissaoOcupacao();
parente = prontuario.getTp().getGrauDeParentesco();
objetivo = prontuario.getTp().getObjetivo();
}
/*
* Recebe o usuário selecionado para o prontuário
*/
public void receberUsuario(TbUsuario usuario) {
/*
* Verificando se existe prontuário para o usuário selecionado
*/
tp = pc.existeProntuario(usuario);
paciente = usuario.getNomeCompleto(); //Teste - Guardando nome do usuário
System.out.println("Paciente: " + paciente); // Valor correto
if (tp != null) {
existeProntuario = true;
antA.setId(tp.getIdProntuario());
tp.getIdProntuario();
} else {
existeProntuario = false;
tp = new TbProntuario();
}
}
public void teste(){
System.out.println("Paciente: " + paciente);
}
/*
* Montar prontuario (renderizar componentes) após selecionar o perfil desejado
*/
public void montarProntuario() {
teste(); //Imprime NULL
if (prontuario.equals("adolescente")) {
antropometricosLactente = false;
antropometricosMaterno = false;
dadosClinicos = true;
dadosDoBebe = false;
dadosGestacionais = false;
examesBioquimicos = true;
frequenciaAlimentar = true;
habitosDeVida = true;
historicoDeSaude = true;
lactante = false;
recordatorioAlimentar = true;
sinaisESintomas = true;
antropometricosGestante = false;
antropometricosGestAdolescente = false;
antropometricoAdolescente = true;
antropometricoAdulto = false;
dadosPessoais.setAcompanhante(true);
dadosPessoais.setSexo(true);
dadosPessoais.setgParente(true);
dadosPessoais.setpOcupacao(false);
} else if (prontuario.equals("criancas2")) {
antropometricosLactente = true;
antropometricosMaterno = false;
dadosClinicos = true;
dadosDoBebe = false;
dadosGestacionais = false;
examesBioquimicos = true;
frequenciaAlimentar = false;
habitosDeVida = true;
historicoDeSaude = true;
lactante = false;
recordatorioAlimentar = true;
sinaisESintomas = true;
antropometricosGestante = false;
antropometricosGestAdolescente = false;
antropometricoAdolescente = false;
antropometricoAdulto = false;
dadosPessoais.setAcompanhante(true);
dadosPessoais.setSexo(true);
dadosPessoais.setgParente(true);
dadosPessoais.setpOcupacao(false);
} else if (prontuario.equals("crianca")) {
antropometricosLactente = true;
antropometricosMaterno = false;
dadosClinicos = true;
dadosDoBebe = false;
dadosGestacionais = false;
examesBioquimicos = true;
frequenciaAlimentar = false;
habitosDeVida = true;
historicoDeSaude = true;
lactante = false;
recordatorioAlimentar = true;
sinaisESintomas = true;
antropometricosGestante = false;
antropometricosGestAdolescente = false;
antropometricoAdolescente = false;
antropometricoAdulto = false;
dadosPessoais.setAcompanhante(true);
dadosPessoais.setSexo(true);
dadosPessoais.setgParente(true);
dadosPessoais.setpOcupacao(false);
} else if (prontuario.equals("lactente")) {
antropometricosLactente = true;
antropometricosMaterno = true;
dadosClinicos = true;
dadosDoBebe = true;
dadosGestacionais = true;
examesBioquimicos = false;
frequenciaAlimentar = false;
habitosDeVida = true;
historicoDeSaude = true;
lactante = false;
recordatorioAlimentar = true;
sinaisESintomas = true;
antropometricosGestante = false;
antropometricosGestAdolescente = false;
antropometricoAdolescente = false;
antropometricoAdulto = false;
dadosPessoais.setAcompanhante(false);
dadosPessoais.setSexo(false);
dadosPessoais.setgParente(false);
dadosPessoais.setpOcupacao(true);
} else if (prontuario.equals("gestanteAdolescente")) {
antropometricosLactente = false;
antropometricosMaterno = false;
dadosClinicos = true;
dadosDoBebe = false;
dadosGestacionais = true;
examesBioquimicos = true;
frequenciaAlimentar = true;
habitosDeVida = true;
historicoDeSaude = true;
lactante = false;
recordatorioAlimentar = true;
sinaisESintomas = true;
antropometricosGestante = false;
antropometricosGestAdolescente = true;
antropometricoAdolescente = false;
antropometricoAdulto = false;
dadosPessoais.setAcompanhante(true);
dadosPessoais.setSexo(false);
dadosPessoais.setgParente(true);
dadosPessoais.setpOcupacao(false);
} else if (prontuario.equals("gestante")) {
antropometricosLactente = false;
antropometricosMaterno = false;
dadosClinicos = true;
dadosDoBebe = false;
dadosGestacionais = true;
examesBioquimicos = true;
frequenciaAlimentar = false;
habitosDeVida = true;
historicoDeSaude = true;
lactante = false;
recordatorioAlimentar = true;
sinaisESintomas = true;
antropometricosGestante = true;
antropometricosGestAdolescente = false;
antropometricoAdolescente = false;
antropometricoAdulto = false;
dadosPessoais.setAcompanhante(false);
dadosPessoais.setSexo(false);
dadosPessoais.setgParente(false);
dadosPessoais.setpOcupacao(false);
} else if (prontuario.equals("nenhum")) {
antropometricosLactente = false;
antropometricosMaterno = false;
dadosClinicos = false;
dadosDoBebe = false;
dadosGestacionais = false;
examesBioquimicos = false;
frequenciaAlimentar = false;
habitosDeVida = false;
historicoDeSaude = false;
lactante = false;
recordatorioAlimentar = false;
sinaisESintomas = false;
antropometricosGestante = false;
antropometricosGestAdolescente = false;
antropometricoAdolescente = false;
antropometricoAdulto = false;
} else { //Adulto
antropometricosLactente = false;
antropometricosMaterno = false;
dadosClinicos = true;
dadosDoBebe = false;
dadosGestacionais = false;
examesBioquimicos = true;
frequenciaAlimentar = false;
habitosDeVida = true;
historicoDeSaude = true;
lactante = false;
recordatorioAlimentar = true;
sinaisESintomas = true;
antropometricosGestante = false;
antropometricosGestAdolescente = false;
antropometricoAdolescente = false;
antropometricoAdulto = true;
dadosPessoais.setAcompanhante(false);
dadosPessoais.setSexo(true);
dadosPessoais.setgParente(false);
dadosPessoais.setpOcupacao(false);
}
}
//Seleciono perfil desejado
<p:panelGrid columns="4">
<h:outputLabel for="" value="Selecionar prontuário (Padrão): "/>
<p:selectOneMenu value="#{prontuario.prontuario}" effect="blind">
<f:selectItem itemValue="nenhum" itemLabel="Nenhum"/>
<f:selectItem itemValue="adolescente" itemLabel="Adolescente"/>
<f:selectItem itemValue="criancas2" itemLabel="Crianças até 5 anos"/>
<f:selectItem itemValue="crianca" itemLabel="Crianças de 5 a 10 anos"/>
<f:selectItem itemValue="lactente" itemLabel="Lactente até 6 meses"/>
<f:selectItem itemValue="gestanteAdolescente" itemLabel="Gestante Adolescente"/>
<f:selectItem itemValue="gestante" itemLabel="Gestante"/>
<f:selectItem itemValue="adulto" itemLabel="Adulto/Idoso"/>
<p:ajax listener="#{prontuario.montarProntuario}" update="TabView" />
</p:selectOneMenu>
</p:panelGrid>
Teste
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)