Ir para o conteúdo principal

[SOLAR] Análise de todos os status do processo que existem no SOLAR e onde são utilizados

Data de elaboração 08/12/2022.
Responsável pelo estudo
  1. Lucas Tavares Viana de Souza
  2. João Vitor Paulino
  3. Milton Daniel Yama
Equipe do estudo TURING
Alvo Sistema de Outorga e Licenciamento Ambiental de Rondônia (SOLAR)
Origem
  • Objetivo Estratégico: Analisar todos os status de processo que tem no sistema e onde são utilizados e qual o custo para remover os status não utilizados.
Objetivo

Estudo com objetivo de analisar os impactos no sistema com a remoção dos status do processo que não são utilizados no sistema e analisar os status que não foram utilizados ainda em produção

Documentação correlata
Observações

1. Objetivo

Estudo com objetivo de analisar os impactos no sistema com a remoção dos status do processo que não são utilizados no sistema e analisar os status que não foram utilizados ainda em produção

2. Introdução

Os processos do SOLAR contam com uma vasta gama de possíveis status que variam de acordo com a situação que o processo pode se encontrar, com o tempo alguns dos status caíram em desuso, visto que o papel que tal status desempenharia é redundante, ou não era mais necessário sua utilização, assim sendo, o estudo verificará os status do processo e dentre os status deverá indicar quais estão em desuso ou não foram utilizados no sistema em produção.

3. Desenvolvimento

3.1 O comportamento dos status do processo

Atualmente é possível o processo possuir 33 tipos de status diferentes, então foi verificado se cada um deles foi ou está sendo utilizado atualmente no banco de dados, através dos registros e auditorias, dos dados do processo que estão atualmente sendo tramitados no SOLAR, assim analisando quais status foram e quais não foram ainda utilizados pelo solar em produção. 

3.2 Status nunca utilizados em produção:

No momento de escrita deste documento, dentre os 33 status do processo existem 22 status que nunca foram utilizados em banco de produção sendo que 5, não são utilizados em nenhuma action dentro do SOLAR, ou seja, o status nunca é utilizado.

Dentre os 22 status, 17 deles são utilizados de forma coerente dentro do SOLAR, entretanto por meio da auditoria do banco de dados, foi identificado que nenhum deles, foi utilizado em nenhum momento no sistema, o que leva a crêr que os usuários não seguiram as rotas que por meio de mêtodos que adicionavam ao processo alguns destes 17 status.


Os outros 17 status são utilizados em alguma action do sistema, tais actions que atualizam estes status apenas nunca foram utilizadas.

Legenda: Status que nunca foram utilizados em produção no SOLAR. 

AguardandoAssinaturaDosTecnicos:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

AguardandoDistribuicaoParaReanalise:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

PossuiPendenciasDeCoordenador:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Status utilizado na classe RetornarParaCoordenador, para atualizar o status do processo para PossuiPendenciasDeCoordenador, caso a action RetornarParaCoordenador seja utilizada.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

AguardandoReanalise:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Status utilizado para atualizar o processo para AguardandoReanalise caso a action EnviarManifestacaoRespondida seja utilizada.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

ArquivadoProvisoriamente:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para ArquivadoProvisoriamente, caso a action NotificarEmpreendedorDeVencimentoDeNotificacaoEArquivamentoProvisorioDoProcesso seja utilizada.

  • Utilizado em Testes da Notificação.

AguardandoAnaliseDeSuspensao:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAnaliseDeSuspensao, caso a action AtribuirTecnicoDeAnaliseParaRecomendacaoDeArquivamentoSuspensaoOuCancelamento seja utilizada.

  • Utilizado na propriedade PodeCriarDespacho onde a mesma verifica se status está em AguardandoAnaliseDeSuspensao.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoAnaliseDeArquivamentoDefinitivo:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAnaliseDeArquivamentoDefinitivo, caso a action AtribuirTecnicoDeAnaliseParaRecomendacaoDeArquivamentoSuspensaoOuCancelamento seja utilizada.

  • Utilizado na propriedade PodeCriarDespacho onde a mesma verifica se status está em AguardandoAnaliseDeSuspensao.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoAvalDaColmamParaRecomendacaoDeCancelamentoSuspensaoArquivamento:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAvalDaColmamParaRecomendacaoDeCancelamentoSuspensaoArquivamento, caso a action EncaminharRespostaDeRecomendacaoDeArquivamentoSuspensaoOuCancelamento seja utilizada.

  • Na classe AprovarRecomendacaoDeArquivamentoSuspensaoCancelamento é utilizado para verificar se status do processo é AguardandoAvalDaColmamParaRecomendacaoDeCancelamentoSuspensaoArquivamento.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AnaliseDeSuspensaoReprovada:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Status não é referenciado em nenhum lugar do sistema.

