Apresentação Do Report Manager

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 44

Report Manager

Gerenciador de Relatórios

v1.5
Agenda

● Apresentação dos conceitos da ferramenta


● Construção de um relatório com os conceitos
apresentados
Visão Geral

● O Report Manager tem como objetivo a criação e geração de relatórios


específicos e customizados à realidade dos clientes;
● Foi projetado para substituir o MV Report.
● Permite a criação e edição dos relatórios no browser.
● Escrito em Java 8
● Requer o MV Autenticador (CAS)
Visão Geral

Componentes do Report Manager:

● Report Designer - Aplicativo 100% web que permite a criação e edição de


relatórios no próprio browser.
● Report Executor - Serviço responsável por gerar os relatórios conforme os
parâmetros informados pelo usuário ou via chamada do Soul/PEP.
Visão Geral
Configuração

Serviços de Apoio -> Global -> Configurações -> Cadastro Geral


de Parâmetros

Sistema: GLOBAL

Parâmetro: url_novo_report_soul

Valor: <servidor>:<porta>/<contexto>

O servidor/porta é referente ao serviço do Report Executor.


Se possuir mais de uma instância, usar o servidor/porta do balanceador (Apache).
Login
Designer
Designer

Busca e Barra de ações

Quantidade de
relatórios na pasta
Relatório

Pastas (apenas um nível)

Compatível com Firefox, Chrome e Internet Explorer 11


Designer - Busca e Barra de Ações

Busca de relatórios e pastas Cria nova Exporta o Copia o Página


pasta relatório relatório de ajuda
Cria um novo relatório selecionado selecionado
Sair da
na pasta selecionada
Aplicação
(Logout)
Importa Recorta o Cola o
relatórios relatório relatório
selecionado selecionado

Configurações
do relatório
selecionado
Designer - Configurações

Onde o relatório estará disponível Quem poderá acessar o relatório


Designer - Modos de Exibição
Designer
Designer
Componentes
Fonte de Dados

● Query SQL
● Conexão com o
banco de dados já
configurada
● Parâmetros podem
ser usados na query
Variáveis

● Usadas para receber


valores do usuário
● Tipos:
○ Valor
○ Valor Nullable
○ Faixa (Intervalo)
○ Lista
● Podem ser usadas em
expressões ou
diretamente nas queries
● Formato de uso:
○ {variavel}
○ {VAR_DATA}
Variáveis Textuais

Variáveis simples como as textuais podem ser usadas na diretamente na query, sem parâmetros.
Exemplo:

Obrigatório:
WHERE NM_PACIENTE = '{VAR_NOME}'
Opcional:
WHERE (TRIM('{VAR_NOME}') IS NULL
OR NM_PACIENTE = '{VAR_NOME}')
Variáveis Numéricas

As variáveis simples numéricas também podem ser usadas na diretamente na query.


Exemplo:

Obrigatório:
WHERE CD_ATENDIMENTO = {VAR_CD_ATENDIMENTO}
Mesmo que o usuário
Opcional: deixe o campo vazio, o
WHERE (TRIM({VAR_CD_ATENDIMENTO}) IS NULL valor da variável será 0
OR {VAR_CD_ATENDIMENTO} = 0 em vez de NULL.
OR CD_ATENDIMENTO = {VAR_CD_ATENDIMENTO})
Variáveis Lista

Variáveis do tipo Lista podem ser usadas na diretamente na query, sem parâmetros, mas é
necessário formatá-las com uma variável auxiliar.

Lista:
WHERE VDIC_ETIQUE_PULSEIRA.CD_ATENDIMENTO IN ({CD_ATENDIMENTO_AUX})

Onde a variável auxiliar é inicializada pela expressão:


(CD_ATENDIMENTO.Count() == 0) ? "" : CD_ATENDIMENTO.ToQueryString("")
Variáveis Lista - Sintaxe da condição ternária

[Condição] ? [Resultado se verdadeira ] : [Resultado se falsa ]

“Se ... então ... caso contrário ... ”

(CD_ATENDIMENTO.Count() == 0) ? "" : CD_ATENDIMENTO.ToQueryString("")

“Se a lista for vazia , então defina a variável como vazia , caso
contrário use a função ToQueryString para formatar os valores da lista ”
Variáveis Lista - Funções

Count
Argumento: nenhum
Retorno: numérico, quantidade de itens numa lista
Exemplos:
VAR = [] -> VAR.Count(), retornará 0
VAR = [1, 2, 3] -> VAR.Count(), retornará 3
VAR = [João, Maria] -> VAR.Count(), retornará 2

