Class BaseJasper

All Implemented Interfaces:
Runnable

public abstract class BaseJasper extends BaseThread
BaseThread especializada para gerar relatórios Jasper.

Cada processo agendado responsável por gerar relatórios Jasper deve estender esta classe, sobrescrevendo o método processarJasper(), conforme as instruções daquele método.

A limpeza da tabela oper_tmp já está implementada no método deleteOperTmp(). O método BaseThread.deleteTemporarios() deve ser sobrescrito se o processo de limpeza requerer algo mais.

Os parametros a serem passados ao relatório Jasper já contêm automaticamente alguns parâmetros padronizados, definidos nesta classe. Para cada relatório Jasper deve-se incluir seus parâmetros específicos. Se for necessário, pode-se atribuir aos parâmetros padronizados um valor diferente.

O relatório manu_e010 pode ser utilizado como exemplo. Observar que a conversão a partir do Vision consiste nos seguintes passos:

  1. desconsiderar rotinas que servem somente para limpar a tabela oper_tmp;
  2. inserir registros na tabela oper_tmp;
  3. lançar NoDataException no caso de não existirem dados para gerar o relatório;
  4. informar o(s) relatório(s) a executar, alimentando a lista relatorios ou preenchendo o campo nome_jasper;
  5. preencher os parametros a partir de ParameterFields, exceto os parâmetros padronizados.
  • Field Details

    • crystalReport

      @Deprecated protected systextil.crystal.CrystalReport crystalReport
      Deprecated.
    • parametros

      protected HashMap<String,Object> parametros
    • nome_jasper

      protected String nome_jasper
      O nome do arquivo do programa Jasper a ser executado, sem a extensão.
    • relatorios

      protected final List<BaseJasper.Relatorio> relatorios
      Contém a lista dos relatórios Jasper que devem ser processados. Se a lista estiver vazia, será processado um relatório Jasper conforme os valores de nome_jasper e nome_relato
  • Constructor Details

    • BaseJasper

      public BaseJasper()
  • Method Details

    • add

      protected void add(systextil.crystal.CrystalReport cr)
      Adiciona um relatório à lista para gerá-lo.
      Parameters:
      cr - o relatório Crystal Reports
    • processarBatch

      protected final void processarBatch() throws br.com.intersys.systextil.exception.NoDataException, br.com.intersys.systextil.global.TagException
      Controla a execução do processo:
      1. Deleta os registros deste relatório na tabela oper_tmp, se houver.
      2. Inclui no mapa de parametros os parâmetros default.
      3. Executa o método processarJasper() específico para este processo.
      4. Se houver relatórios na lista relatorios, processa-os. Se não houver, processa o relatório padrão, conforme os campos nome_jasper e nome_relato.
      5. Deleta novamente os registros na tabela oper_tmp, se houver.
      Specified by:
      processarBatch in class BaseThread
      Throws:
      br.com.intersys.systextil.exception.NoDataException - se não houver dados para gerar o relatório
      br.com.intersys.systextil.global.TagException - se houver uma mensagem de erro
    • processarJasper

      protected abstract void processarJasper() throws br.com.intersys.systextil.exception.NoDataException, br.com.intersys.systextil.global.TagException
      Faz todo o processamento necessário, e ao fim deve ter preenchida a lista de relatorios contendo os relatórios a gerar. Opcionalmente, se for gerado só um relatório, basta ter preenchidos nome_jasper, nome_relato e os parâmetros necessários em parametros.
      Throws:
      br.com.intersys.systextil.exception.NoDataException - se não houver dados para gerar o relatório
      br.com.intersys.systextil.global.TagException - se houver uma mensagem de erro