Os parâmetros dos sistemas são informações utilizadas nas regras de negócio dos mesmos que podem variar com frequência, não devendo portanto serem utilizados diretamente no código.
Tais parâmetros, são salvos em uma tabela no banco de dados comum que contém os parâmetros de todos os sistemas, identificados por um código.
SIGAdmin → Portal da Admin → Config. do Sistema → Parâmetros
Os parâmetros são identificados por um código que é do tipo String. Essa String está no formato “sistema_subsistema_sequencial”, onde sistema, subsistema e sequencial são números que representam o sistema do qual o parâmetro faz parte, o subsistema do qual o parâmetro faz parte e o número do parâmetro dentro do subsistema em questão. Caso um parâmetro não esteja associado a um subsistema (é um parâmetro global do sistema), deve-se utilizar o número 0.
As constantes que armazenam os códigos dos parâmetros nos sistemas devem estar bem separadas em classes que definem o subsistema do qual fazem parte. No SIGAA existem classes, como ParametrosEnsino, ParametrosPesquisa, ParametrosMonitoria, etc. No SIPAC existem classes como ParametrosCompras ou ParametrosLiquidacao. No SIGRH, existem classes como ParametrosHoraExtra, ParametrosOcorrencias, ParametrosLeituraSiape, etc. Em todos os sistemas, os parâmetros que não pertencerem a um subsistema específico ficam na classe ParametrosGerais.
Assim, se for necessário criar um parâmetro como TEMPO_MAXIMO_HOMOLOGACAO_STRICTO, que diz quanto tempo um aluno de pós-graduação stricto sensu tem para entregar a versão final da dissertação/tese após a defesa, devemos colocá-lo na classe ParametrosStricto do SIGAA e identificá-lo com um código como 2_10700_1. O 2 representa o sistema SIGAA, o 10700 representa o subsistema Stricto Sensu e o 1 é um sequencial por subsistema.
O valor atual dos parâmetros pode ser recuperado utilizando a classe ParametroHelper
da arquitetura. Essa classe é um singleton e possui o método getParametro()
, que possui como argumento o código do parâmetro. Existem outros métodos como getParametroInt()
, getParametroBoolean()
ou getParametroDate()
, que chamam o getParametro
e convertem a String retornada no tipo informado no nome do método.
Para criar um parâmetro no sistema, as tabelas abaixo devem está preenchidas respectivamente. A operação de cadastro de parâmetros deve ser realizada diretamente no Banco de Dados:
Para cadastrar um SISTEMA, por exemplo, SIPAC, a tabela abaixo deve ser preenchida.
Nome da tabela: comum.sistema
.
Campo | Descrição | Tipo de Dados |
---|---|---|
id | Identificador da tabela: chave primária | Numérico não nulo |
descricao | Representa o nome do sistema. | Texto de tamanho 50 |
ativo | Indica se o sistema está ativo ou não. Os valores que podem ser inseridos são 0 ou 1. | Booleano não nulo DEFAULT true |
manutencao | Indica se o sistema está em manutenção. Os valores que podem ser inseridos são 0 ou 1. | Booleano |
Para cadastrar um SUB-SISTEMA, por exemplo, CONTRATOS, a tabela abaixo deve ser preenchida.
Nome da tabela: comum.subsistema
.
Campo | Descrição | Tipo de Dados |
---|---|---|
id | Identificador da tabela: chave primária | Numérico Não Nulo |
id_sistema | Sistema ao qual pertence o subsistema | Numérico Não Nulo |
nome | Nome do subsistema. | Texto(50) |
link_entrada | URL da página inicial do subsistema. | Texto(255) |
Caso já exista armazenado o sistema e o subsistema nas suas respectivas estruturas de dados, apenas deve ser cadastrado os dados do parâmetro, conforme a estrutura a seguir:
Campo | Descrição | Editável | Tipo de Dados |
---|---|---|---|
id | Identificador da tabela: chave primária | NÃO | Numérico Não Nulo |
codigo | Código que representa o parâmetro. | NÃO | Texto(20) |
id_sistema | Identifica o sistema ao qual o parâmetro pertence. Está contido na tabela comum.sistema no banco de dados sistemas_comum_update_geral → comum. | NÃO | Numérico Não Nulo |
id_subsistema | Identifica o subsistema ao qual o parâmetro pertence. Está contido na tabela comum.subsistema sistemas_comum_update_geral → comum | NÃO | Numérico |
nome | Nome do parâmetro. Nome da constante no sistema. | NÃO | Texto(100) |
valor | Valor atribuído ao parâmetro. | SIM | Texto |
descricao | Descrição da utilidade do parâmetro no sistema. | SIM | Texto(500) |
tipo | Tipo de dados do parâmetro. | SIM | Inteiro |
padrao | Formato das informações do parâmetro. | SIM | Texto(100) |
valor_minimo | Valor mínimo para o parâmetro (em caso de valor numérico). | SIM | Decimal |
valor_maximo | Valor máximo para o parâmetro (em caso de valor numérico). | SIM | Decimal |