ToQueryString
Argumento: texto, caractere para formatar itens da lista
Retorno: texto, valores da lista separados com vírgulas
Exemplos:
VAR = [] -> VAR.ToQueryString(“”), retornará texto vazio
VAR = [1, 2, 3] -> VAR.ToQueryString(“”), retornará 1, 2, 3
VAR = [João, Maria] -> VAR.ToQueryString(“‘”), retornará ‘João’, ‘Maria’
Parâmetros

● São necessários para converter uma


variável para o formato correto em uma
query, por exemplo, variáveis do tipo
datetime necessitam de um parâmetro
para formatar a data no formato esperado
pelo banco de dados.
● Formato de uso no query:
○ @P_DATA
○ @P_DT_ATENDIMENTO_INICIAL
Variáveis Faixa

São utilizadas para determinar um intervalo de valores textuais, numéricos ou datas. Independente
do tipo é possível acessar o valor inicial da faixa com .From e o valor final com .To. No exemplo
abaixo usamos a Faixa de data GERADA_EM e devido ao tipo datetime necessitar de formatação,
criamos os parâmetros adequados.

WHERE VDIC_LISTA_AMOSTRA_REMESSA_HSI.GERADA_EM
BETWEEN @P_GERADA_EM_INI AND @P_GERADA_EM_FIM
Exemplo Variáveis

Em um relatório foram criadas as seguintes variáveis:

VAR_ID (Long | Valor)


VAR_NAME (String | Valor)
VAR_GENDER (String | Valor, com valores predefinidos)
VAR_COMPANY (String | Lista, com valores a partir de uma fonte de dados)
VAR_ADMISSION (Datetime | Faixa)
Exemplo Variáveis

Na query da fonte de dados foram utilizadas da seguinte forma:

WHERE
(TRIM('{ VAR_NAME}') IS NULL OR NAME LIKE '%{ToUpperCase( VAR_NAME)}%')
AND
(TRIM('{ VAR_GENDER}') IS NULL OR GENDER = '{ VAR_GENDER}')
AND
(TRIM({VAR_ID}) IS NULL OR {VAR_ID} = 0 OR ID = { VAR_ID})
AND
(TRIM('{ VAR_COMPANY_AUX}') IS NULL OR COMPANY_ID IN ({ VAR_COMPANY_AUX}))
AND
(TRIM('{ VAR_ADMISSION.From}') IS NULL OR Variável auxiliar
TRIM('{ VAR_ADMISSION.To}') IS NULL OR para formatar listas
ADMISSION BETWEEN @ P_ADMISSION_INI AND @P_ADMISSION_END)

Parâmetros para
formatar datas
Exemplo Variáveis

Para o usuário final são exibidas na forma de filtro:


Variáveis passadas pelo Soul

Quando o Report Executor é chamado a partir da tela de relatórios personalizados (R_PERSON), as


seguintes variáveis são passadas:

● cdMultiEmpresa
● cdAtendimento
● cdIdPaciente

Basta criar uma variável com o mesmo nome e utilizar em fontes de dados ou diretamente no relatório,
exemplo: {cdAtendimento}.

Outras telas podem passar outros parâmetros conforme a necessidade de negócio de cada uma.
Faixas

Ordem Ícone Nome Quando é impressa

1 Cabeçalho da Página Em cada página, opcional na primeira página.

2 Título do Relatório Uma vez no início do relatório. Pode vir antes do cabeçalho da
página usando a propriedade “Título Antes de Cabeçalho”

3 Cabeçalho Uma vez antes dos dados. Impressão a cada página é opcional.

4 Cabeçalho do Grupo No início de cada grupo. Impressão a cada página é opcional.

5 Faixa de Dados Para cada registro da fonte de dados.

6 Rodapé do Grupo Ao final de cada grupo.

7 Rodapé Após todos os dados. Impressão a cada página é opcional.

8 Resumo do Relatório Uma vez no fim do relatório.

9 Rodapé da Página Em cada página, opcional na primeira página.


Faixas
Grupos

Os grupos são definidos pela faixa cabeçalho de grupo, onde é possível determinar uma condição para que
seja realizado o agrupamento dos dados. No exemplo abaixo, os registros são agrupados a partir da letra
inicial, quando é alterada de A para B ocorre uma quebra e é exibido um novo cabeçalho de grupo.
Exemplo Grupos
Exemplo Grupos

Grupo 1: Fatura
Grupo 2: Remessa
Grupo 3: Referência

Grupo 4: Prestador
Dados
Rodapé Grupo 4
Conversor MV Report

A conversão é realizado no Report Designer ao importar um relatório do MV Report (formato .rtm)


