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: Implementação de funcionalidade para obter as cartas de serviços por CNPJ.

Objetivo

O presente estudo tem como objetivo analisar o que terá que ser feito para alterar a vinculação da carta de serviços através do CNPJ e os possíveis impactos às aplicações dependentes da API da carta de serviços

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 analisaridentificar se  o queperfil terádo queservidor seré feitointerno paraou alterarde ausuário vinculaçãoexterno dae qual carta de serviçoso atravésdevo domostrar CNPJpara eesse os possíveis impactos às aplicações dependentes da API da carta de serviçosusuá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

A carta de serviços foi desenvolvida baseada em um identificador interno (unidadeOrcamentariaId), trata-se de um campo que identifica qual unidade orçamentária corresponde a determinada carta de serviços. 


1. Tabela da carta de serviços

Nesta tabela esse campo é identificado com CodigoDaUnidadeGestoraDoDepartamento.

Para identificar qual a unidade que o servidor está lotado, utilizamos a rota no e-estado API trazendo as movimentações com os seguintes campos:

  1.  codigoDaUnidadeOrcamentaria - código que identifica qual a unidade de origem do servidor
  2.  codigoDaUnidadeGestoraDoDepartamento - código que identifica a unidade em que o servidor está lotado
  3.  departamentoPadrao - flag que identifica que a movimentação é a padrão, ou seja, movimentação vigente do servidor.

Obs: Nesta rota, não existe a informação de qual é o CNPJ da unidade.

Foi verificado que o campo "CodigoDaUnidadeGestoraDoDepartamento" não é utilizado para relacionamento com a tabela de serviços, ou seja, em termos de relacionamento não há impactos no banco de dados.


3.1.2 Alpha Solicitações API

Solicitações do Servidor

Na tabela de solicitações do servidor há o campo unidade orçamentária, este campo identifica a unidade orçamentária que o servidor estiver lotado no momento da solicitação. Este campo é utilizado no filtro de solicitações.

Avaliações dos agendamentos

O campo de unidade orçamentária também é utilizado como parâmetro para se obter as avaliações por unidade orçamentária. Para isso, é utilizada a rota de obter todos os serviços da unidade orçamentária. Com base nesses serviços é realizado um filtro nas avaliações existentes.

Dashboard

O campo de unidade orçamentária também é utilizado para se obter o quantitivo de solicitações por unidade orçamentária.


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.2.2 SOLUÇÃO 2 - Utilizar o CNPJ como identificador único na busca da carta de serviços

Esta solução requer incluir as informações dos CNPJs da Unidade Gestora do Departamento e da Unidade Orcamentaria do servidor na rota de movimentações. Dessa forma, será padronizada a busca por CNPJ, tanto para usuários do governo quanto usuários externos, retirando o campo de Unidade orçamentaria das buscas.

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

O que? Pontos Regras Produto
E-Estado



Incluir CNPJ das unidades orçamentária e gestora do servidor na rota de movimentações do servidor 5


E-Estado
Criar rota para obter a unidade orçamentária pelo CNPJ

5

Mesmo retorno da rota: api/unidadeorcamentaria/id/

E-Estado
Alpha Servicos



Criação do campo CNPJ na tabela Carta de serviços 5

- Campo obrigatório

- Retirar o campo unidadeOrcamentariaId da tabela carta de serviços

- Criar rotina para atualizar o banco da carta de serviços, incluindo o cnpj de cada unidade orçamentária relacionada

Alpha

API

Alterar o parâmetro para buscar por CNPJ nas rotas de ObterCartaDeServicos na Api 5

Alterar o parâmetro das rotas para buscar por cnpj

Parâmetro:

cnpjDaUnidade - para as unidades externas


Rotas a serem alteradas:

  • CartaDeServicos/ObterCartaDeServicosPublicadosParaOPortalDoServidor/{cnpjDaUnidade}
  • CartaDeServicos/ObterCartaDeServicosPorCodigoDaUnidadeOrcamentaria/{cnpjDaUnidade}
  • Servico/ObterServicosPorUnidadeOrcamentaria{cnpjDaUnidade}
Alpha API
Alterar parâmetro de busca por unidade orçamentária e substituir por CNPJ nas rotas de ObterCartaDeServicos no Alpha WEB 3


Alpha WEB
Portais



Alterar parâmetro de busca por unidade orçamentária e substituir por CNPJ nas rotas de ObterCartaDeServicos no Portal do servidor 5

- Deve ser alterado além da controller, as dtos, services e factories

Portal do servidor
Alterar parâmetro de busca por unidade orçamentária e substituir por CNPJ nas rotas de ObterCartaDeServicos no Portal do cidadão 5

- Deve ser alterado além da controller, as dtos, services e factories

Portal do cidadão
Busca de unidades externas 3

- Busca de algum lugar a lista de unidades externas para mostrar ao cidadao

Portal do cidadão
Alpha Solicitacoes API



Alterar campo unidadeOrcamentaria para CNPJ na tabela solicitacoes de servidores 5

Criar rotina para atualizar o campo CNPJ

Alpha solicitações API
Alterar rota ObterAvaliacoesPorUnidadeOrcamentaria 3

Alterar para ObterAvaliacoesPorCNPJ

Alpha Solicitações API
Alpha Solicitacoes WEB



Alterar consulta de avaliações por CNPJ 3

Alterar para ObterAvaliacoesPorCNPJ

Alpha solicitações Web
Alterar parâmetro de busca por unidade orçamentária e substituir por CNPJ nas rotas de ObterCartaDeServicos no Alpha Solicitações WEB 3


Alpha WEB
Total 50



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.