CNJ_Validate
Projeto criado para realizar a manipulação de todos os dados possíveis dentro do padrão do CNJ. Todo o projeto tem como base na Resolução 65 do CNJ
Instal
go get -u github.com/Darklabel91/CNJ_Validate
Data Struct
Os dados de retorno podem ser string
, bool
, AnalysisCNJ
ou CNJNumber
, essas últimas são composta por:
type AnalysisCNJ struct {
ReceivedCNJ string `json:"received_cnj,omitempty"`
ValidCNJ bool `json:"valid_cnj,omitempty"`
CorrectCNJ string `json:"correct_cnj,omitempty"`
ValidDigit string `json:"valid_digit,omitempty"`
Segment1 string `json:"segment1,omitempty"`
Segment2 string `json:"segment2,omitempty"`
SourceUnit1 string `json:"source_unit1,omitempty"`
SourceUnit2 string `json:"source_unit2,omitempty"`
Court1 string `json:"court1,omitempty"`
Court2 string `json:"court2,omitempty"`
Detailed CNJNumber `json:"detailed"`
}
type CNJNumber struct {
LawsuitNumber string `json:"lawsuit_number,omitempty"`
VerifyingDigit string `json:"verifying_digit,omitempty"`
ProtocolYear string `json:"protocol_year,omitempty"`
Segment string `json:"segment,omitempty"`
Court string `json:"court,omitempty"`
SourceUnit string `json:"source_unit,omitempty"`
ArgNumber string `json:"arg_number,omitempty"`
District string `json:"district,omitempty"`
UF string `json:"UF,omitempty"`
}
AnalysisCNJ
- ReceivedCNJ: o cnj passado como parâmetro [0001327-64.2018.8.26.0158]
- ValidCNJ: informa ”’true”’ caso o ReceivedCNJ tenha o dígito verificador como válido [true]
- CorrectCNJ: informa o CNJ com o dígito verificador válido [0001327-64.2018.8.26.0158]
- ValidDigit: informa o dígito verificador correto para o ReceivedCNJ [64]
- Segment1: informa o seguimento do ramo da justiça correspondente [Justiça dos Estados e do Distrito Federal e Territórios]
- Segment2: informa a sigla do seguimento da justiça correspondente [Justiça Comum]
- SourceUnit1: informa o tipo da unidade de origem [foro]
- SourceUnit2: informa a unidade de origem [0158]
- Court1: informa o tipo de corte de origem [unidade federativa]
- Court2: informa a unidade da corte de origem [26]
- Detailed: retorna a estrutura do CNJNumber
CNJNumber
- LawsuitNumber: NNNNNNN [0001327]
- VerifyingDigit: DD [64]
- ProtocolYear: AAAA [2018]
- Segment: J [8]
- Court: CT [26]
- SourceUnit: 0000 [0158]
- ArgNumber:NNNNNNNAAAAJCT0000 + 00 [00013272018826015800] (utilizado pelo cálculo do VerifyingDigit)
- District: o foro em que a ação foi protocolada (normalmente a cidade, zona eleitoral, vara trabalhista) [São Paulo]
- UF: A unidade federativa que o foro em que a ação foi protocolada pertence [São Paulo]
Example
package main
import (
"fmt"
"github.com/Darklabel91/CNJ_Validate"
"github.com/Darklabel91/CNJ_Validate/Error"
"github.com/Darklabel91/CNJ_Validate/Functions"
)
func main() {
cnj := "0001327-64.2018.8.26.0158"
//Returns true if the CNJ is valid and the validation digit that it should have
bCNJ, _ := Functions.ValidateCNJ(cnj)
fmt.Println(bCNJ)
//Returns the valid CNJ in string format
vCNJ := Functions.ReturnValidCNJ(cnj)
fmt.Println(vCNJ)
//Returns a complex struct "AnalysisCNJ" with all the data in CNJ format ; returns error if any step of the verification is faulted
aCNJ, err := CNJ_Validate.AnalyzeCNJ(cnj)
Error.CheckError(err)
fmt.Println(aCNJ)
//Returns an organized string of all cnj attributes
cnjW := CNJ_Validate.CNJWrite(aCNJ)
fmt.Println(cnjW)
//Returns a CSV File with the structured cnj analysis
raw := "/Users/Desktop/test.csv"
sp := ','
resultF := "TestFolder"
CNJ_Validate.AnalyzeCNJCSV(raw, sp, resultF)
}
Output
true
0001327-64.2018.8.26.0158
{0001327-64.2018.8.26.0158 true 0001327-64.2018.8.26.0158 64 Justiça dos Estados e do Distrito Federal e Territórios Justiça Comum foro 0158 unidade federativa 26 {0001327 64 2018 8 26 0158 00013272018826015800 São Paulo São Paulo}}
Processo número: 0001327, protocolado no foro de São Paulo, no ano 2018 | unidade federativa: São Paulo | Justiça dos Estados e do Distrito Federal e Territórios (Justiça Comum)
Files created
Functions
Main Function:
- AnalyzeCNJ(cnj string) retorna a estrutura AnalysisCNJ necessitando apenas de um CNJ no formato NNNNNNN-DD.AAAA.J.CT.0000 ou NNNNNNNDDAAAAJCT0000 retorna erro caso qualquer uma das verificação seja inválida.
- AnalyzeCNJCSV(rawFilePath string, separator rune, nameResultFolder string) retorna um CSV com a estrutura AnalysisCNJ necessitando do caminho onde está o arquivo para leitura (devendo ter apenas uma coluna com os números CNJ), o separador (‘,’), e o nome da pasta em que os arquivos devem retornar
- CNJWrite(number Structs.AnalysisCNJ) retorna uma frase para demostrar a organização das informações, necessita de um AnalysisCNJ
Suport Functions:
- ReturnStructCNJ(cnj string): retorna Structs.CNJNumber, retorna erro caso o cnj esteja fora do padrão
- OriginCourt(cnj string): retorna o Court1 e Court2, retorna erro caso a sequência seja inválida
- Segment(cnj string): retorna o Segment1 e Segment2, retorna erro caso o a sequência seja inválida
- SourceUnit(cnj string): retorna o SourceUnit1 e SourceUnit2, retorna erro caso a sequência seja inválida
- ValidateCNJ(cnj string): retorna true caso o cnj sejá válido e o dígito verificador
- ReturnValidCNJ(cnj string): retorna o CNJ com o dígito verificador correto
- ValidVD(cnj string): retorna o dígito verificador correto
Considerações
A) Esse projeto foi criado de forma voluntária, você pode contribuir de qualquer modo. Se encontrar uma falha, não hesite em criar um “issue” ou procure corrigir você mesma(o) o erro e dar um “pull request”.
B) use os dados baixados para agregar valor, como por exemplo, para realizar análises ou publicar artigos, fazer inferências, elaborar recomendações aos poderes públicos etc. Baixar esses dados para reproduzi-los em sua página web é tirar proveito do trabalho alheio, mesmo sendo esses dados públicos.