Conversor MV Report

A MV não garante 100% de fidelidade na conversão, mas maioria dos casos os


resultados chegam próximo, sendo necessário pequenos ajustes como:

● Posicionamento de elementos
● Ajustes na query SQL
● Ajustes em máscaras de datas e moeda
● Labels preenchidas programaticamente no MV Report devem ser
preenchidas com variáveis/expressões
Validação SQL

A importação não será realizada se forem


verificados FULL ACCESS em certas tabelas
(ver próximo slide), visando evitar problemas
de performance de antemão.
Esta validação é essencial para garantir a
disponibilidade do serviço de relatórios.
Nestes casos, a query deve ser avaliada da
seguinte forma:
● Confirmar se a query atende de forma
adequada os requisitos de negócio, caso
contrário simplificá-la e remover a
recuperação de dados desnecessários.
● Solicitar a avaliação de um DBA que
pode sugerir a criação de índices ou
outras melhorias.
● Usar mais condições na cláusula WHERE
restringindo ainda mais os dados
recuperados.
Tabelas que o FULL TABLE ACCESS não é permitido

AGENDA_CENTRAL, ATENDIME, AVISO_CIRURGIA, BALANCO_HIDRICO, C_CONEST, C_CONSET,


CIRURGIA_AVISO, CITPRE_MED, COLETA, COLETA_SINAL_VITAL, COL_PRO, CONTAGEM,
CUSTO_MEDIO_MENSAL, EDITOR_REGISTRO, EDITOR_REGISTRO_CAMPO, EMPRESA_PRODUTO,
ENT_PRO, ENT_SERV, EST_PRO, GUIA, HRITPRE_CONS, HRITPRE_MED, IMPRESSAO,
IT_AGENDA_CENTRAL, ITCOLETA_SINAL_VITAL, ITCOL_PRO, ITCOL_SER, ITCONTAGEM,
ITCONTAGEM_DA_ABERTURA, ITEM_CONTAGEM_USUARIO, ITENT_PRO, ITENT_SERV,
ITFAT_NOTA_FISCAL, IT_GUIA, ITLOT_ENT, ITMOV_CARDAPIO, ITMVTO_ESTOQUE,
ITMVTO_ESTOQUE_CUSTO, ITORD_PRO, ITORD_SER, ITPRE_MED, IT_PROTOCOLO_DOC,
ITREG_AMB, ITREG_FAT, IT_REPASSE, IT_SAME, ITSOL_COM, ITSOLSAI_PRO,
ITSOLSAI_PRO_ATENDIDO, LOG_MVTO_CONSIGNADO, LOT_PRO, MOV_CARDAPIO, MOV_INT,
MVTO_ESTOQUE, ORD_COM, PACIENTE, PRE_MED, PRESTADOR, PRODUTO, PROIBICAO,
PROTOCOLO_DOCA, PW_AVALIACAO_ITPRE_MED, PW_AVALIACAO_PRE_MED, PW_BALANCO_HIDRICO,
PW_DOCUMENTO_CLINICO, PW_ITBALANCO_HIDRICO, REG_AMB, REG_FAT, REGISTRO_AUDITORIA,
SAC_SOLICITACAO, SAME, SOL_COM, SOLSAI_PRO, TISS_GUIA, TISS_ITGUIA, USUARIOS
Validação SQL

A mesma validação é realizada


no designer quando uma fonte
de dados é criada ou alterada.
Executor (Visualização de Relatórios)
Executor (Formatos para exportação)

Exporta no formato de documentos da Stimulsoft


Exporta no formato PDF
Exporta no formato XPS
Exporta o HTML gerado no visualizador de relatórios
Exporta o texto presente no relatório
Gera documento RTF baseado em tabelas
Gera documento DOCX baseado em tabelas
Apenas para relatórios com dados tabulares
Apenas os dados das fontes de dados em CSV e XML
Imagens PNG, JPG, BMP e SVG
Proxy com o MV Report

Em alguns casos, devido a quantidade de relatórios existentes, a migração imediata para o Report Manager pode
ser inviável. Para facilitar este processo e minimizar os riscos, é disponibilizada uma configuração que habilita o
comportamento de proxy do Report Executor para o MV Report.
É necessário apenas definir a propriedade report.mvreport.url no arquivo application.properties
do Report Executor, exemplo: report.mvreport.url=http://piaso:85/mvreport
Atividade

● Montar relatório com:


○ Cabeçalho
○ Grupos
○ Variáveis e Parâmetros
● Configurar Acessos
● Exibir a chamada via Soul
Dúvidas?

Você também pode gostar