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 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
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.