DES:SGPS

De Wiki Unioeste NTI
(Diferença entre revisões)
Ir para: navegação, pesquisa
(Processos Seletivos)
(Inserção e Remoção de Acessos de Pessoas)
 
(41 edições intermediárias de 2 usuários não apresentadas)
Linha 4: Linha 4:
 
== Processos Seletivos ==
 
== Processos Seletivos ==
 
=== Controle de Acesso ===
 
=== Controle de Acesso ===
* Na tabela PrcSltGrupo serão cadastrados os SQLs que retornam grupos de pessoas físicas. Por exemplo, pode ser cadastrado um SQL para retornar servidores da DCV, outro SQL para servidores das DAs. Essas SQLs devem ser cadastradas sem vínculo com processos seletivos, para que possam ser usadas por qualquer processo.
+
==== Cadastro de Grupos ====
* Na tabela PrcSltCntAcesso será vinculado o processo seletivo a que se refere o controle, o SQL que será utilizado (proveniente da tabela PrcSltGrupo) e o tipo de acesso que esse grupo de pessoas terá (TblGrlItm_PrcSltTpAcesso).
+
* O cadastro de ''Grupo'' é usado para definir grupos de pessoas, por meio de SQLs que são gravadas na tabela ''PrcSltGrupo''
* Tendo essas informações cadastradas, deverá existir um job no Sql Server que será executado a cada 10 minutos (ou uma trigger), executando as SQLs de controle de acesso. As pessoas retornadas pelas consultas deverão ser inseridas (ou removidas) na tabela PrcSltCntAcsPssFisica, a qual deverá manter a lista de pessoas que estão vinculadas a um PrcSltCntAcesso específico.
+
** exemplos: pode ser cadastrada SQL para selecionar servidores da DCV, outra SQL para servidores das DAs, etc
* Os padrões de acesso do SGPS deverão ter seus SQLs alterados para consultar essa tabela. Por exemplo, o padrão SGPS-AnlDoc deverá ter uma consulta que retorne todas as pessoas físicas que tenham o papel "Análise Documental":
+
* Estes ''Grupos'' são utilizados em 2 módulos do SGPS: módulo de Inscrições e módulo de gestão para fins de Controle de Acesso aos processos seletivos
 +
* dados na ''PrcSltGrupo''
 +
** quando o Processo Seletivo for registrado, significa que o Grupo é usado para no módulo de Inscrições para restringir quem pode efetuar inscrições
 +
** quando o Processo Seletivo não for registrado, significa que o Grupo é usado no módulo de Gestão para restringir quem pode acessar e gerir os processos e inscritos
 +
* Acesso ao cadastro:
 +
** módulo de Inscrições: no item ''Principal'' do menu, acesse o processo seletivo desejado e clique em ''Grupo'' dentro da aba ''Outros Detalhes do Processo''
 +
** módulo de Controle de Acesso: clique em ''Grupos'' no menu
 +
[[Arquivo:cadastro-prcsltgrupo.png]]
 +
 
 +
==== Cadastro de Controle de Acesso ====
 +
* O cadastro de ''Controle de Acesso'' é utilizado no módulo de Gestão dos processos seletivos e, juntamente com o ''Grupo'', objetiva restringir quem pode acessar e gerir os processos e inscritos
 +
* Na tabela ''PrcSltCntAcesso'' é vinculado o processo seletivo a que se refere o controle de Acesso, a SQL que será utilizada (proveniente da tabela ''PrcSltGrupo'') e o tipo de acesso que esse grupo de pessoas tem (''TblGrlItm_PrcSltTpAcesso'')
 +
* Para acessar, clique em ''Principal'' no menu, pesquise e selecione o processo seletivo desejado; na aba ''Outros Detalhes do Processo'', abra a aba ''Controle de Acesso''
 +
[[Arquivo:cadastro-pssfsccntacesso.png]]
 +
 
 +
==== Inserção e Remoção de Acessos de Pessoas ====
 +
* A partir dos dados registrados no ''Grupo'' e no ''Controle de Acesso'', um ''job'' roda a cada 10 minutos no servidor ''SQL Server'' e executa a ''stored procedure'' ''spAtualizaPrcSltCntAcsPssFisica'' que atualiza a tabela ''PrcSltCntAcsPssFisica'', seja para conceder e/ou remover acesso de pessoas aos processos seletivos
 +
* A tabela ''PrcSltCntAcsPssFisica'' contém a lista de pessoas que estão vinculadas a um ''PrcSltCntAcesso'' específico
 +
* Além do job, a SP ''spAtualizaPrcSltCntAcsPssFisica'' também é executada pelo SGPS, nas operações de inserção/edição/exclusão realizadas na tabela ''PrcSltCntAcesso''.  
 +
* As SQLs dos padrões de acesso consultam essa tabela para liberar o acesso às pessoas que fazem parte de um grupo. Por exemplo, o padrão ''SGPS-AnlDoc'' tem uma consulta que retorna todas as pessoas físicas que tenham o papel "Análise Documental":
  
 
<pre>
 
