ÿØÿà JFIF ` ` ÿþ
|
Server : Apache System : Linux cloud.heroica.com.br 4.18.0-553.36.1.el8_10.x86_64 #1 SMP Wed Jan 22 03:07:54 EST 2025 x86_64 User : farolpborg ( 1053) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /var/www/node_services/datajud/frontend/src/pages/Home/ |
Upload File : |
import {Container, Col, Row, Form, InputGroup, Button, Table} from 'react-bootstrap'
import {useState} from 'react'
import api from "../../services/apiClient.ts";
import {toast} from "react-toastify";
interface ProcessoProps{
_source:{
tribunal:string,
orgaoJulgador:orgaoJulgadorProps,
numeroProcesso:string,
dataAjuizamento:string,
dataHoraUltimaAtualizacao:string,
grau:string,
formato:FormatoProcessoProps,
nivelSigilo:number,
assuntos:AssuntosProps[],
movimentos:MovimentosProps[],
}
}
interface orgaoJulgadorProps{
codigo:number,
codigoMunicipioIBGE:number,
nome:string,
}
interface FormatoProcessoProps{
codigo:number,
nome:string,
}
interface AssuntosProps {
codigo:number,
nome:string,
}
interface MovimentosProps {
codigo:number,
dataHora:string,
nome:string,
complementosTabelados:ComplementosTabeladosProps[],
}
interface ComplementosTabeladosProps{
codigo:number,
valor:number,
nome:string,
descricao:string,
}
function Home(){
const [ processid , setProcessid ] = useState('')
const [cleanid, setCleanid] = useState('')
const [processo, setProcesso] = useState<ProcessoProps[]>([])
const [url, setUrl] = useState('0')
const lista_tribunais_superiores = [
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_tst/_search',
description:'Tribunal Superior do Trabalho'
},
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_tse/_search',
description:'Tribunal Superior Eleitoral'
},
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_stj/_search',
description:'Tribunal Superior de Justiça'
},
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_stm/_search',
description:'Tribunal Superior Militar'
}
];
const lista_tribunais_justica_federal = [
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_trf1/_search',
description:'Tribunal Regional Federal da 1ª Região'
},
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_trf2/_search',
description:'Tribunal Regional Federal da 2ª Região'
},
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_trf3/_search',
description:'Tribunal Regional Federal da 3ª Região'
},
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_trf4/_search',
description:'Tribunal Regional Federal da 4ª Região'
},
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_trf5/_search',
description:'Tribunal Regional Federal da 5ª Região'
},
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_trf6/_search',
description:'Tribunal Regional Federal da 6ª Região'
}
]
const lista_tribunais_justica_estadual = [
{
url:'https://api-publica.datajud.cnj.jus.br/api_publica_tjdft/_search',
description:'TJ do Distrito Federal e Territórios'
}
]
async function handlepesquisarProcesso(){
const tempid = processid.replace(/[^0-9]/g , '')
if(tempid){
setCleanid(tempid)
if(url === '0'){
toast.error('Selecione um tribunal');
return
}
api.post('/datajud/checkprocess',{processid:tempid,processurl:url})
.then((response)=>{
console.log(response.data.hits.hits)
setProcesso(response.data.hits.hits)
})
.catch((error)=>{
toast.error('Erro ao pesquisar processo');
console.error(error)
})
}
}
return (
<Container>
<Row>
<Col xs={12} >
<h1>
Pesquisar Processo
</h1>
</Col>
<Col xs={12} lg={4}>
<Form.Text>
Processo
</Form.Text>
<InputGroup className="mb-3">
<Form.Control
aria-label="Example text with button addon"
aria-describedby="basic-addon1"
type="text"
value={processid}
onChange={(e)=>setProcessid(e.target.value)}
placeholder="Digite o código do processo aqui..."
/>
<Button variant="primary" id="button-addon1" onClick={handlepesquisarProcesso}>
Pesquisar
</Button>
</InputGroup>
</Col>
<Col xs={12} lg={4}>
<Form.Text>
Tribunais
</Form.Text>
<Form.Select aria-label="Default select example" onChange={(e)=>setUrl(e.target.value)} value={url}>
<option value={'0'} disabled>Selecione</option>
<option style={{zoom: '150%',backgroundColor:'#dedede'}} disabled value="list_tribunais_superiores">Tribunais Superiores</option>
{
lista_tribunais_superiores.map((tribunal)=>{
return(
<option value={tribunal.url}>{tribunal.description}</option>
)
})
}
<option style={{zoom: '150%',backgroundColor:'#dedede'}} disabled value="list_tribunais_justica_federal">Tribunais Justiça Federal</option>
{lista_tribunais_justica_federal.map((tribunal)=>{
return(
<option value={tribunal.url}>{tribunal.description}</option>
)
})}
<option style={{zoom: '150%',backgroundColor:'#dedede'}} disabled value="list_tribunais_justica_federal">Tribunais Justiça Estadual</option>
{
lista_tribunais_justica_estadual.map((tribunal)=>{
return(
<option value={tribunal.url}>{tribunal.description}</option>
)
})
}
</Form.Select>
</Col>
<Col xs={12} >
<h2>
Código {cleanid}
</h2>
</Col>
<Col xs={12}>
<Table striped bordered hover>
<thead className="thead-dark">
<tr>
<th>#</th>
<th>Tribunal</th>
<th>Sistema</th>
<th>Data Ajuizamento</th>
<th>Ultm. Att.</th>
<th>Órgão julgador</th>
</tr>
</thead>
<tbody>
{
processo.map((processo,index)=>{
return(
<tr key={index}>
<td>{processo._source.numeroProcesso}</td>
<td>{processo._source.tribunal}</td>
<td>{processo._source.formato.nome}</td>
<td>{processo._source.dataAjuizamento}</td>
<td>{processo._source.dataHoraUltimaAtualizacao}</td>
<td>{processo._source.orgaoJulgador.nome}</td>
</tr>
)
})
}
</tbody>
</Table>
</Col>
</Row>
</Container>
)
}
export default Home;