Mudanças entre as edições de "Manual de criação de Menus e Módulos"

De GeoSales
Ir para navegação Ir para pesquisar
 
(9 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 60: Linha 60:
  
 
Criar a ação de visualização do menu na enumeração GSActions
 
Criar a ação de visualização do menu na enumeração GSActions
 +
 +
[[Arquivo:Criar menu java enum actions.png]]
 +
 +
A atribuição de menu para um módulo é feita via banco (bd_ssm_login), na tabela MENU_MODULO
 +
Criar a ação no banco (bd_ssm_login) na tabela ACAO, o campo ID_ACAO deve ter o mesmo valor do enum criado na enumeração GSActions, o campo DS_ACAO indica a descrição desejada para o módulo, o campo TIPO_ACAO por enquanto tem dois possíveis valores (1- Ação do tipo visualização de módulo, 2- Ação do tipo visualização de menu).
  
 
== Estrutura de banco ==
 
== Estrutura de banco ==
 +
 +
{| class="wikitable"
 +
! colspan="5"  | MENU
 +
|-
 +
! style="width:200px" |Coluna
 +
! |Tipo
 +
! |Obrigatório
 +
! |Explicação
 +
|-
 +
| CD_MENU || INT || SIM || Código do Menu
 +
|-
 +
| ID_MENU || VARCHAR || SIM || ID do menu que deve ser idêntico ao da enumeração GSIdMenu
 +
|-
 +
| DS_MENU || VARCHAR || SIM || Descrição que vai aparecer do Menu
 +
|-
 +
| TARGET || VARCHAR || NÃO || Classe que é aberta quando o Menu é escolhido
 +
|-
 +
| ATIVO || BIT || NÃO || Flag que identifica se o menu está ou não ativo
 +
|}
 +
 +
 +
{| class="wikitable"
 +
! colspan="5"  | MODULO
 +
|-
 +
! style="width:200px" |Coluna
 +
! |Tipo
 +
! |Obrigatório
 +
! |Explicação
 +
|-
 +
| CD_MODULO || INT || SIM || Código do Módulo
 +
|-
 +
| DS_MODULO || VARCHAR || SIM || Descrição que vai aparecer para o Módulo
 +
|-
 +
| NM_MODULO || VARCHAR || SIM || Nome que será utilizado para mapear o Módulo na aplicação
 +
|-
 +
| ATIVO || BIT || NÃO || Flag que identifica se o módulo está ou não ativo
 +
|}
 +
 +
 +
{| class="wikitable"
 +
! colspan="5"  | ACAO
 +
|-
 +
! style="width:200px" |Coluna
 +
! |Tipo
 +
! |Obrigatório
 +
! |Explicação
 +
|-
 +
| CD_ACAO || INT || SIM || Código da ação
 +
|-
 +
| CD_MODULO || INT || SIM || Código do Módulo ao qual a ação faz parte
 +
|-
 +
| ID_ACAO || VARCHAR || SIM || Identificador da ação que deve ser idêntico ao enum GSActions
 +
|-
 +
| DS_ACAO || VARCHAR || NÃO || Descrição desejada da ação
 +
|-
 +
| TIPO_ACAO || VARCHAR || NÃO || Identificador do Tipo da Ação (1- Ação de Visualização de Módulo e 2 pra Ação de Visualização de Menu)
 +
|-
 +
| ATIVO || BIT || NÃO || Flag que identifica se a ação está ou não ativa
 +
|}
 +
 +
Na tabela MODULO_EMPRESA (bd_ssm_login) é descrito quais módulos são utilizados por quais empresas.
 +
 +
Na tabela MENU_MODULO (bd_ssm_login) é descrito quais menus são pertencentes a quais módulos
 +
 +
== Troubleshooting ==
 +
 +
'''- Meu módulo não aparece:'''
 +
 +
#Existe ação de visualizar módulo?
 +
#Ação de visualizar módulo está ativa para o perfil em questão?
 +
#Existe algum menu ativo pra esse módulo?
 +
#O módulo está ativo para a empresa em questão?
 +
 +
'''- Meu menu não aparece:'''
 +
 +
#Existe ação de visualizar menu?
 +
#Ação de visualizar menu está ativa para o perfil em questão?
 +
#Você tem certeza que o campo ID_MENU da tabela menu está idêntico ao valor do enum GSIdMenu?
 +
#Existe relação entre Menu e Modulo na tabela MENU_MODULO?
 +
 +
'''- Não consigo abrir meu menu pela pesquisa superior: '''
 +
 +
#Existe ação de visualizar menu?
 +
#Ação de visualizar menu está ativa para o perfil em questão?
 +
#Você tem certeza que o campo TARGET da tabela menu está idêntico ao valor do enum GSTargetMenu?

Edição atual tal como às 17h22min de 11 de setembro de 2018

Histórico de Alterações

Data Quem Comentários
05/09/2018 Ryvane Maria Criação do documento

Criando um módulo

Criar o módulo dentro do pacote br.com.softsite.geosales.portal.client.component.menu.modulo o componente módulo, que deve implementar a interface GSModulo.

Obs: Os códigos abaixo estão disponíveis no GIT. Link: https://gitlab.com/SoftSite/geosales/wikis/cria%C3%A7%C3%A3o-de-menus-e-m%C3%B3dulos

- JAVA:

Criar modulo java.png

- UI.XML:

Criar modulo ui.png

Mapear na classe MenuManager e no método buscaModulo o modulo desejado ao valor no padrão CamelCase. O valor do enum deve ser idêntico ao DS_MODULO do módulo criado no banco

Criar modulo java codigo.png

Criar o módulo no banco (bd_ssm_login) (Tabela MODULO), o campo DS_MODULO é a descrição que aparecerá do modulo e o campo NM_MODULO deve ser idêntico ao valor da enumeração equivalente

Criar a ação de visualização do módulo na enumeração GSActions.

Criar modulo java enum.png

Criando um menu

Criar dentro do pacote br.com.softsite.geosales.portal.client.component.menu.item o componente menu, que deve implementar a interface GSItemMenu

- JAVA:

Criar menu java.png

- UI.XML:

Criar menu ui.png

Criar na enumeração GSIdMenu o menu com o valor criado no padrão CamelCase

Criar menu java enum.png

Implementar no método buscaMenuModuloPorEnum da enumeração GSIdMenu o mapeamento do enum pra classe criada

Criar menu java enum busca.png

Criar na enumeração GSTargetMenu o menu com o valor criado sendo o nome da classe que o menu abre no padrão CamelCase

Criar menu java enum implement.png

Criar o menu no banco (bd_ssm_login) (Tabela MENU), o campo ID_MENU deve ser o mesmo exato nome do valor da enumeração criada. O campo DS_MENU é a descrição que irá aparecer do menu. E o campo TARGET deve ser exatamente a classe que o menu abre.

Criar a ação de visualização do menu na enumeração GSActions

Criar menu java enum actions.png

A atribuição de menu para um módulo é feita via banco (bd_ssm_login), na tabela MENU_MODULO Criar a ação no banco (bd_ssm_login) na tabela ACAO, o campo ID_ACAO deve ter o mesmo valor do enum criado na enumeração GSActions, o campo DS_ACAO indica a descrição desejada para o módulo, o campo TIPO_ACAO por enquanto tem dois possíveis valores (1- Ação do tipo visualização de módulo, 2- Ação do tipo visualização de menu).

Estrutura de banco

MENU
Coluna Tipo Obrigatório Explicação
CD_MENU INT SIM Código do Menu
ID_MENU VARCHAR SIM ID do menu que deve ser idêntico ao da enumeração GSIdMenu
DS_MENU VARCHAR SIM Descrição que vai aparecer do Menu
TARGET VARCHAR NÃO Classe que é aberta quando o Menu é escolhido
ATIVO BIT NÃO Flag que identifica se o menu está ou não ativo


MODULO
Coluna Tipo Obrigatório Explicação
CD_MODULO INT SIM Código do Módulo
DS_MODULO VARCHAR SIM Descrição que vai aparecer para o Módulo
NM_MODULO VARCHAR SIM Nome que será utilizado para mapear o Módulo na aplicação
ATIVO BIT NÃO Flag que identifica se o módulo está ou não ativo


ACAO
Coluna Tipo Obrigatório Explicação
CD_ACAO INT SIM Código da ação
CD_MODULO INT SIM Código do Módulo ao qual a ação faz parte
ID_ACAO VARCHAR SIM Identificador da ação que deve ser idêntico ao enum GSActions
DS_ACAO VARCHAR NÃO Descrição desejada da ação
TIPO_ACAO VARCHAR NÃO Identificador do Tipo da Ação (1- Ação de Visualização de Módulo e 2 pra Ação de Visualização de Menu)
ATIVO BIT NÃO Flag que identifica se a ação está ou não ativa

Na tabela MODULO_EMPRESA (bd_ssm_login) é descrito quais módulos são utilizados por quais empresas.

Na tabela MENU_MODULO (bd_ssm_login) é descrito quais menus são pertencentes a quais módulos

Troubleshooting

- Meu módulo não aparece:

  1. Existe ação de visualizar módulo?
  2. Ação de visualizar módulo está ativa para o perfil em questão?
  3. Existe algum menu ativo pra esse módulo?
  4. O módulo está ativo para a empresa em questão?

- Meu menu não aparece:

  1. Existe ação de visualizar menu?
  2. Ação de visualizar menu está ativa para o perfil em questão?
  3. Você tem certeza que o campo ID_MENU da tabela menu está idêntico ao valor do enum GSIdMenu?
  4. Existe relação entre Menu e Modulo na tabela MENU_MODULO?

- Não consigo abrir meu menu pela pesquisa superior:

  1. Existe ação de visualizar menu?
  2. Ação de visualizar menu está ativa para o perfil em questão?
  3. Você tem certeza que o campo TARGET da tabela menu está idêntico ao valor do enum GSTargetMenu?