<pre>
Linha 17: Linha 36:
 
</pre>
 
</pre>
  
* Todas as pessoas retornadas por essa consulta receberão o padrão SGPS-AnlDoc.
+
* Todas as pessoas retornadas por essa consulta recebem o padrão ''SGPS-AnlDoc''.
* No sistema SGPS, deve ser feita uma consulta no método "pesquisa", para verificar quais processos seletivos a pessoa logada tem acesso. Ao listar os processos seletivos, será verificado se o padrão logado é diferente de SGPS-Max e SGPS-Inscricao, pois esses padrões tem permissão de listar todos os processos. Caso seja diferente, deve aplicar o seguinte sqlRestriction, que faz um join entre PrcSltCntAcsPssFisica e PrcSltCntAcesso, filtrando pelo usuário logado:
+
* No sistema SGPS, deve-se aplicar um filtro (sqlRestriction) para verificar quais processos seletivos a pessoa logada tem acesso, retornando somente estes processos para o usuário (método "Pesquisa" do PrcSeletivoController). 
 
+
 
<pre>
 
<pre>
 
and exists (
 
and exists (
Linha 30: Linha 48:
 
</pre>
 
</pre>
  
* Dessa forma, somente serão listados os processos seletivos que o usuário tem acesso.
+
* Neste método, deve-se ainda verificar se existe valor único cadastrado para a transação PrcSeletivo e para o padrão utilizado pelo usuário logado (atributo FltAcesso do padrão PrcSeletivo no CCM).
 +
* Caso esteja como "T", indica que deve listar TODOS os processos seletivos, sem aplicar filtro. Por exemplo, para os padrões SGPS-Max e SGPS-Inscricao deve-se listar todos os processos.
 +
[[Arquivo:transacao-prcseletivo-fltacesso.png]]
  
 +
==== Cronograma de implementação ====
 
{| class=wikitable
 
{| class=wikitable
|+ Cronograma de implementação
 
 
! Atividade
 
! Atividade
! Data de Início
+
! Início
! Data de Término
+
! Término
 +
|-
 +
| Especificação
 +
| 20/09/2023
 +
| 20/10/2023
 +
|-
 +
| Definição das tabelas no DER
 +
| 20/10/2023
 +
| 20/10/2023
 +
|-
 +
| Implementação do job dos dados em PrcSltCntAcsPssFisica
 +
| 28/03/2024
 +
| 29/03/2024
 +
|-
 +
| Implementação do filtro no método "pesquisa" em PrcSeletivoController
 +
| 01/04/2024
 +
| 02/04/2024
 +
|-
 +
| Alteração da tela de cadastro de PrcSltGrupo, para chamar do menu principal, sem obrigar código de processo seletivo
 +
| 27/03/2024
 +
| 27/03/2024
 
|-
 
|-
! Row header 1
+
| Alteração da tela de cadastro de PrcSltCntAcesso, para alimentar o campo PrcSltGrp_Codigo
| Cell 2 || Cell 3
+
| 28/03/2024
 +
| 28/03/2024
 
|-
 
|-
! Row header A
+
| Alteração dos padrões de acesso do SGPS, para que utilizem os dados da tabela PrcSltCntAcsPssFisica
| Cell B
+
| 01/04/2024
| Cell C
+
| 02/04/2024
 
|}
 
|}
  

Edição atual tal como 15h19min de 3 de maio de 2024

VoltarVoltar a Página Inicial - Menu Sistemas

Tabela de conteúdo

[editar] Processos Seletivos

[editar] Controle de Acesso

[editar] Cadastro de Grupos

  • O cadastro de Grupo é usado para definir grupos de pessoas, por meio de SQLs que são gravadas na tabela PrcSltGrupo
    • exemplos: pode ser cadastrada SQL para selecionar servidores da DCV, outra SQL para servidores das DAs, etc
  • Estes Grupos são utilizados em 2 módulos do SGPS: módulo de Inscrições e módulo de gestão para fins de Controle de Acesso aos processos seletivos
  • dados na PrcSltGrupo
    • quando o Processo Seletivo for registrado, significa que o Grupo é usado para no módulo de Inscrições para restringir quem pode efetuar inscrições
    • quando o Processo Seletivo não for registrado, significa que o Grupo é usado no módulo de Gestão para restringir quem pode acessar e gerir os processos e inscritos
  • Acesso ao cadastro:
    • módulo de Inscrições: no item Principal do menu, acesse o processo seletivo desejado e clique em Grupo dentro da aba Outros Detalhes do Processo
    • módulo de Controle de Acesso: clique em Grupos no menu

Cadastro-prcsltgrupo.png

[editar] Cadastro de Controle de Acesso

  • O cadastro de Controle de Acesso é utilizado no módulo de Gestão dos processos seletivos e, juntamente com o Grupo, objetiva restringir quem pode acessar e gerir os processos e inscritos
  • Na tabela PrcSltCntAcesso é vinculado o processo seletivo a que se refere o controle de Acesso, a SQL que será utilizada (proveniente da tabela PrcSltGrupo) e o tipo de acesso que esse grupo de pessoas tem (TblGrlItm_PrcSltTpAcesso)
  • Para acessar, clique em Principal no menu, pesquise e selecione o processo seletivo desejado; na aba Outros Detalhes do Processo, abra a aba Controle de Acesso

Cadastro-pssfsccntacesso.png

[editar] Inserção e Remoção de Acessos de Pessoas

  • A partir dos dados registrados no Grupo e no Controle de Acesso, um job roda a cada 10 minutos no servidor SQL Server e executa a stored procedure spAtualizaPrcSltCntAcsPssFisica que atualiza a tabela PrcSltCntAcsPssFisica, seja para conceder e/ou remover acesso de pessoas aos processos seletivos
  • A tabela PrcSltCntAcsPssFisica contém a lista de pessoas que estão vinculadas a um PrcSltCntAcesso específico
  • Além do job, a SP spAtualizaPrcSltCntAcsPssFisica também é executada pelo SGPS, nas operações de inserção/edição/exclusão realizadas na tabela PrcSltCntAcesso.
  • As SQLs dos padrões de acesso consultam essa tabela para liberar o acesso às pessoas que fazem parte de um grupo. Por exemplo, o padrão SGPS-AnlDoc tem uma consulta que retorna todas as pessoas físicas que tenham o papel "Análise Documental":
select PssFsc_Codigo 
from PrcSltCntAcsPssFisica T1 inner join PrcSltCntAcesso T2
	on T1.PrcSltCntAcs_Codigo = T2.PrcsltCntAcs_Codigo
where TblGrl_PrcSltTpAcesso = 'PrcSltTpAcesso'
	and TblGrlItm_PrcSltTpAcesso = '1'
  • Todas as pessoas retornadas por essa consulta recebem o padrão SGPS-AnlDoc.
  • No sistema SGPS, deve-se aplicar um filtro (sqlRestriction) para verificar quais processos seletivos a pessoa logada tem acesso, retornando somente estes processos para o usuário (método "Pesquisa" do PrcSeletivoController).
and exists (
	select 1
	from PrcSltCntAcsPssFisica T1 inner join PrcSltCntAcesso T2
		on T1.PrcSltCntAcs_Codigo = T2.PrcsltCntAcs_Codigo
	where T2.PrcSlt_Codigo = this_.PrcSlt_Codigo
		and T1.PssFsc_Codigo = user.getPssFscCodigo()
)
  • Neste método, deve-se ainda verificar se existe valor único cadastrado para a transação PrcSeletivo e para o padrão utilizado pelo usuário logado (atributo FltAcesso do padrão PrcSeletivo no CCM).
  • Caso esteja como "T", indica que deve listar TODOS os processos seletivos, sem aplicar filtro. Por exemplo, para os padrões SGPS-Max e SGPS-Inscricao deve-se listar todos os processos.

Transacao-prcseletivo-fltacesso.png

[editar] Cronograma de implementação

Atividade Início Término
Especificação 20/09/2023 20/10/2023
Definição das tabelas no DER 20/10/2023 20/10/2023
Implementação do job dos dados em PrcSltCntAcsPssFisica 28/03/2024 29/03/2024
Implementação do filtro no método "pesquisa" em PrcSeletivoController 01/04/2024 02/04/2024
Alteração da tela de cadastro de PrcSltGrupo, para chamar do menu principal, sem obrigar código de processo seletivo 27/03/2024 27/03/2024
Alteração da tela de cadastro de PrcSltCntAcesso, para alimentar o campo PrcSltGrp_Codigo 28/03/2024 28/03/2024
Alteração dos padrões de acesso do SGPS, para que utilizem os dados da tabela PrcSltCntAcsPssFisica 01/04/2024 02/04/2024

[editar] Passos para inicializar o projeto em um ambiente novo:

  • instalar o Node versão 14.x.x (Instalador da versão node-v14.21.3-x64 está em OneDrive do ddes: D:\UNIOESTE\NTI - Documents\DDes\Desenvolvimento\Arquivos DDes\Desenvolvimento JAVA+EXTJS)
  • ir na pasta frontend do sgps e dar o comando: npm install
  • para rodar, dar o comando ng serve
  • não esquecer de inserir os atributos NoLogin no SGPS.properties:
noLogin=true
noLogin_Padrao=SGPS-Inscricao
pssFscCodigo_Default=seu_codigo_pss_fisica

[editar] Instalar Angular CLI quando clonar projeto com Angular 6+ (se necessário)

  • Ir na pasta aonde estão os arquivos do Angular (p. ex., /frontend)
  • digitar o comando: npm i @angular/cli@7.3.10 (antes disso, deve ter instalado o Node na versão 14.21.3)
Ferramentas pessoais
Espaços nominais
Variantes
Ações
Navegação
Ferramentas