DES:SGPS
(Diferença entre revisões)
Linha 1: | Linha 1: | ||
+ | [[image:Voltar.jpg |Voltar]][[P%C3%A1gina_principal|Voltar a Página Inicial - Menu Sistemas]] | ||
+ | <br> | ||
+ | |||
+ | == Processos Seletivos == | ||
+ | === 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. | ||
+ | * 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). | ||
+ | * 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. | ||
+ | * 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": | ||
+ | |||
+ | <pre> | ||
+ | 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' | ||
+ | </pre> | ||
+ | |||
+ | * Todas as pessoas retornadas por essa consulta receberão 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: | ||
+ | |||
+ | <pre> | ||
+ | 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() | ||
+ | ) | ||
+ | </pre> | ||
+ | |||
+ | * Dessa forma, somente serão listados os processos seletivos que o usuário tem acesso. | ||
+ | |||
+ | |||
== Passos para inicializar o projeto em um ambiente novo: == | == 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) | * 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) |
Edição de 10h11min de 20 de outubro de 2023
Voltar a Página Inicial - Menu Sistemas
Tabela de conteúdo[esconder] |
Processos Seletivos
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.
- 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).
- 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.
- 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":
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 receberão 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:
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() )
- Dessa forma, somente serão listados os processos seletivos que o usuário tem acesso.
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)