Relatório de Sinopse da Relatoria

Objetivo

O objetivo deste projeto é criar uma nova função na extensão Web Pje+R para gerar o relatório da sinopse de julgamento, que agrupa os processos que serão discutidos em uma sessão de julgamento na 2ª Instância. Esse relatório tem o propósito de fornecer aos juízes, advogados e outras partes interessadas um panorama claro e sucinto de cada processo. Ele ajuda a orientar as discussões durante a sessão de julgamento e pode ser usado como um ponto de referência para uma compreensão rápida e precisa do processo. A funcionalidade desenvolvida é responsável por acessar todos os processos pautados para julgamento de uma sessão selecionada, entrar em cada um deles e coletar os votos e as respectivas súmulas. Ao final, é gerado um documento texto em formato editável (.doc) com os dados de todos os processos pautados que poderá ser baixado pelo usuário e estará disponível na sua máquina local.

Desenvolvimento


Scrum é um framework ágil de gestão de projetos aplicável a diversos tipos de projetos e frequentemente utilizado no desenvolvimento de software. Foi inicialmente formulado como uma abordagem para gerenciar e desenvolver produtos de forma iterativa e incremental. No Scrum, o projeto é dividido em ciclos de trabalho chamados de sprints. Cada sprint tem duração de 1 a 4 semanas, durante o qual um conjunto específico de atividades deve ser concluído. Ao final de cada sprint, é esperado que um incremento do produto seja entregue.

O Scrum foi aplicado no projeto com a criação dos Sprints, totalizando 5 no total. Essa divisão por Sprints tornou o trabalho mais eficiente por dividir tarefas em atividades menores e mais direcionadas. No decorrer do projeto foram encontradas algumas limitações, as quais refletiram na Sprints iniciais, como: limitações impostas por certas liberações, inexistência de WebService que pudesse disponibilizar a informação necessária e restrições de acesso direto a base de dados do PJe. Vale ressaltar que a agilidade das Sprints foi decorrência da equipe altamente integrada, que trabalhou em conjunto e em cooperação constante, assim como a colaboração dos usuários finais, que se mostraram prestativos ao esclarecer dúvidas e realizar testes em ambiente de produção. 

Sprint 1

Nesta primeira foi realizada uma entrevista com a o cliente para entendimento da necessidade, procedimentos que eram realizados e expectativas em relação aos resultados esperados. Os requisitos foram levantados e classificados como essenciais e importantes. Duas possibilidades foram levantadas: desenvolver uma solução utilizando WebService ou uma funcionalidade dentro da extensão PJe+R. Diante da inexistência de uma WebService que disponibilizasse as informações necessárias decidiu-se pela 2ª alternativa. Após acesso aos códigos do PJe+R, foram realizados testes com a extensão PJe+R para entendimento do seu funcionamento e funcionalidades disponíveis.

Sprint 2

Realização de testes e simulações com manipulação de arquivos no formato Word (abrir, salvar, editar) utilizando Typescript. Desenvolvimento de uma pequena aplicação utilizando HTML e Typescript simulando que ao clique de um botão fosse recuperada uma informação no HTML.

Sprint 3

Criada a funcionalidade Gerar Sinopse Relatoria dentro da extensão PJe+R para início da escrita do código. Implementada extração das informações de tipo de voto, assunto e conteúdo das súmulas de julgamento. Parametrizada a ordenação dos conteúdos por tipo de voto/assunto.

Sprint 4

Realização do primeiro merge request e submissão da funcionalidade para testes com alguns usuários. Identificação e implementação de novos requisitos não explicitados no escopo inicial: súmulas do julgamento podem esta na aba voto, na aba ementa ou em ambas; os processos na sinopse de julgamento devem ser agrupados por tipo de voto/assunto ou ordenados pela pauta.

Sprint 5

Realização de novo merge request com os novos ajustes e submissão para testes com um grupo maior de usuários. Elaboração de um documento em pdf com as orientações necessárias para utilização da funcionalidade incluindo print das telas e de um vídeo com instruções passo a passo das operações.



1. [RF001] Selecionar o local da súmula de julgamento - Prioridade: Essencial

> Ao iniciar a funcionalidade o usuário deve informar para o sistema, onde a captura da súmula deve acontecer: voto, ementa ou ambos.


2. [RF002] Informar número da sessão (se existir) - Prioridade: Essencial

> O usuário deve informar o número da sessão, caso não faça esse tipo de controle deverá deixar em branco.


3. [RF003] Informar local de captura da súmula - Prioridade: Essencial

> O usuário deve informar em qual campo (VOTO ou EMENTA) está localizada a súmula.

 

4. [RF004] Capturar tipos de voto, assunto e súmulas - Prioridade: Essencial

> O sistema deve realizar 3 etapas de captura: o tipo de voto, o assunto e as súmulas de cada processo da pauta.


5. [RF005] Ordenar por tipo de voto/assunto ou ordem de pauta - Prioridade: Importante

> Após a captura de todas as súmulas o usuário deve ter a opção de escolha da forma de ordenação no documento a ser gerado.

  

