Ir para o conteúdo principal

Como identificar o perfil se é servidor ou um usuário externo e qual carta de serviço devo mostrar para esse usuário

Data de elaboração 24/10/2022
Responsável pelo estudo
  1. Rafael Passos dos Santos (Assessor)
  2. Lucas de Souza e Sousa (Assessor)
Equipe do estudo
  1. André Honório de Andrade Silva (Tecnico)
  2. Gezinéia Paula da Costa (Product Owner)
  3. Emanuel Rufino Alcantara de Lima (Analista)
  4. Lucas de Souza e Souza (Assessor)
  5. Rafael Passos dos Santos (Assessor)
Alvo Alpha - Carta de serviços
Origem

Implementação: Identificar se  o perfil do servidor é interno ou de usuário externo

Objetivo

O presente estudo tem como objetivo identificar se  o perfil do servidor é interno ou de usuário externo e qual carta de serviço devo mostrar para esse usuário

Documentação correlata
Observações O presente estudo pretende também pretende levantar as Historias dos cards para a Sprint 
1. Objetivo

O presente estudo tem como objetivo identificar se  o perfil do servidor é interno ou de usuário externo e qual carta de serviço devo mostrar para esse usuário

1.1 JUSTIFICATIVA

Existe a necessidade de incluir as cartas de serviços de outras instituições que também utilizarão o Alpha, porém não fazem parte da hierarquia interna do Governo. Para essas instituições foi levantada a hipótese de se realizar este estudo para verificar a possibilidade de se utilizar o CNPJ para identificar qual a carta de serviços é relacionada ao gestor de serviços ou ao atendente.

1.2 RESULTADOS ESPERADOS

Espera-se que, após este estudo, seja possível avaliar a possibilidade de se utilizar o CNPJ para criar e buscar a carta de serviços de instituições internas e externas do Governo

2. Introdução

O Alpha é uma aplicação desenvolvida pela SETIC - esta é utilizada pelos servidores gestores das cartas de serviços do Estado de Rondônia. 

3. Desenvolvimento - Vincular a carta de serviços a um CNPJ

3.1 CENÁRIO ATUAL

3.1.1 Alpha Serviços API

Sabe-se que o alpha terar que ser acessado por usuários externos, que não são servidores publicos, diante disso tornou-se necessario identificar se o perfil da pessoa usando o sistema é servidor ou um usuário externo e qual carta de serviço devemos mostrar para esse usuário.

Após reunião com o Desenvolvedor Anderson Soares do TIME ESQUADRÃO, foi visto que tal informação pode vim da Apis do E-ESTADO.

O qual tem os seguintes bancos de dados em Postgres:

Tabela de servidores, com o campo pessoa_id.

image.png

Tabela de usuários, também com o campo pessoa_id 

image.png

E tabela de usuario escopo, onde vincula uma unidade a pessoa 

image.png

As informações da Pessoa, pode vim da api de pessoas fisicas do E-estado:

image.png

Já a de servidores, pode ser pela nova api de Servidores

image.png

Se a pessoa tiver dados nessa api, então ela é um servidor, se não, é um usuário externo.

3.2 SOLUÇÃO

É possível implementar uma das duas soluções:

3.2.1 SOLUÇÃO 1 - Utilizar tanto unidade orçamentária (servidores) quanto CNPJ (externos) para identificar a carta de serviços

Adicionar o campo CNPJ nas buscas da carta de serviço. Dessa forma, a carta poderá ser buscada tanto por unidade orçamentária quanto por CNPJ, realizando a tratativa de acordo se um dos campos estiver nulo.

3.2.2.1 IMPLEMENTAÇÃO E HISTÓRIAS DE USUÁRIOS

Para aplicar a solução acima será necessário as seguintes histórias de usuários:

O que? Pontos Regras Produto
Criação do campo CNPJ na tabela Carta de serviços 5

Regras ao salvar

  • campo CNPJ opcional para as cartas de entidades do governo e campo unidadeOrcamentaria obrigatória
  • campo CNPJ obrigatório quando for entidade externa ao governo e campo unidadeOrcamentaria nula

Integridade

  • Não pode deixar criar duas cartas de serviços com o mesmo cnpj
  • Não pode deixar criar duas cartas de serviços com a mesma unidade orcamentaria

Obs: a nível de aplicação, poderia ser criada herança para identificar carta de serviços internas e externas.

Alpha

API

Adicionar parâmetro CNPJ nas rotas de ObterCartaDeServicos na API 5

Alterar a rota para permitir receber dois campos:

1) CodigoDaUnidadeOrcamentaria - para as unidades do governo

2) CNPJ - para as unidades externas

A action deve ser alterada para que no caso do codigoDaUnidadeOrcamentaria vier nula, utilizar o CNPJ para obter a carta de serviços

Rotas a serem alteradas:

  • ObterCartaDeServicosPublicadosParaOPortalDoServidor/{codigoDaUnidadeOrcamentaria}
  • ObterCartaDeServicosPorCodigoDaUnidadeOrcamentaria/{codigoDaUnidadeOrcamentaria}

Sugestão: obter os parâmetros via fromQuery

Alpha API
(Opcional) Criar campo para identificar se a carta de serviços é de origem interna ou externa aos órgãos do governo 3

Este campo facilitaria possíveis filtros e relatórios posteriores

Alpha API
Adicionar parâmetro CNPJ nas rotas de ObterCartaDeServicos no Alpha WEB 3

Quando identificar que o usuário é de entidade externa

Alpha WEB
Adicionar CNPJ nas rotas de ObterCartaDeServicos no Portal do cidadão 3

Quando identificar que é entidade externa

Portal do cidadão




Total 19




3.4 POSSÍVEIS IMPEDIMENTOS

Não foram encontrados possíveis problemas de implementação.

4. Conclusão

Conclui-se que a solução que trará menos impacto ao sistema será a solução 1. Dessa forma conseguiremos obter a carta de serviços tanto através da unidade orçamentária quanto por CNPJ.