<h:form id="frmNovaDespesa">
<p:commandButton id="voltarDesp" value="Voltar" action="#{lancamentoController.doListDespesas}" immediate="true" style="margin:20px 0px;"/>
<p:panel id="pnNovaDespesa" header="Nova Despesa">
<h:panelGrid id="pgNovaDespesa" columns="3">
<p:outputLabel id="lblTipoDespesa" value="Tipo de despesa" for="tipoDespesa" />
<p:selectOneRadio id="tipoDespesa" value="#{lancamentoController.lancamentoDespesa.despesaTipo}"
valueChangeListener="#{lancamentoController.tipoDespesaChangeListener}" immediate="true" onchange="submit();">
<f:selectItems var="tipoDespesa" value="#{lancamentoController.tipoDespesas}" itemLabel="#{tipoDespesa.descricao}" itemValue="#{tipoDespesa}" />
</p:selectOneRadio>
<p:message id="tipoDespesaMessage" for="tipoDespesa" />
<p:outputLabel id="lblEmpresa" value="Empresa" for="empresa" />
<p:selectOneMenu id="empresa" value="#{lancamentoController.lancamentoDespesa.empresa}"
valueChangeListener="#{lancamentoController.empresaChangeListener}">
<f:selectItem itemLabel="Selecione" noSelectionOption="true" />
<f:selectItems var="empresa" itemLabel="#{empresa.razaoSocial}" itemValue="#{empresa}" value="#{lancamentoController.empresas}"/>
<p:ajax update="formaPagto"/>
</p:selectOneMenu>
<p:message id="empresaMessage" for="empresa" />
<p:outputLabel id="lblFormaPagto" value="Forma de Pagamento" for="formaPagto" />
<p:selectOneRadio id="formaPagto" value="#{lancamentoController.lancamentoDespesa.formaPagamento}"
immediate="true" onchange="submit()" valueChangeListener="#{lancamentoController.formaPagamentoChangeListener}">
<f:selectItems value="#{lancamentoController.formaPagamentos}" var="formaPagamento"
itemLabel="#{formaPagamento.descricao}" itemValue="#{formaPagamento}" />
</p:selectOneRadio>
<p:message id="formaPagtoTipoMessage" for="formaPagto" />
<p:outputLabel id="lblConta" value="Conta" for="conta" rendered="#{lancamentoController.lancamentoDespesa.necessitaConta}"/>
<p:selectOneListbox id="conta" value="#{lancamentoController.lancamentoDespesa.conta}"
rendered="#{lancamentoController.lancamentoDespesa.necessitaConta}" validator="lancamentoDespesaContaValidator">
<f:selectItems var="conta" value="#{lancamentoController.contasEmpresas}" itemLabel="#{conta.numero}" itemValue="#{conta}" />
<f:attribute id="attConta" name="atbContaRequerida" value="#{lancamentoController.lancamentoDespesa.formaPagamento}"/>
</p:selectOneListbox>
<p:message id="contaMessage" for="conta" rendered="#{lancamentoController.lancamentoDespesa.necessitaConta}"/>
<p:outputLabel id="lblFrequencia" value="Frequência" for="frequencia" />
<p:selectOneRadio id="frequencia" value="#{lancamentoController.lancamentoDespesa.frequencia}">
<f:selectItems var="frequencia" value="#{lancamentoController.frequencias}" itemLabel="#{frequencia.descricao}" itemValue="#{frequencia}" />
</p:selectOneRadio>
<p:message id="frequenciaMessage" for="frequencia" />
<p:outputLabel id="lblLancamento" value="Lançamento" for="lancamento"/>
<p:selectOneMenu id="lancamento" value="#{lancamentoController.lancamentoDespesa.lancamento}">
<f:selectItem itemLabel="Selecione" noSelectionOption="true" />
<f:selectItems var="lancamento" itemLabel="#{lancamento.nome}" itemValue="#{lancamento}" value="#{lancamentoController.lancamentosDespesas}"/>
</p:selectOneMenu>
<p:message id="lancamentoMessage" for="lancamento" />
<p:outputLabel id="lblFuncionario" value="Funcionário" for="funcionario" rendered="#{lancamentoController.lancamentoDespesa.despesaTipo eq 'FUNCIONARIO'}" />
<p:selectOneMenu id="funcionario" value="#{lancamentoController.lancamentoDespesa.funcionario}"
rendered="#{lancamentoController.lancamentoDespesa.despesaTipo eq 'FUNCIONARIO'}" validator="responsavelDespesaValidator">
<f:selectItem itemLabel="Selecione" noSelectionOption="true" />
<f:selectItems var="funcionario" itemLabel="#{funcionario.nome}" itemValue="#{funcionario}" value="#{lancamentoController.funcionariosByEmpresas}"/>
</p:selectOneMenu>
<p:message id="funcionarioMessage" for="funcionario" rendered="#{lancamentoController.lancamentoDespesa.despesaTipo eq 'FUNCIONARIO'}" />
<p:outputLabel id="lblFornecedor" value="Fornecedores" for="fornecedor"
rendered="#{lancamentoController.lancamentoDespesa.despesaTipo eq 'FORNECEDOR'}" />
<p:selectOneMenu id="fornecedor" value="#{lancamentoController.lancamentoDespesa.fornecedor}" validator="responsavelDespesaValidator"
rendered="#{lancamentoController.lancamentoDespesa.despesaTipo eq 'FORNECEDOR'}">
<f:selectItem itemLabel="Selecione" noSelectionOption="true" />
<f:selectItems var="fornecedor" itemLabel="#{fornecedor.razaoSocial}" itemValue="#{fornecedor}" value="#{lancamentoController.fornecedores}"/>
</p:selectOneMenu>
<p:message id="fornecedorMessage" for="fornecedor" rendered="#{lancamentoController.lancamentoDespesa.despesaTipo eq 'FORNECEDOR'}" />
<p:outputLabel id="lblDataVecto" value="Data de Vencimento" for="dataVecto"/>
<p:calendar id="dataVecto" value="#{lancamentoController.lancamentoDespesa.dataVencimento}" locale="pt_BR" showButtonPanel="true" pattern="dd/MM/yyyy" label="Data de Vencimento" />
<p:message id="dataVectoMessage" for="dataVecto" />
<p:outputLabel id="lblValor" value="Valor" for="valor"/>
<p:inputText id="valor" value="#{lancamentoController.lancamentoDespesa.valor}">
<f:convertNumber id="javax.faces.convert.BigDecimalConverter" minFractionDigits="2" maxFractionDigits="2" />
</p:inputText>
<p:message id="valorMessage" for="valor"/>
<p:outputLabel id="lblObservacoes" value="Observações" for="observacoes"/>
<p:editor id="observacoes" value="#{lancamentoController.lancamentoDespesa.observacoes}" width="600"/>
<h:outputLabel />
<h:outputLabel />
<p:commandButton value="Salvar" style="float: right;" icon="ui-icon-disk" actionListener="#{lancamentoController.doFinishCreateDespesa}" update="pnNovaDespesa"/>
<h:outputLabel />
</h:panelGrid>
</p:panel>
</h:form>
public void empresaChangeListener(ValueChangeEvent event)
{
lancamentoDespesa.setEmpresa((Empresa) event.getNewValue());
// Empresa empresa = empresaBean.getEmpresaById(Integer.valueOf(event.getNewValue().toString()));
// System.out.println(empresa.getCnpj());
FacesContext.getCurrentInstance().renderResponse();
}
public void formaPagamentoChangeListener(ValueChangeEvent event)
{
// System.out.println(event.getNewValue().toString());
lancamentoDespesa.setFormaPagamento(LancamentoDespesaFormaPagamento.setLancamentoDespesaFormaPagamento(event.getNewValue().toString()));
FacesContext.getCurrentInstance().renderResponse();
}
public void tipoDespesaChangeListener(ValueChangeEvent event)
{
lancamentoDespesa.setDespesaTipo(LancamentoDespesaTipo.setLancamentoDespesaTipo(event.getNewValue().toString()));
FacesContext.getCurrentInstance().renderResponse();
}
Caso alguém possa me ajudar desde já eu agradeço.

