Ajuda com relatório e atualizar xhtml

Olá galera, tudo bem? Bem, estou tentando gerar um relatório por passagem de parâmetros na minha aplicação… Nele, tenho dados de pagamentos de débitos de uma biblioteca. Daí o usuário tem a opção de fazer filtros para gerar esse relatório.
Tenho a seguinte opção: se a situação da multa tiver como PAGA, então HABILITA um campo para o usuário filtrar também pelo Período do pagamento.
O relatório está funcionando ok, porém estou iniciando a tela com as multas NAO PAGAS e o campo Período da multa DESABILITADO.
E quando o usuário está trocando a situação da multa, estou tendo que colcoar um botão atualizar para “funcionar” e depois ele clica no botão IMPRIMIR…
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>
                                                    <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>

... mais filtros.....
............................

<div>
                                        <h:panelGrid columns="3">
                                            <p:defaultCommand target="btnPesquisarPagamento" />
                                            <p:commandButton id="btnPesquisarPagamento" actionListener="#{emprestimosxExemplaresJsfBean.atualizar()}" value="Consultar"  process="parametrosFiltro" image="search"/>
                                          
                                            <treap:btnRelatorio metodo="#{emprestimosxExemplaresJsfBean.geraRelatorioPagamentoDebitosPDF()}" />
                                        
                                        </h:panelGrid>
                                    </div>

                                 
                                </table>
                            </p:panel>

Agora o meu bean e os métodos:
emxexMultapaga é a situação da multa, tendo como S = multa paga e N = multa nao paga.


  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")) {
          nomeRelatorio = nomeRelatorio + "Pagos.";
           mostradata = "Filtrado pelo período de: " + DateUtil.dataFormatada(emxexDtpagaMulta) + "  até:  " + DateUtil.dataFormatada(emxexDtpagaMultafim) + ".";
            
        } 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 que inicio a "tela" com as multas nao pagas

 @Override
    protected void setup() {
        super.setup();
        HttpServletRequest origRequest = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();

if (origRequest.getRequestURI().contains("relatMultas")) { // relatMultas: nome do xhmtl
            emxexSituacao = "D";  // D = exemplar devolvido
            emxexMultapaga = "N"; // Multa nao paga

        }
}

Obs ( O relatório de multas em aberto é gerado sem clicar em consultar pois já tá iniciando o filtro)
Se alguém puder ajudar como fazer para NAO precisar clicar em consultar para gerar o relatório de Multas Pagas agradeço muito

Alguém poderia me ajudar?