6. [RF006] Disponibilizar arquivo para download - Prioridade: Essencial

> Ao final de toda operação um alerta deve ser exibido com uma sugestão de nome do arquivo para download clicando em “Ok”


1. [RNF01] Usuário autenticado no PJe e com permissão de acesso a pauta de julgamento

> Usuário deve estar autenticado para acesso ao sistema e com permissão podem acessar os processos pautados


2. [RNF02] Utilização do modelo padrão definido para o Relatório Sinopse da Relatoria

> É imprescindível a utilização do modelo contendo cabeçalho e rodapé padronizados

> Importante ressaltar que todo o desenvolvimento foi baseado no modelo do SJBA


3. [RNF03] Processos pautados para julgamento

> Os processos devem estar pautados para que o sistema possa realizar a captura

  

4. [RNF04] Infraestrutura e sistema estáveis

> O sistema PJe deve estar estável bem como as máquinas de acesso e internet funcionando adequadamente


Tecnologias Utilizadas


A extensão `PJe+R` ou `pjemaisr` busca aumentar a racionalidade, a rapidez e a relevância das opções apresentadas no sistema PJe, de forma a assegurar mais acessibilidade, eficiência e agilidade da experiência do usuário. É um projeto colaborativo, com a atuação de Israel Azevedo Fabiano e Ageílson Silva, inspirado pelo uso de scripts de usuário (como os utilizados pelo `GreaseMonkey` e assemelhados) e pela extensão `SEI++`. Mais recentemente, o projeto passou a inspirar-se também na experiência da extensão `AVJT - Assistente Virtual da Justiça do Trabalho`, de Sisenando Silva.

 

No contexto deste projeto, foi desenvolvida uma nova funcionalidade dentro da extensão PJe+R para automatizar o processo de geração do Relatório Sinopse da Relatoria na 2ª instância. Abaixo estão destacadas as ferramentas utilizadas:


Uma extensão web, também conhecida como complemento ou plugin, é um pequeno programa desenvolvido para estender a funcionalidade de um navegador da web. Elas são instaladas no navegador e adicionam recursos extras, funcionalidades específicas ou personalizações para melhorar a experiência de navegação do usuário.

As extensões web são criadas utilizando tecnologias como HTML, CSS e JavaScript. Elas podem ser baixadas e instaladas a partir de uma loja de extensões específica para cada navegador, como a Chrome Web Store para o Google Chrome ou a Mozilla Add-Ons para o Mozilla Firefox.

As extensões web podem ter várias finalidades. Algumas são projetadas para bloquear anúncios, proteger a privacidade, traduzir páginas da web, capturar telas, gerenciar senhas, exibir informações sobre sites, melhorar a produtividade ou personalizar a aparência do navegador, entre outras funcionalidades.

Ao instalar uma extensão, ela geralmente adiciona um ícone ou botão na barra de ferramentas do navegador, permitindo ao usuário acessar suas configurações e recursos específicos. As extensões podem interagir com o conteúdo das páginas da web, modificando-as ou adicionando novos elementos.

No geral, as extensões web são uma maneira conveniente de personalizar e aprimorar a experiência de navegação na web, adicionando recursos extras ao navegador de acordo com as necessidades e preferências do usuário.

TypeScript é uma linguagem de programação de código aberto desenvolvida pela Microsoft. Ela é uma extensão do JavaScript que adiciona recursos de tipagem estática opcional ao JavaScript padrão. Em outras palavras, o TypeScript permite que os desenvolvedores escrevam código JavaScript com tipagem mais forte e verifiquem erros de maneira mais eficiente durante a fase de desenvolvimento.

Ao contrário do JavaScript, que é uma linguagem de tipagem dinâmica, o TypeScript introduz a tipagem estática, onde os tipos são declarados explicitamente para variáveis, parâmetros de função, retorno de função e outros elementos do código. Esses tipos ajudam os desenvolvedores a capturar erros comuns antes mesmo de executar o código, tornando-o mais seguro e menos propenso a erros.

O TypeScript é transpilado para JavaScript válido, o que significa que, após escrever o código em TypeScript, ele é convertido em código JavaScript que pode ser executado em qualquer navegador ou ambiente que suporte JavaScript. Isso permite que os desenvolvedores aproveitem as vantagens do TypeScript durante o desenvolvimento, enquanto o código resultante é executado como JavaScript puro.

Além da tipagem estática, o TypeScript também oferece recursos adicionais, como suporte a classes, interfaces, módulos e outros recursos de programação orientada a objetos. Ele também é altamente integrado com as ferramentas de desenvolvimento populares e amplamente adotado em projetos de grande escala.

Em resumo, o TypeScript é uma linguagem de programação que adiciona tipagem estática opcional ao JavaScript, tornando o código mais seguro, eficiente e menos propenso a erros durante o desenvolvimento.

Equipe

Danilo Coimbra

(Orientador)

Lucas França

(Residente)

Paulo Cerqueira

(Residente)