PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

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

/*
     * 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

Teste

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar