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 |
|
Equipe do estudo |
|
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:
- codigoDaUnidadeOrcamentaria - código que identifica qual a unidade de origem do servidor
- codigoDaUnidadeGestoraDoDepartamento - código que identifica a unidade em que o servidor está lotado
- 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
Integridade
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:
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:
|
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.