DES:SGPS

(Diferença entre revisões)
Ir para: navegação, pesquisa
(Controle de Acesso)
(Controle de Acesso)
Linha 19: Linha 19:
  
 
* Todas as pessoas retornadas por essa consulta recebem o padrão SGPS-AnlDoc.
 
* Todas as pessoas retornadas por essa consulta recebem o padrão SGPS-AnlDoc.
* No sistema SGPS, ao listar os processos seletivos (método "Pesquisa"), deve-se 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. Caso contrário, deve-se aplicar um filtro para verificar quais processos seletivos a pessoa logada tem acesso, retornando somente estes processos para o usuário.  Essa configuração deve ser feita para o padrão SGPS-Max e para o SGPS-Inscricao, pois esses padrões precisam listar todos os processos.
+
* 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).   
[[Arquivo:transacao-prcseletivo-fltacesso.png]]
+
 
+
* Caso a configuração para FltAcesso seja diferente de "T", deve aplicar o seguinte sqlRestriction, que faz um join entre PrcSltCntAcsPssFisica e PrcSltCntAcesso, filtrando pelo usuário logado:
+
 
+
 
<pre>
 
<pre>
 
and exists (
 
and exists (
Linha 34: Linha 30:
 
</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).  
* Dessa forma, somente serão listados os processos seletivos que o usuário tem acesso.
+
* 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]]
  
 
{| class=wikitable
 
{| class=wikitable

Edição de 16h50min de 2 de abril de 2024

VoltarVoltar a Página Inicial - Menu Sistemas

Tabela de conteúdo

Processos Seletivos

Controle de Acesso

  • Na tabela PrcSltGrupo sã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.
  • Na tabela PrcSltCntAcesso é 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 tem (TblGrlItm_PrcSltTpAcesso).
  • Tendo essas informações cadastradas, um job no Sql Server roda a cada 10 minutos, executando a stored procedure que roda as SQLs de controle de acesso. As pessoas retornadas pelas consultas são inseridas (ou removidas) na tabela PrcSltCntAcsPssFisica, a qual manté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.
  • Os 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

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

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

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