GithubHelp home page GithubHelp logo

oedoardo / movimentacoes_processuais Goto Github PK

View Code? Open in Web Editor NEW

This project forked from odantasvictor/movimentacoes_processuais

0.0 0.0 0.0 47 KB

Robô para consulta e geração de relatório de movimentações processuais, através de consulta pública, de processos do PJE

Python 100.00%

movimentacoes_processuais's Introduction

Automação - Captura de movimentações processuais - PJE

Sumário

Sobre

Trata-se de automação (bot) construída em Python 3x, que realiza consultas processuais, através da consulta pública, e realiza a captura das últimas movimentações (data, hora e movimentação), preenchendo os dados em uma planilha do tipo excel (.xlsx) ou em banco de dados MySQL.

Orientações de uso -> OBRIGATÓRIO

Bibliotecas:

  • Python 3x+, devendo atentar-se ao suporte das libs (consulta disponível no pyreadiness.org)
  • A automação utiliza a biblioteca Selenium, tendo suporte para todas as versões 3.141.0 ou as mais atuais 4+, dentre outras.
  • O chromedriver é instalado dinamicamente, para tanto é necessário a instalação da lib webdriver-manager (anteriormente utilizada a lib chromedriver-autoinstaller)
  • Para gestão da planilha é utilizada a biblioteca pandas, em qualquer versão da lib.
  • Para gestão da utilização do SQL (a partir da versão 3.0) é utilizada a biblioteca mysql
  • As outras bibliotecas já instaladas já são padrões do Python, entre elas: json; os; datetime

Utilização:

  • A automação possui suporte para duas formas de funcionamento, via planilha XLSX e via SQL (a partir da versão 3.0)
  • Para utilização via XLSX: consome uma planilha que deve ser nomeada com a data do dia, em formato dd-mm-aaaa, como por exemplo: 07-11-2021.xlsx, devendo a referida planilha deve estar dentro da pasta C:/movimentacoes_processuais (a partir da versão 3.0, antes disso C:/consulta_pje)
  • A partir da versão 3.0 o caminho padrão da pasta da planilha pode ser livremente alterado em /config/config.ini
  • A partir da versão 3.0 há possibilidade de utilização via SQL, devendo ser configurado no arquivo /config/config.ini e com modelo de estrutura de tabelas em /data/database.sql
  • Para utilização via XLSX: Os números dos processos devem estar preenchidos na primeira coluna, em linhas separadas, podendo estar em formato apenas numérico ou com seus devidos caracteres especiais (ex.: 08020154020208150251 ou 0802015-40.2020.8.15.0251)
  • Para utilização via XLSX: A primeira linha da planilha deve conter o nome Processos
  • Para utilização via SQL: Deve existir obrigatoriamente a estrutura SQL contida em /data/database.sql
  • Para utilização via SQL: Cada processo é atualizado 1x ao dia, havendo ainda tratamento para evitar duplicidade no lançamento da movimentação ao banco
  • Os processos devem pertencer, obrigatoriamente, a qualquer UF que utilize o sistema PJE - CNJ.

Arquitetura e Funcionalidade

Arquitetura

A automação foi desenvolvida em uma estrutura a evitar falhas/pausas(parciais ou totais) da automação, tendo diversas características essenciais:

  • Adaptação a instabilidade do sistema (caso o sistema esteja mais lento ou mais rápido, a adaptação irá se adaptar ao surgimento dos elementos e interagir com eles assim que possível for);
  • Verificação de duplicidade (caso seja necessário pausar a automação e retomá-la posteriormente, ela não realizará a consulta no mesmo processo, mantendo a planilha de resultados enxuta);

Desempenho:

São realizadas, em média, entre 15-20 consultas por minuto, ou seja, entre 900-1200 consultas por hora (estes números podem variar para mais ou para menos, de acordo com a velocidade do sistema).

Resultado:

Os resultados da consulta serão cadastrados em uma planilha (versão padrão de uso XLSX) nomeada com a data padrão dd-mm-aaaa_resultados.xlsx ou em banco SQL

Versões

  • v1.0 - A versão 1 utilizava a biblioteca openpyxl para tratamento dos arquivos XLSX (leitura e anotações);
  • v2.0 - A versão 2 utiliza a biblioteca pandas para tratamento dos arquivos XLSX (leitura e anotações), permitindo grande avanço na OO e limpeza do código.
  • v3.0 - A versão 3 recebeu grande atualização na estrutura do repositório, tanto de repositório quanto de funcionalidades. O modo de utilização anterior (via XLSX) permanece por padrão, mas também há suporte para utilização via banco de dados, devendo ser configurado no arquivo .ini e com modelo de SQL na pasta /data. A opção entre o tipo de execução (planilha XLSX ou SQL) deve ser atribuída como true no arquivo .ini, devendo a outra ser atribuída como false (caso contrário executará via planilha por padrão).

Demonstração

Funcionamento via SQL sql

Vídeo (versão 1.0) Vídeo de desempenho disponível

movimentacoes_processuais's People

Contributors

odantasvictor avatar ericlacerda avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.