Home

TOTVS | Plataformas e tecnologias

Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Deck of Cards
id5
Card
id5
labelPasso 1

 

Selecione a aba Script na pagina do relatório e em seguida selecione o evento initialize, em inclua o seguinte código conforme figura 11:

 

Figura 11 – Evento initialize


 

Bloco de código
importPackage(Packages.java.io); 
importPackage(Packages.com.datasul.technology.webdesk.dataset.service); 
 
importPackage(Packages.java.util); 
 
var query = null; 
var resultSet = null; 
 
var rowMap = null; 
var count = 0; 
var sqlJpa = "";

 

O código a cima importa as bibliotecas Java™ e a biblioteca disponibilizada pelo TOTVS | ECM para consulta aos dados do produto via JPA, além de realizar a inicialização das variáveis utilizadas pelo relatório.

Detalhes sobre o código:

  • importPackage: comando responsável pela importação de bibliotecas Java™;
  • Package.java.util: biblioteca responsável pelas Classes utils do Java™;
  • Packages.com.datasul.technology.webdesk.dataset.service: biblioteca disponibilizada pelo TOTVS | ECM para consulta ao banco de dados do produto via consula JPA;
Card
id5
labelPasso 2

 

Selecione a aba Data Explorer, expanda o item Data Sets e clique no colleagueDataSet em seguida clique na aba Script então selecione o evento beforeOpen conforme a figura 12.

 

Figura 12 – Evento onBeforeOpen.

 

Em seguida, inclua o seguinte código:

Bloco de código
try { 
 
query = new QueryDelegate(); 
 
sqlJpa = "SELECT c from Colleague c"; 
 
sqlJpa = sqlJpa + " WHERE c.colleaguePK.companyId = ${WKCompany}"; 
 
if(params["Matricula"].value != null) { 
 
if (params["Matricula"].value != "*") { 
sqlJpa = sqlJpa + 
" AND c.colleaguePK.colleagueId = '" + 
params["Matricula"].value + "'";
if(params["paramEnable"].value != null) 
{ 
if (params["paramEnable"].value != "*") { sqlJpa = sqlJpa + " AND c.active = " + params["paramEnable"].value; } } } else { if(params["paramEnable"].value != null) { if (params["paramEnable"].value != "*") { sqlJpa = sqlJpa + " AND c.active = " + params["paramEnable"].value; } } } } sqlJpa = sqlJpa + " ORDER BY " + params["paramSort"].value; resultSet = query.getResultQuery(sqlJpa); } catch (e) { } finally { }

 

O código acima monta a consulta do relatório através da consulta JPA e inclui os filtros da solicitação de acordo com os parâmetros definidos pelo usuário.
Detalhes sobre o código:

  • query: objeto da biblioteca TOTVS | ECM sendo responsável pela consulta dos dados no produto por meio de instrução JPA;
  • sqlJpa: variável responsável pela geração do script de consulta JPA, criado a partir dos parâmetros definidos pelo usuário;
  • ${WKCompany}: TAG disponibilizada pelo TOTVS | ECM, retorna o código da empresa que o usuário está autenticado;
  • params["Matricula"]: parâmetro de relatório, retorna o código da matricula definido pelo usuário;
  • params["paramEnable "]: parâmetro de relatório, retorna o tipo de usuário;
  • params["paramSort "]: parâmetro de relatório, retorna o modo de ordenação;

 

Card
id5
labelPasso 3

 

Para incluir o resultado da consulta no Data Set e formatar os dados do relatório, selecione o evento fetch na área de Script, conforme figura 13.

 

Image Added

Figura 13 – Evento fetch.

 

Em seguida inclua o seguinte código:

Bloco de código
if (resultSet != null) { if(count < resultSet.size()){ var rowMap = resultSet.get(count); row["colleagueId"] = rowMap.get("colleagueId"); row["login"] = rowMap.get("login"); row["colleagueName"] = rowMap.get("colleagueName"); row["mail"] = rowMap.get("mail"); var active = rowMap.get("active"); if (active == "true") {
row["active"] = "Sim"; } else { row["active"] = "Não"; } var adminUser = rowMap.get("adminUser"); if (adminUser == "true") { row["adminUser"] = "Sim"; } else { row["adminUser"] = "Não"; } count++; return true; } } return false;

 

O código acima verifica se houve resultado na consulta JPA, caso houver ele incluí os dados no Data Set e formata os campos usuário ativo e administrador.
Detalhes sobre o código:

  • resultSet: objeto que contém o retorno da consulta JPA;
  • rowMap: variável do tipo HashMap que possibilita a busca dos campos do retorno da consulta;
  • row: variável do BIRT que armazena os registros do Data Set;

 

Obtendo dados via conexão JDBC