AnaliseDeCancelamentoReprovada:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Status não é referenciado em nenhum lugar do sistema.

AnaliseDeArquivamentoDefinitivoReprovada:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Status não é referenciado em nenhum lugar do sistema.

AguardandoEmissaoDoTermoDeSuspensao:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoEmissaoDoTermoDeSuspensao, caso a action AprovarCancelamentoSuspensaoArquivamento seja utilizada, e Situação do processo está em suspensão.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoEmissaoDoTermoDeCancelamento:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoEmissaoDoTermoDeCancelamento, caso a action AprovarCancelamentoSuspensaoArquivamento seja utilizada, e Situação do processo está em cancelado.

  • Status utilizado na classeListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoEmissaoDoTermoDeArquivamentoDefinitivo:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoEmissaoDoTermoDeArquivamentoDefinitivo, caso a action AprovarCancelamentoSuspensaoArquivamento seja utilizada, e Situação do processo está em arquivamento definitivo.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoAssinaturaDoTermoDeSuspensaoDaLicencaPeloCoordenador:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAssinaturaDoTermoDeSuspensaoDaLicencaPeloCoordenador, caso a action EncaminharTermoDeCancelamentoSuspensaoArquivamentoParaAssinaturaDoCoordenador seja utilizada, e Situação do processo está em suspenso.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoAssinaturaDoTermoDeCancelamentoDaLicencaPeloCoordenador:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAssinaturaDoTermoDeCancelamentoDaLicencaPeloCoordenador, caso a action EncaminharTermoDeCancelamentoSuspensaoArquivamentoParaAssinaturaDoCoordenador seja utilizada, e Situação do processo está em Cancelado.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoAssinaturaDoTermoDeArquivamentoDefinitivoDoProcessoPeloCoordenador:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAssinaturaDoTermoDeArquivamentoDefinitivoDoProcessoPeloCoordenador, caso a action EncaminharTermoDeCancelamentoSuspensaoArquivamentoParaAssinaturaDoCoordenador seja utilizada, e Situação do processo está em arquivado definitivamente.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoAssinaturaDoTermoDeSuspensaoDaLicencaPeloSecretario:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAssinaturaDoTermoDeSuspensaoDaLicencaPeloSecretario, caso a action EncaminharTermoDeCancelamentoSuspensaoArquivamentoParaAssinaturaDoSecretario seja utilizada, e Situação do processo está em suspenso.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoAssinaturaDoTermoDeCancelamentoDaLicencaPeloSecretario:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAssinaturaDoTermoDeCancelamentoDaLicencaPeloSecretario, caso a action EncaminharTermoDeCancelamentoSuspensaoArquivamentoParaAssinaturaDoSecretario seja utilizada, e Situação do processo está em cancelado.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

AguardandoAssinaturaDoTermoDeArquivamentoDefinitivoDoProcessoPeloSecretario:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAssinaturaDoTermoDeArquivamentoDefinitivoDoProcessoPeloSecretario, caso a action EncaminharTermoDeCancelamentoSuspensaoArquivamentoParaAssinaturaDoSecretario seja utilizada, e Situação do processo está em arquvado definitivamente.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em Testes.

RecomendacaoReprovada:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para RecomendacaoReprovada, caso a action ReprovarCancelamentoSuspensaoArquivamento seja utilizada.

AguardandoAgendamento:

  • Tabela de Processos: 0 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAgendamento, caso a action EncaminharParaAdministrativo seja utilizada.


3.3 Status já foram utilizados em produção:

Dentre 33 status do processo dentro do SOLAR, sobram 11 que já foram utilizados em produção.

Os status são:

AguardandoDistribuicao:

  • Tabela de Processos: 22 processos com esse status atualmente.

  • Tabela de auditoria: existiram 114 processos que possuíam esse status anteriormente.

  • Utilizado no método AtualizarStatusParaAguardandoDistribuicaoDaColmam, porém o método é apenas referenciado em teste no sistema.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado na classe de ProcessoDeOutorga e ProcessoDeLicenciamento, assim que o processo é criado inicia-se com este status.

  • Utilizado em testes no sistema.

