Bom dia galera, tudo bem?
Bem, estou fazendo a um relatório de Débitos na minha aplicação. Nele, são passados alguns parâmetros e tenho filtros para que o usuário escolha pelo que pretende gerar.
A questão é a seguinte: tenho um filtro de situação da multa e um de período de pagamento, onde que quando o usuário escolher a multa como paga ele habilita a data de
pagamento também.
Inicio a “tela” com as multas não pagas e se ele clicar em IMPRIME… gera o relatório normal, porém, se ele escolher MULTAS PAGAS e colocar alguma data tem que dar um ATUALIZAR para gerar o relatório… Queria saber como atualizar o JSF pois não está atualizando se o usuário escolher as multas pagas e está gerando o relatório anterior…
Abaixo o xhtml:
<p:panel header="Filtros de Consulta" id="parametrosFiltro">
<p:growl id="grow6" life="4000"/>
<table border="0" cellpadding="2" cellspacing="0" style="margin-right: 40px">
<h:panelGrid columns="2" width="100%">
<h:panelGrid columns="2">
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right">Bilbiotecas:</td>
<h:panelGrid columns="2">
<p:selectOneMenu value="#{emprestimosxExemplaresJsfBean.bibNomecomp}">
<f:selectItem itemLabel="Todos as Bibliotecas" itemValue="#{null}"/>
<f:selectItems value="#{emprestimosxExemplaresJsfBean.bibliotecasList}" var="b" itemLabel="#{b.bibNomecomp}" itemValue="#{b.bibCodigo}"/>
</p:selectOneMenu>
</h:panelGrid>
</tr>
<div>
<td align="right">Situação das Multas:</td>
<h:panelGrid columns="1">
<p:selectOneMenu value="#{emprestimosxExemplaresJsfBean.emxexMultapaga}">
<f:selectItem itemLabel="Não Pagas" itemValue="N" />
<f:selectItem itemLabel="Pagas" itemValue="S" />
<p:ajax event="change" update="panelDataMulta" listener="#{emprestimosxExemplaresJsfBean.renderedSituacaoMulta(event)}"/>
</p:selectOneMenu>
</h:panelGrid><br/>
</div>
<div>
<td align="right">Período de Pagamento da Multa:</td>
<h:panelGrid id="panelDataMulta" columns="1">
<p:fieldset id="periodo">
<table border="0" cellpadding="2" cellspacing="0">
<tr>
<td align="right">De:</td>
<td>
<p:inputMask id="renDtrenfiltro" disabled="#{!emprestimosxExemplaresJsfBean.situacaoMulta}" mask="99/99/9999" value="#{emprestimosxExemplaresJsfBean.emxexDtpagaMulta}" >
<f:convertDateTime pattern="dd/MM/yyyy"/>
</p:inputMask>
</td>
</tr>
<tr>
<td align="right">Até:</td>
<td>
<p:inputMask id="renDtrenfiltro2" disabled="#{!emprestimosxExemplaresJsfBean.situacaoMulta}" mask="99/99/9999" value="#{emprestimosxExemplaresJsfBean.emxexDtpagaMultafim}" >
<f:convertDateTime pattern="dd/MM/yyyy"/>
</p:inputMask>
</td>
</tr>
</table>
</p:fieldset>
</h:panelGrid>
</div>
</h:panelGrid>
</h:panelGrid>
<div>
<h:panelGrid columns="3">
<p:defaultCommand target="btnPesquisarPagamento" />
<p:commandButton id="btnPesquisarPagamento" actionListener="#{emprestimosxExemplaresJsfBean.atualizar()}" value="Consultar" process="parametrosFiltro" image="search"/> [color=green] /// Estou tendo que utilizar esse atualizar para gerar o relatório de multas pagas..poém nao desejo utitilizar ele.
<treap:btnRelatorio metodo="#{emprestimosxExemplaresJsfBean.geraRelatorioPagamentoDebitosPDF()}"/>
</h:panelGrid>
</div>
</table>
</p:panel>
Aqui o meu bean:
Gerar Relatório:
public void geraRelatorioPagamentoDebitosPDF() {
geraRelatorioPagamentoDebitos(true);
}
public void geraRelatorioPagamentoDebitos(boolean isPDF) {
List<EmprestimosxExemplares> listaRelatorioPagamentoDebitos = exe.listaPagamentoDebitosRelatorio(montaParametros());
Map<String, String> parametros = new HashMap<String, String>();
nomeRelatorio = "Relatório de Pagamento de Débitos - ";
if (emxexMultapaga == null) {
emxexMultapaga = "";
} else if (emxexMultapaga.equals("S")) {
atualizar();
nomeRelatorio = nomeRelatorio + "Pagos.";
atualizar();
mostradata = "Filtrado pelo período de: " + DateUtil.dataFormatada(emxexDtpagaMulta) + " até: " + DateUtil.dataFormatada(emxexDtpagaMultafim) + ".";
atualizar();
} else if (emxexMultapaga.equals("N")) {
nomeRelatorio = nomeRelatorio + "Em Aberto.";
} else if (emxexMultapaga.isEmpty()) {
nomeRelatorio = nomeRelatorio + "Todos os Débitos.";
}
parametros.put("nomeRelatorio", nomeRelatorio);
parametros.put("mostradata", mostradata);
if (isPDF) {
geraRelatorioPDF(listaRelatorioPagamentoDebitos, RELATORIO_pagamentoDebitos, parametros);
}
}
Aqui onde inicio a página:
@Override
protected void setup() {
super.setup();
HttpServletRequest origRequest = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
if (origRequest.getRequestURI().contains("relatMultas")) { [color=green] /// reallMultas é o xhmtl
emxexSituacao = "D"; [color=green] /// D é emprestimo Devolvido
emxexMultapaga = "N"; [color=green] /// N é a multa nao paga
Se alguém puder ajudar, agradeço muito, pois já tem alguns dias que estou tentando atualizar isso e não estou conseguindo…