Prefácio
Manual do Utilizador do SQLVantage (Português)
Manual completo do sistema de relatórios SQLVantage.
Índice
- Visão Geral do Sistema
- Instalação e Implantação (Windows / Linux)
- Instruções de Configuração
- Guia do Administrador
- Guia de Design de Reportes (SQL/FORM/HTML)
- Guia do Usuário Final
- Execução de Solicitações e Resultados de Saída
- Perguntas Frequentes (FAQ)
- Apêndice: Armazenamento de Dados, Backup e Migração
1. Visão Geral do Sistema
Este é o sistema de relatórios SQLVantage. O "Administrador" mantém as definições dos relatórios, enquanto "usuários finais" selecionam um relatório na página da web, preenchem as condições de consulta, obtêm resultados de forma assíncrona e os exportam como Excel / HTML / JSON / TEXT.
1.1 O que é SQLVantage?
SQLVantage é um sistema de relatórios baseado na web. O "Administrador" mantém as definições dos relatórios, enquanto os "usuários finais" selecionam um relatório na página da web, preenchem as condições de consulta, obtêm resultados de forma assíncrona e os exportam como Excel / HTML / JSON / TEXT.
1.2 Stack Tecnológico
Este sistema tem uma arquitetura web pura: não é necessário instalar nenhum cliente ou plug-in no navegador — qualquer navegador moderno pode acessá-lo. Do lado do servidor, apenas o executável do programa e seus diretórios de configuração acompanhantes são necessários para rodar, o que facilita o déploiement.
1.3 Conceitos-chave
| Conceito | Descrição |
|---|---|
| Relatório (Report) | Um relatório = três partes de código (SQL + FORM + HTML) + três arquivos de formato JSON (SqlFormat / FormFormat / HtmlFormat); pertencente a uma "Responsabilidade" |
| Responsabilidade (Responsability) | A categoria (diretório) à qual os relatórios pertencem, correspondendo às Responsabilities no Oracle EBS; usado para agrupar relatórios por módulo para os usuários |
| Parâmetro (Parameter) | Uma condição de consulta definida no FORM (como data, cliente, organização, etc.); após o envio, passa a ser um parâmetro nomeado vinculado ao SQL |
| Solicitação (Request) | Uma tarefa específica de execução de relatório enviada por um usuário final; o sistema a executa de forma assíncrona em segundo plano e gera arquivos de resultados |
| Licença (License) | O arquivo de licença conf/license.dat que controla a quantidade de relatórios e o período de validade |
1.4 Papéis do Usuário
| Papel | Entrada | Permissões |
|---|---|---|
| Administrador (admin) | /admin/login |
Gestão de usuários, gestão de responsabilidades, gestão de relatórios, importação de licenças, configurações do sistema, monitoramento de todas as solicitações |
| Usuário final (normal) | /login |
Selecionar relatórios, preencher parâmetros, enviar solicitações, ver seus próprios solicitações, baixar resultados e mudar a senha |
1.5 Estrutura de Arquivos
Após extrair o pacote de lançamento:
SQLVantage/
├── SQLVantage.exe / sqlvantage # Programa principal (Windows / Linux)
├── conf/
│ ├── app.conf # Arquivo de configuração do sistema (porta/idioma/Oracle etc.)
│ ├── data.dat # Banco de dados de negócios (usuários/responsabilidades/relatórios/solicitações)
│ ├── license.dat # Arquivo de licença
│ └── locale/ # Pacotes de idioma
├── data/ # Gerado em tempo de execução: <ID_Solicitação>.xlsx / <ID_Solicitação>.json
├── docs/ # Documentação do usuário (multilíngue, inclui images/)
└── tmp/ # Arquivos temporários (sessões, tarefas)
2. Instalação e Implantação (Windows / Linux)
2.1 Requisitos do Ambiente
- Sistema operacional: Windows 7+ / Linux de 64 bits (x86_64)
- Modo de execução (recomendado): use diretamente o executável lançado (
SQLVantage.exeou o binário do Linux); não é necessário instalar nenhum ambiente de execução adicional - Banco de dados Oracle: a execução de relatórios requer conectividade com Oracle (o sistema se conecta por padrão ao Oracle EBS); por favor, confirme a rede e a conta antecipadamente
- Permissões de disco/diretório: o diretório de trabalho do programa deve ter permissão de escrita (writable), pois durante a execução o sistema cria os diretórios
data/etmp/e lê/escreve arquivos emconf/
2.2 Instalação no Windows
- Extrair: extraia o pacote de lançamento (zip) para qualquer diretório, por exemplo
C:\\SQLVantage\\. Após a extração, verifique se os seguintes arquivos-chave existem:
C:\\SQLVantage\\
├── SQLVantage.exe # Programa principal
├── conf\\app.conf # Arquivo de configuração
├── conf\\data.dat # Dados (base de dados vazia incluída no pacote)
└── conf\\locale\\ # Pacotes de idioma
-
(Opcional) Configuração: abra
conf\\app.confcom o Bloco de notas e modifique o endereço de escuta, porta, conexão Oracle etc. de acordo com o Capítulo 3. -
Iniciar o programa: dê dois cliques em
SQLVantage.exe, ou execute no prompt de comando:
cd C:\\SQLVantage
SQLVantage.exe
Após um início bem-sucedido, o console imprimirá informações da versão, estado da licença e entrará no estado de escuta.
-
Acessar o sistema: abra
http://127.0.0.1:8080no navegador (endereço padrão; pode ser modificado emapp.conf). -
Configuração do Firewall: se for necessário acesso LAN/remoto, abra o porta correspondente (como 8080) no firewall do Windows:
netsh advfirewall firewall add rule name="SQLVantage" dir=in action=allow protocol=TCP localport=8080
2.3 Instalação no Linux
- Extrair: extraia o pacote de lançamento (tar.gz ou zip) para o diretório de destino, por exemplo
/opt/sqlvantage:
mkdir -p /opt/sqlvantage
tar -xzf sqlvantage-linux-amd64.tar.gz -C /opt/sqlvantage
cd /opt/sqlvantage
- Conceder permissão de execução:
chmod +x sqlvantage
-
(Opcional) Configuração: edite
conf/app.conf(igual ao Windows). -
Teste de inicialização no primeiro plano:
./sqlvantage
Quando você vir a informação da versão e o registro de escuta, o início foi bem-sucedido; pressione Ctrl+C para parar.
-
Execução em segundo plano (recomenda-se systemd ou nohup):
Método A: nohup
cd /opt/sqlvantage
nohup ./sqlvantage > sqlvantage.log 2>&1 &
Método B: systemd (criar /etc/systemd/system/sqlvantage.service):
[Unit]
Description=SQLVantage Report System
After=network.target
[Service]
WorkingDirectory=/opt/sqlvantage
ExecStart=/opt/sqlvantage/sqlvantage
Restart=always
RestartSec=5
User=sqlvantage
[Install]
WantedBy=multi-user.target
Depois execute:
systemctl daemon-reload
systemctl enable sqlvantage
systemctl start sqlvantage
systemctl status sqlvantage
- Firewall / Security Group: abra o porta (como 8080):
firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload
2.4 Compilação a partir do código fonte (Não obrigatório)
Apenas para usuários que obtiveram o código fonte: execute o comando de compilação no diretório de origem para produzir um executável para a plataforma atual. Para um ambiente de deploy formal, recomenda-se usar diretamente o executável lançado.
2.5 Primeira Execução
Na primeira execução, o sistema completará automaticamente a seguinte inicialização:
- Verificar arquivo de dados: lê
conf/data.dat(incluído no pacote; se faltar, o programa indica "conf/data.dat is not found" e sai — por favor, não delete este arquivo). - Criação automática de tabelas: 4 tabelas
user,responsibility,report,requestsão criadas automaticamente. - Criação automática da conta do administrador: na primeira visita a
/admin/login, se o usuáriorootnão existir, o sistema o cria automaticamente:- Nome de usuário:
root - Senha inicial:
SQLVantage - Função: administrador
- Aviso de segurança: mude esta senha imediatamente após o primeiro login (o administrador pode alterá-la em "Gestão de Usuários").
- Nome de usuário:
- Verificar arquivo de licença: se
conf/license.datestiver faltando ou inválido, o console imprimirá um aviso; o sistema ainda pode rodar, mas estará sujeito às restrições de licença descritas na Seção 4.7.
3. Instruções de Configuração
3.1 Posicionamento do Arquivo de Configuração
O arquivo de configuração é conf/app.conf (formato INI). Existem duas formas de modificá-lo:
- Método 1 (recomendado, via interface de usuário): após fazer login como administrador, acesse "Configurações do Sistema" (
/admin/setting), preencha os valores e salve; o sistema grava automaticamente de volta emapp.conf. - Método 2 (editar o arquivo diretamente): modifique
conf/app.confcom um editor de texto e, em seguida, reinicie o programa.
3.2 Tabela de Referência de Parâmetros
| Parâmetro | Valor Padrão | Descrição |
|---|---|---|
appname |
SQLVantage |
Nome do aplicativo |
httpaddr |
127.0.0.1 |
Endereço IP de escuta; 0.0.0.0 significa escutar em todas as interfaces de rede (acessível da LAN) |
httpport |
8080 |
Porta de escuta; recomenda-se 8080~8099 |
runmode |
dev |
Modo de execução: dev (desenvolvimento, mostra detalhes de erro) / prod (produção, oculta detalhes de erro) |
language |
en-US |
Idioma padrão da interface (prioridade inferior ao parâmetro URL / Cookie / idioma do navegador) |
sessiongcmaxlifetime |
3600 |
Tempo de expiração da sessão (segundos); padrão 1 hora |
max_execution_time |
30 |
Tempo máximo de execução de uma tarefa de relatório (minutos); tarefas que exceder o tempo serão automaticamente marcadas como Terminated |
| oracle_server | Exemplo: 192.168.10.13 | IP/Hostname do servidor de banco de dados Oracle |
| oracle_port | 1521 | Porta de escuta do Oracle |
| oracle_database | test | Nome do serviço Oracle (SERVICE_NAME) |
| oracle_username | apps | Nome de usuário para conexão Oracle |
| oracle_password | nenhum | Senha de conexão Oracle (por favor, digite a senha real) |
3.3 Quando as alterações entraram em vigor
sessiongcmaxlifetime: entra em vigor imediatamente após o salvamento.- Outros parâmetros (porta, Oracle etc.): é necessário reiniciar o programa para as alterações terem efeito.
3.4 Mudança de Idioma
- O sistema tem 12 idiomas integrados: zh-CN, zh-TW, en-US, ja-JP, ko-KR, fr-FR, de-DE, es-ES, th-TH, vi-VN, ru-RU, pt-PT.
- Como mudar: adicione
?lang=pt-PTna URL (ex:/?lang=pt-PT), ou mude através do menu de idiomas no canto superior direito da console do administrador; após a escolha, será gravado em um Cookie, com validade de 1 ano.
4. Guia do Administrador
4.1 Entrada do Administrador
- Em um navegador, visite
http://<endereço do servidor>:<porta>/admin/login. - Entre com a conta do administrador (inicialmente
root / SQLVantage). - Após um login bem-sucedido, a console do administrador (
/admin) abre; o menu esquerdo contém: Gestão de Relatórios, Gestão de Responsabilidades, Gestão de Usuários, Gestão de Solicitações, Gestão de Licenças, Configuração do Sistema, Painel de Controle, Sobre Nós.
Nota: A conta do administrador deve satisfazer
Rol = admineEstado = active; caso contrário, não será possível entrar na console do administrador.
4.2 Painel de Controle e Navegação Superior
- A navegação superior permite saltos rápidos: Painel de Controle (
/admin), Execução de Relatórios (/request, janela nova) e Página Inicial do Portal (/). - No canto superior direito, é possível mudar o idioma ou sair da sessão (
/admin/logout).
4.3 Gestão de Usuários
Entrada: /admin/user (menu esquerdo "Gestão de Usuários").
Detalhes do Campo de Usuário:
| Campo | Descrição |
|---|---|
| UserName | Login-accounts; após a criação não pode ser alterado (somente leitura) |
| Opcional | |
| Role (Papel) | normal (usuário final) / admin (administrador) |
| Status (Status) | active (ativo, pode entrar em sistema) / inactive (desligado/ bloqueado, proibido entrar em sistema) |
| Password (Senha) | Obrigatório ao criar; armazenado criptografado, não exibido na interface |
Ações:
- Criação: clique no botão "Criação" → preencha Nome de usuário/Email/Papel/Status/Senha/Confirmação de senha → envie.
- Edição: clique em "Edição" na linha → pode alterar Email, Papel e Status; deixando o campo Senha em branco significa que não há alterações.
- Exclusão: clique em "Exclusão" na linha. Observação importante:
- A conta
rootnão pode ser excluída. - Um usuário que tenha relatórios não pode ser excluído (seus relatórios devem ser excluídos ou transferidos primeiro).
- A conta
Pontos de Gestão:
- A ponto de entrada para usuários finais é
/login(página inicial), e para administrador é/admin/login; os dois são diferentes. - Definir um usuário final como
inactiveé suficiente para bloquear seu login, não é necessário excluir o conta. rooté automaticamente ocultado na lista de usuários.
4.4 Gestão de Responsabilidade (Responsibility)
Entrada: /admin/responsibility (menu esquerdo "Gestão de Responsabilidade**.
Detalhes do Campo de Responsabilidade:
| Campo | Descrição |
|---|---|
| RespId | ID de responsabilidade no Oracle EBS |
| RespKey | Chave de responsabilidade no Oracle EBS |
| Nome (Nome) | Nome de exibição; também é o nome do grupo do menu de relatórios para o usuário final |
| ShortName (Nome Curto) | Opcional |
Ações:
- Criação: clique em "Criação" → selecione uma responsabilidade do usuário do dropdown (os dados vêm da interface de consulta Oracle EBS
/api/user/responsibilities/); após a seleção, RespId / RespKey / Nome serão preenchidos automaticamente; também pode ser preenchido manualmente → envie. - Edição / Exclusão: operações através dos botões na linha. Observação importante: Uma responsabilidade referenciada por um relatório não pode ser excluída.
Finalidade: Cada relatório deve pertencer a uma responsabilidade; o "Menu de Relatórios" para o usuário final é agrupado por responsabilidade (relatórios que não pertencem a nenhuma responsabilidade são agrupados no grupo "Sem Categoria").
4.5 Gestão de Relatórios
Entrada: /admin/report (menu esquerdo "Gestão de Relatórios**.
Campos do Relatório:
| Campo | Descrição |
|---|---|
| ID | Auto-numeração pelo sistema |
| Responsabilidade (Responsability) | A categoria à qual o relatório pertence |
| Nome (Nome) | Nome do relatório, visível para os usuários finais |
| Descrição | Opcional |
| Status (Status) | Draft (Rascunho) / Release (Publicado) / Discard (Cancelado) |
| Created/updated time | Automatically recorded by the system |
Ciclo de vida do Relatório (Importante):
Draft (Rascunho, fase de projeto) ──▶ Release (Publicado, visível para usuários)
│ │
│ └──▶ Não pode excluir diretamente, precisa primeiro mudar para Draft/Discard
└──▶ Discard (Cancelado, usuários não vêem)
- Apenas relatórios com status Release aparecem no menu de relatórios para usuários finais.
- Relatórios Publicados (Release) não podem ser excluídos; primeiro altere o status na lista para Draft ou Discard, e depois exclua.
- As colunas "Nome", "Descrição" e "Status" na lista suportam clicar duas vezes em uma célula para editar diretamente (salvamento automático).
Ações:
| Botão | Descrição |
|---|---|
| Criação | Formulário aparece: selecione responsabilidade, preencha Nome/Descrição/Status → envie |
| Código (roxo) | Abre o Construtor de Relatórios (consulte a Capítulo 5, a função principal deste sistema) |
| Edição (azul) | Abre o formulário de informações básicas para edição |
| Exclusão (vermelho) | Exclui o relatório (O status Release impede exclusão) |
4.6 Gestão de Solicitações (Vista do Administrador)
Entrada: /admin/request (menu esquerdo "Gestão de Solicitações**.
Administradores podem ver os solicitações de relatórios de todos os usuários (usuários finais só podem ver os seus próprios), e podem:
- Filtrar por nome do relatório/Status/Fase;
- Ver parâmetros, remetente, endereço IP e tempo de criação/Conclusão;
- No dropdown "Saída" pode baixar diretamente o resultado do solicitação em Excel / HTML / JSON / TEXT;
- Excluir individualmente, ou marcar vários e "Exclusão em Massa".
O significado dos status de solicitação veja Capítulo 7.
4.7 Gestão de Licença (License)
Entrada: /admin/license (menu esquerdo "Gestão de Licenças**.
4.7.1 O que é um arquivo de licença?
O arquivo de licença é conf/license.dat, um breve fragmento de texto emitido pelo fornecedor, contendo a seguinte informação:
| Campo | Descrição |
|---|---|
reg_id |
ID de Registro (identificador único do cliente) |
company |
Nome da empresa registrada |
expire |
Data de validade (formato YYYY-MM-DD, ex: 2026-12-31) |
O sistema verifica automaticamente a validade do arquivo de licença ao iniciar e ao importar; qualquer manuseio (modificação das informações de registro ou da data de validade) tornará a licença inválida.
4.7.2 Processo de Compra
- Entre em contato com o fornecedor/desenvolvedor do SQLVantage e forneça as seguintes informações:
- Nome/Nome da empresa (company);
- ID de registro do servidor a ser licenciado (reg_id, atribuído pelo fornecedor);
- O período de licença desejado.
- O fornecedor usa uma ferramenta de geração de licença para criar um arquivo de licença (um fragmento de texto) e o entrega ao cliente.
- Após receber o arquivo, o cliente segue a instrução 4.7.3 para importar.
4.7.3 Importação de Licença
- Administrador faz login → Gestão de Licenças (
/admin/license). - A página mostra o estado atual da licença (ID de registro / Nome da empresa / Data de validade; se inválido ou ausente, mostrará um aviso vermelho).
- Clique em "Selecionar Arquivo" e escolha o arquivo de licença recebido (pode ser nomeado como quiser, ex:
license.dat) → clique em "Importar". - Após um import bem-sucedido, o sistema verifica automaticamente e atualiza a página, mostrando as informações da licença válida.
Também pode ser colocado manualmente: salve o conteúdo do arquivo de licença como
conf/license.date, em seguida, reinicie o programa.
4.7.4 Quando não há licença / Licença expirada
| Restrição | Descrição |
|---|---|
| Número de relatórios | Sem uma licença válida (ou após o vencimento), no máximo pode existir 3 relatórios; criar mais relatórios será recusado (avisos "Limite de licença atingido") |
| Envio de solicitações | Sem licença válida e com ≥ 3 relatórios, o envio de solicitações por usuários finais será recusado |
| Vencimento da licença | Após o vencimento, não afeta as operações já logadas, mas criar relatórios / enviar solicitações serárestrito |
4.8 Configurações do Sistema
Entrada: /admin/setting (menu esquerdo "Configurações do Sistema"), edição visual de conf/app.conf:
- Configurações de aplicação: endereço de escuta, porta, modo de execução, idioma padrão, tempo máximo de execução;
- Configurações de sessão: tempo de expiração da sessão (segundos);
- Configurações de banco de dados Oracle: servidor, porta, nome da serviço, nome de usuário, senha (com botão de alternância entre texto/plain e cifrado).
Após salvar, alguns parâmetros entram em efeito imediatamente; parâmetros como porta exigem reinicialização do programa.
4.9 Sobre Nós
Entrada: /admin/aboutus, visualizar versão do sistema, informações de lançamento e etc.
5. Guia de Design de Reportes (SQL/FORM/HTML)
Esta é a função mais importante do SQLVantage. Um relatório consiste em três partes:
- SQL: define quais dados consultar (fonte SQL + configuração de metadados de coluna)
- FORM: define quais condições de consulta o usuário preenche (formulário de parâmetros)
- HTML: define como os resultados são exibidos (tabela / gráfico / layout KPI card)
Cada um dos três tem dois pedaços de dados — "código" e "formato JSON" — que são salvos no registro do relatório no final.
5.1 Espaço de Trabalho do Construtor
5.1.1 Entrada no Construtor
- Entre como administrador → Gestão de Relatórios (
/admin/report). - Encontre o relatório alvo e clique na botão "Code" (roxo).
- Um grande espaço de construtor aparece (cerca de 98% da tela), o interface dividido em painéis esquerdo e direito:
┌────────────────────────────────────────────────────────┐
│ [下拉:SQL设计 | FORM设计 | HTML设计] [保存全部] │
├───────────────────────────────┬────────────────────────┤
│ Esquerda: Editor de Código │ Direita: Layout Dinâmico │
│ (Código SQL / Código FORM / │ (mudança conforme o modo esquerdo) │
│ Código HTML) comparten um editor │ · SQL: Tabela de metadados de coluna │
│ │ · FORM: Tabela de configuração de parâmetros │
│ │ · HTML: Tabela de configuração de blocos │
└───────────────────────────────┴────────────────────────┘
5.1.2 Os Três Modos
A barra desplegável em cima alterna o modo de projeto; o editor esquerdo e o painel direito se sincronizam:
| Modo | Conteúdo do Editor | Painel Direito |
|---|---|---|
| SQL-Design | SQL query do relatório (Syntax Oracle) | Tabela de metadados de coluna (afeta o Excel-Export/títulos de colunas da página) |
| FORM-Design | HTML código do formulário de parâmetros | Tabela de configuração de parâmetros + Visualização antecipada + Rascunho de código FORM |
| HTML-Design | HTML código de exibição de resultados (fragmento de modelo) | Tabela de configuração de blocos + Visualização antecipada do layout + Rascunho de código HTML |
5.1.4 Salvando
- Enquanto projetar: mudanças no painel direito são automaticamente gravadas nos campos ocultos (
sql_code/sql_format/form_code/form_format/html_code/html_format). - Salvamento Oficial: clique no botão "Salvar Tudo" no canto superior esquerdo para enviar todos os seis conjuntos de dados para
/admin/report/code/e salvá-los na base de dados.
Importante: Depois de editar SQL / FORM / HTML, certifique-se de clicar em "Salvar Tudo"; caso contrário, as mudanças serão perdidas ao fechar a janela.
5.2 Módulo SQL (Projeto da Fonte de Dados do Relatório)
5.2.1 Escreva o SQL Query
- SQL usa syntax Oracle; escreva diretamente um comando SELECT (FROM/JOIN/WHERE/GROUP BY e etc. podem ser incluídos).
- As condições de query usam marcadores de posição nomeados
:nome_do_parâmetro, e o nome do parâmetro deve corresponder aofielddefinido no modo FORM. Por exemplo, se no modo FORM definido o parâmetroP_OU_ID, escreva o seguinte em SQL:
SELECT company_name, ou_id, amount
FROM fnd_ou_tl
WHERE ou_id = :P_OU_ID
- Todos os nomes de coluna selecionados no SQL são os identificadores de campo do Excel-export e da tabela HTML da página (recomenda-se usar maiúsculas uniformemente, por exemplo
COMPANY_NAME).
5.2.2 Tabela de Metadados de Coluna SQL (Chave: Excel-Export)
"A Tabela de Metadados de Coluna SQL" à direita tem 1 linha para cada coluna saída por SQL:
| Coluna | Descrição | Exemplo |
|---|---|---|
| field | O nome da coluna saída por SQL (automatically convertido para letras maiúsculas ao inserir) | AMOUNT |
| title | Título de exibição — o Excel-Export Header e o título da coluna da página da web | Amount |
| type | text / number / percent / date / month / time / datetime |
number |
| precision | Número de casas decimais para valores numéricos (padrão 2) | 2 |
| format | Formato personalizado de números/para Excel | #,##0.00 |
| align | left / center / right |
right |
Ações: clique em "Adicionar linha" para adicionar um coluna → dois cliques em uma célula para preencher →Snapshot JSON será automaticamente criado (a área de visualização de código negra à direita) e imediatamente gravado em sql_format em tempo real.
5.3 Mãozinha entre a Configuração de Coluna SQL e Excel-Export
O sistema gera o arquivo Excel (xlsx) em segundo plano de acordo com as seguintes regras de mãozinha:
| Configuração de Coluna | Comportamento de Excel-Export |
|---|---|
field |
Correspondendo ao nome da coluna do resultado da query e definindo qual coluna esta configuração de linha aplica-se |
title |
Escrito na célula de cabeça da linha 1, ou seja, o título do cabeçalho do Excel |
type = text |
O valor é escrito na célula como texto |
type = number |
O valor é escrito como número, com casas decimais = precision; se format configurado, é output com o formato numérico personalizado, exemplo #,##0.00 |
type = percent |
O valor é output em formato percentual; format pode sobrescrever, exemplo 0.00% |
type = date |
O valor é output como data; format pode ser usado como formato de data, exemplo yyyy-mm-dd |
align |
Alinhamento horizontal da célula: left / center / right |
precision |
Precisão numérica (padrão 2) |
Em resumo: A Tabela de Metadados de Coluna SQL é a definição completa de "cabeçalho + tipo de coluna + formato numérico + alinhamento" do Excel-Export. Mesmo sem nenhuma configuração, o Excel ainda pode ser exportado (tipo de texto padrão, alinhado à esquerda, os títulos das colunas usam os nomes de colunas originais), mas o Excel exportado depois de configuração será mais profissional.
5.3 Módulo FORM (Projeto da Forma de Parâmetros de Query)
5.3.1 Tabela de Configuração de Parâmetros
"A Tabela de Configuração de Parâmetros" à direita define 1 linha 1 parâmetro de query:
| Coluna | Descrição | Exemplo |
|---|---|---|
| field | Código do parâmetro; deve coincidir com :nome_do_parâmetro em SQL |
P_OU_ID |
| label | A label de texto exibido no formulário | Doença |
| type | Veja a tabela de tipos abaixo | select |
| value | Opcional; valor inicial | 101 |
| verify | Regra de verificação (ex: required) |
required |
| static_options | Opções estáticas para Dropdown/Radio; formato key:value,key:value |
101:São Paulo,102:Rio de Janeiro |
| api_url | Endereço API para opções dinâmicas; pode conter {nome_da_variável} marcadores |
/api/query?ou={P_OU_ID} |
| query_sql | SQL query para opções dinâmicas; pode conter {nome_da_variável} marcadores; retorna 2 colunas (value/text) |
SELECT id, name FROM tab WHERE ou = {P_OU_ID} |
Tabela de Tipos:
| Tipo | Descrição |
|---|---|
text |
Entrada de texto de uma linha |
number |
Entrada de número |
select |
Lista desplegable (opções das opções estáticas ou API/SQL dinâmico) |
radio |
Grupo de botões de opção (opções das opções estáticas) |
date |
Escolha de data (YYYY-MM-DD) |
year |
Escolha de ano |
month |
Escolha de mês |
time |
Escolha de hora |
datetime |
Escolha de data e hora |
hidden |
Entrada oculta (não aparece, mas ainda é passada com o formulário) |
temp |
Valor temporário (não é passada) |
5.3.2 Apoio de Parâmetros (Filtro Dependente)
-
api_url/query_sqlsuporta{nome_da_variável}marcadores: quando o usuário muda um parâmetro upstream (por exemplo, seleciona uma organização), o sistema automaticamente substitui o marcador pelo valor real na forma atual e solicita dinamicamente as opções do dropdown downstream. -
Se o parâmetro upstream não for preenchido, o dropdown downstream mostrará "Primeiro complete os filtros acima" e limpará as opções, evitando dados sujos.
-
Escolha um dos dois: Dropdown estático (
static_options) e dropdown dinâmico (api_url/query_sql).
Requisito de formato de dados para dropdowns dinâmicos: cada registro retornado pelo API/SQL deve conter 2 campos:
val(valor) etxt(texto exibido).
5.3.3 Previsão Direta e Geração de Código
- Debaixo da tabela fica o "Pré-visualização Direta": enquanto configura parâmetros, o formulário (incluindo controladores de data, dropdowns dependentes etc.) é exibido em tempo real.
- "Rascunho de Código de Formulário" embaixo gera automaticamente o código HTML do formulário em tempo real.
- Clique no botão "Copiar e Aplicar": o rascunho de código é escrito no editor (modo FORM) e sincronizado com
form_code/form_format.
Você também pode pular a direita e escrever manualmente HTML Form (syntax de formulário) diretamente no editor esquerdo; também funciona ao salvar.
5.3.4 Tempo Real
Depois que o usuário final submeter o formulário, o sistema ligará os dados do formulário com SQL como parâmetros nomeados e executará; os parâmetros também serão registrados no solicitação, para que a página de resultados/arquivo de exportação possa refletir as condições de query.
5.4 Módulo HTML (Projeto de Exibição de Resultados)
5.4.1 Tabela de Configuração de Blocos HTML
Cada linha "Tabela de Configuração de Blocos HTML" à direita define 1 bloco de exibição:
| Coluna | Descrição | Exemplo |
|---|---|---|
| block_id | ID único do bloco (usado como prefixo do DOM id gerado) | chart_zone |
| title | Título do bloco | Tendência de Custos |
| grid_md | Largura do grid 1~12 (12 ocupa entire linha) | 8 |
| component | table / chart / card / custom (container customizado) |
chart |
| subtotal | Y (ativar linha de soma para tabela) / N |
N |
| chart_type | line (gráfico de linha) / bar (gráfico de barra) |
line |
| x_field | Campo do eixo X (dos resultados de saída SQL) | MONTH |
| y_fields | Campos do eixo Y; vários separados por vírgula em inglês | TOTAL_AMOUNT |
Gíria dos Elementos:
| Elemento | Efeito de exibição | Técnica tempo real |
|---|---|---|
table |
Tabela de dados com paginação e ordenação; títulos de coluna vêm da metadata de coluna title; com subtotal=Y, colunas numéricas exibem linha de soma |
table |
chart |
Gráfico (line/bar); os campos do eixo X/Y vêm da configuração | chart |
card |
Card KPI exibindo valores then chicot | Venda autodefinida |
custom |
Container customizado | HTML |
5.4.2 Pré-visualização Direta e Geração de Código
- "Pré-visualização Direta" exibe um imagens de alta fidelidade de cada bloco em tempo real (título + tipo de bloco + largura).
- "Rascunho de Código HTML" gera automaticamente o código HTML em tempo real (incluindo atributos tempo real como
data-component,data-subtotal,data-charttype,data-xfield,data-yfields). - Clique em "Copiar e Aplicar": escreve no editor e sincroniza
html_code/html_format.
Você também pode escrever manualmente HTML Template direto no editor esquerdo (suporte a sintaxe de template popular). Para os dados objetos disponíveis ao renderizar, veja 5.4.3.
5.4.3 Mecanismo de Exibição da Página de Resultado
Quando o usuário final carrega/x-ray resultados HTML (/request/output?ext=html), o sistema combinará o código do relatório com o resultado JSON da query, metadata coluna e etc.:
| Variável Modelo | Descrição |
|---|---|
data |
A matriz de resultado da query JSON (inject em tempo real; combinado com {{.data}} saída como dados JS) |
params |
Os parâmetros desta solicitação (pares chave-valor) |
colsConfig |
Metadata SQL coluna (usado para títulos de coluna da tabela / nomes de series do gráfico) |
reportName / reportDate / status |
Nome do relatório, tempo de criação, status |
A página automaticamente将容器 com data-component="table" em tabela de dados, chart em gráfico e card em card KPI.
5.5 Processo de Lançamento de Relatório (Recomendado para Administrador)
1. Gestão de Relatórios → Criar novo relatório (selecionar responsabilidade, preencher Nome, selecionar status Draft)
2. Clique em "Code" para entrar no Construtor
3. SQL-Design: Escreva SQL + configure metadados de coluna (é a base para Excel-Export)
4. FORM-Design: Configure parâmetros (compatível 1-1 com SQL parâmetros)
5. HTML-Design: Configure layout de exibição (Tabela/Gráfico/KPI card)
6. Clique em "Salvar Tudo" → Feche o Construtor
7. Volte à lista de relatórios, altere o status para Release (publicado)
8. Usuário comum login instantaneamente pode ver este relatório no menu de relatórios e executá-lo
5.5 G sobre Projeto
- Os nomes dos parâmetros em SQL e FORM devem coincidir exatamente (SQL usa
:nome_do_parâmetro, FORM usafield). - Os nomes das colunas SQL devem ser letras maiúsculas; a tabela de metadados de coluna automaticamente将
fieldtransformar em letras maiúsculas. - SQL do relatório deve ser pre-compilável por Oracle (
db.Prepare); erros de sintaxe levarão ao fracasso da execução do pedido (Status Error). - Sem licença válida, o número de relatórios está limitado a 3; antes de projetar, verifique o estado da licença.
- Após salvar, é possível executar um pedido uma vez em "Gestão de Solicitações" ou no lado do usuário final para verificar se SQL e a exibição estão corretos.
6. Guia do Usuário Final
6.1 Entrada em Sistema
- Método um: ERP autenticação (Oracle EBS Single Sign-On)
- Método dois: Conta local