AguardandoDistribuicaoParaVistoria:

  • Tabela de Processos: 186 processos com esse status atualmente.

  • Tabela de auditoria: existiram 118 processos que possuíam esse status anteriormente.

  • Utilizado no método AtualizarStatusParaAguardandoDistribuicaoDaColmam, porém o método é apenas referenciado em teste no sistema.

  • Utilizado no método AtribuirAUmEscritorioRegional, assim que o método for chamado atualiza o status para AguardandoDistribuicaoParaVistoria.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

AguardandoVistoria:

  • Tabela de Processos: 102 processos com esse status atualmente.

  • Tabela de auditoria: existiram 491 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoVistoria, caso a action EncaminharParaVistoria, seja utilizada.

  • Status utilizado para verificação caso o sistema precise cadastrar o formulário dinâmico e verificar se o formulário pode ser assinado.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

AguardandoDistribuicaoParaAnalise:

  • Tabela de Processos: 39 processos com esse status atualmente.

  • Tabela de auditoria: existiram 86 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoDistribuicaoParaAnalise, caso as actions EncaminharParaColmam ou EncaminharParaCoreh, seja utilizada.

  • Utilizado para atualizar o status do processo para AguardandoDistribuicaoParaAnalise dentro da classe de FinalizarVistoria.

  • Utilizado em testes no sistema.

AguardandoAnalise:

  • Tabela de Processos: 244 processos com esse status atualmente.

  • Tabela de auditoria: existiram 357 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAnalise, caso a action EncaminharParaAnalise, seja utilizada.

  • Utilizado na classe de ProcessoDeAlteracaoDeResponsavelTecnico, assim que este processo é criado inicia-se com esse status.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

AguardandoAvalDoCoordenadorDaCoreh:

  • Tabela de Processos: 4 processos com esse status atualmente.

  • Tabela de auditoria: existiram 52 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAvalDoCoordenadorDaCoreh, caso a action EnviarParaCoordenadorAssinar, seja utilizada.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

AguardandoAssinaturaDeCoordenador:

  • Tabela de Processos: 9 processos com esse status atualmente.

  • Tabela de auditoria: existiram 83 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAssinaturaDeCoordenador, caso a action EnviarTermoDeOutorgaParaCoordenacao, seja utilizada.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

AguardandoAssinaturaDeSecretario:

  • Tabela de Processos: 1 processos com esse status atualmente.

  • Tabela de auditoria: existiram 97 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAssinaturaDeSecretario, caso a action EnviarParaSecretarioAssinar, seja utilizada.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

PossuiPendenciasDoTecnicoDeAnalise:

  • Tabela de Processos: 1 processo com esse status atualmente.

  • Tabela de auditoria: existiram 6 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para PossuiPendenciasDoTecnicoDeAnalise, caso a action RetornarParaTecnicoDeAnalise, seja utilizada.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

AguardandoAnaliseDeCancelamento:

  • Tabela de Processos: 1 processos com esse status atualmente.

  • Tabela de auditoria: existiram 0 processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para AguardandoAnaliseDeCancelamento, caso a action AtribuirTecnicoDeAnaliseParaRecomendacaoDeArquivamentoSuspensaoOuCancelamento seja utilizada, e Situação do processo está em Cancelado.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

Finalizado:

  • Tabela de Processos: 109  processos com esse status atualmente.

  • Tabela de auditoria: existiram 104  processos que possuíam esse status anteriormente.

  • Utilizado para atualizar o status do processo para Finalizado, caso as actions Finalizar ou Aprovar, seja utilizada.

  • utilizado em verificações e consultas no sistema.

  • Status utilizado na classe ListarProcessoDeLicenciamento, apenas para mostrar processos de licenciamento com este status.

  • Utilizado em testes no sistema.

4. Conclusão

4.1 Valor agregado

Conforme os argumentos apresentados, observa-se que conforme o sistema foi se desenvolvendo e amadurecendo, alguns dos status do processo, se tornaram obsoletos ou foram idealizados mas nunca utilizados, existem 5 status que podem ser excluídos sem afetar nada dentro do sistema, pois os mesmos não são utilizados em nenhum lugar pertinente do mesmo, já os outros 17 status são utilizados em algumas das actions do sistema sendo assim será necessário melhor análise para possível remoção dos status.