DES:GRWeb
Voltar a Página Inicial - Menu Sistemas
Tabela de conteúdo |
Tabela Geral =
Introdução
Este documento descreve como usar o Gerador de Relatórios web juntamente com o iReport
Gerador de Relatórios Web
- Os relatórios e sub-relatórios deverão ser carregados individualmente
- No relatório principal carregar o arquivo com extensão .jrxml, pois algumas informações são extraídas do XML, como a consulta SQL; Já para os sub-relatórios, carregar os arquivos compilados (.jasper)
Acessando o log de erros
Acesse o endereço http://server2.midas.unioeste.br:9990/, vá em Runtime -> Hosts, escolha o host/server e clique em logs -> view
Local de armazenamento dos relatórios
Os relatórios ficam armazenados no servidor 200.201.88.170 no diretório /usr/local/sistemas/relatorios/
Tipos
- Quando houver o tipo TEXT (Classe Clob) utilizar o seguinte em FieldExpression:
- $F{CAMPO}.getSubString( 1, 9999) //para truncar em 9999 OU
- $F{CAMPO}.getSubString( 1, $F{CAMPO}.length().intValue()) //para não truncar OU
- CAST para varchar/nvarchar na própria SQL //para truncar que o tipo convertido tem
iReport com sub-relatórios
- Criar um arquivo (.jrxml) para cada relatório
- No elemento sub-relatório do relatório principal, em Subreport Properties configurar
- Subreport Expression, ligando o relatório principal e o sub-relatório, tomando o cuidado para não deixar o caminho do diretório fixo, ou seja, usar o parâmetro $P{prmCaminho}. Ex: $P{prmCaminho} + "GR200-sub1.jasper"
- Connection Type: selecionar a opção use a connection expression
- Connection Expression: configurar selecionando o parâmetro Report_Connection
- Parameters: configurar os parâmetros e as respectivas colunas da consulta SQL
- No sub-relatório deverão ser criados no item Parameters os campos de ligação entre as consultas SQL do relatório principal e do sub-relatório, bem como deverão ser colocados no SQL do sub-relatório
- O sub-relatório não deverá ter margens, pois serão usadas as definidas no relatório principal
iReport: criação de conexão com BD
- Clicar em Report DataSources
- DataSource type: Database JDBC Connection
- JDBC Driver: MS SQLServer (net.sourceforge.jtds.jdbc.Driver)(o arquivo deve estar em C:\Program Files (x86)\Jaspersoft\iReport-4.1.1\ireport\modules\ext\jtds-1.2.5 e ser adicionado o caminho no CLASSPATH)
- JDBC URL: jdbc:jtds:sqlserver://200.201.88.206/bdAcademicoProducao
Fontes e Styles em campos
- Usar o Style padrão em vários campos pode reduzir o tempo para aplicar um mesmo estilo a todos os campos do relatório.
- Para alterar as FONTES/STYLES DINAMICAMENTE de um relatório realizar os seguintes passos:
1° - adicionar um style padrão (aplicar este em todos os campos que deverão ser alterados)
2° - botão direito sobre o style criado e "Adicionar Style Condicional"
3° - definir as propriedades do style condicional, quando a condição definida for satisfeita as propriedades do condicional serão aplicadas sobrescrevendo o style padrão.
- Pode-se definir diversos estilos diferentes que são trocados conforme o valor de um parâmetro enviado, assim podemos ir setando a fonte, cores e outros conforme a necessidade.
- A aplicação de apenas parte das propriedades no style não irá afetar propriedades definidas nos campos, por ex. Desejo alterar a fonte de todos os campos, mas alguns são em negrito e outros em itálicos, então é só definir a fonte dos campos como padrão (Restore valor padrão na fonte) e aplicar o negrito e itálico conforme precisar. **só é sobrescrito o que for definido no style e for padrão no campo.
- Observação: Caso o estilo criado não for aplicado visualmente quando executado o relatório, os campos que possuem o Style (especificamente as propriedades do campo) devem ser setadas com os valores padrões, para isso: botão direito sobre a propriedade do campo e "Restaurar Valor Padrão". Caso não seja feito isso as propriedades do campo sobrescrevem a propriedade do style.
Trace no relatório
- Abrir o SQL Profiler
- Aba General > Use the template: TSQL
- Aba Events Selection > Column Filters > filtro LoginName: domínio\usuário (ex: unioestenet\liege.ciupak)
Validação de Documentos
A rotina para validar documentos foi criada com a finalidade de emitir documentos para a comunidade da UNIOESTE através dos sistemas WEB. A emissão de documentos que podem ter sua validade comprovada através da internet é útil para a emissão de declarações de matrículas, certificados e outros.
Os documentos são emitidos como um relatório normal do iReport, chamando a rotina de geração e devolvendo o relatório, porém parâmetros adicionais devem ser enviados na requisição para que o sistema entenda que esta solicitação deve ser gravada na tabela de documentos emitidos para que posteriormente seja efetuada uma consulta à validade do documento e/ou o documento seja recuperado na íntegra.
UTILIZAÇÃO
- Os documentos emitidos podem ser manipulados através da classe DctEmtWebUtil, essa classe possui alguns métodos para criação e manipulação dos documentos.
- Quando for solicitada a geração de um relatório que deve ser salvo, o parâmetro "salvarParaValidar" deve ser informado com 'T' (true), ou enviado através das opções (mesma opção com parâmetro 0 - salvarParaValidar)
- Caso o documento já exista e o resultado do relatório deva ser gravado nele, o parâmetro "dctEmtWebSequencia" deve ser enviado juntamente com o parâmetro para salvar. Estes parâmetros só precisam ser enviados manualmente quando o relatório é emitido sem o auxílio da classe DctEmtWebUtil.java, pois está já faz os devidos tratamentos em seus métodos.
- A banda PageFooter do iReport deve estar disponível, pois serão gravados nela os elementos da validação.
Existe uma rotina que realiza periodicamente a limpeza da tabela de documentos, removendo assim os arquivos PDF da tabela para que não utilizem espaço de armazenamento após tornar-se inválido, vencido ou substituído.
DctEmtWeb
- A validade é armazenada com base no que está cadastrado na tabela RLT_Relatorio e no dia atual. Caso não gerar faixa de validação, também não guardará a validade.
- O campo sistema geralmente estará como "Relatum", a menos que for gerado por um sistema no java (Ex: certificados em lote, declaração de matrícula que salva outra tabela, etc)
Bandas automáticas nos Relatórios
Cabeçalho Padrão
- Ocupa altura de 45px na banda PAGEHEADER (logo da unioeste; título do relatório; data/hora; página; filtros; ordenações;)
- Ocupa altura de 10px na banda PAGEFOOTER (nome e código do sistema; login e código do usuário que imprimiu o relatório; código do relatório;)
Cabeçalho com Timbre
- Ocupa altura de 120px na banda PAGEHEADER (logo da unioeste; escudo do paraná; endereço da unidade selecionada;)
- Margens:
- superior 1,5cm 42px;
- esquerda 3cm 85px;
- direita 2cm 57px;
- inferior 2cm 57px;
- O endereço padrão no Timbre é da Reitoria. Para especificar, utilize o parâmetro prmStrCodigo com o setor da unidade desejada (campus,hu,etc)
Banda de Validação
- Ocupa altura de 27px na banda PAGEFOOTER (data/hora emissão; identificador; validade; site para validação;)
- Se houver cabeçalho padrão, vai juntar com o rodapé do cabeçalho padrão, com altura de 48px
- Para usar validação, use o parâmetro salvarParaValidar
- Se cadastrar parâmetro como filtro, deverá passar o valor T para ativar a validação e F para não usar validação;
- Se cadastrar parâmetro como opção, deverá passar o valor 0 para ativar a validação, e 1 para não usar validação;
- Também pode-se usar o parâmetro salvarParaValidarInv, com os valores invertidos. Foi criado para usar nas opções, sendo opção padrão não ter a faixa de validação.