A página Painel Judicial está disponível através do menu principal do SIMP, desde que o usuário logado esteja num local que seja Promotoria ou Procuradoria.
O Painel Judicial tem por finalidade agrupar informações de Expedientes e protocolos Judiciais do SIMP, tanto de 1ª Instância quanto de 2ª instância.
O foco principal é o controle dos Expedientes que chegam ao MPE-MT, possibilitando aos gabinetes gerenciarem da melhor forma possível as atividades a serem realizadas.
A página Painel de Gestão, disponibilizada a partir do SIMP 4, fornece uma visão geral do Gabinete.
Índice
1. Visão Promotoria
2. Visão Procuradoria
Para as Procuradorias não há:
Substituições,
Inquéritos Policias, e
Expedientes PJe - Eleitoral, e
Expedientes SEEU.
3. Grupos de informações
A tela Painel Judicial tem as informações agrupadas da seguinte forma:
Cada um desses agrupamentos será descrito nas seções abaixo.
4. Expedientes PJe - TJMT
Para todas as consultas abaixo deve utilizar como filtro tipointegracaomni MNI Estadual (1)
3.1 Card “Pendentes de resposta”
Apresenta a quantidade de Expedientes PJe que estão pendentes de resposta.
A lista de expedientes pode ser visualizada clicando sobre o número do card e o sistema abrirá a página Área de Trabalho -> Expedientes Pje / SEEU com os filtros:
“Situação processo” preenchido com valor “No gabinete”; E
Filtros → “Tipo Integração” preenchido com valor “Estadual”
3.2 Card “Vencendo“
Apresenta a quantidade de Expedientes PJe que estão vencendo o prazo de resposta.
3.2.1 Vencendo hoje
Considera os Expedientes PJe vencendo hoje.
A lista de expedientes pode ser visualizada clicando sobre o número do card e o sistema abrirá a página Área de Trabalho -> Expedientes Pje / SEEU com os filtros:
“Período Limite Resposta” preenchido com valor “Vencendo hoje” ; E
Filtros → “Tipo Integração” preenchido com valor “Estadual”
3.2.2 Vencendo nos próximos 7 dias
Considera os Expedientes PJe vencendo de amanhã até 7 dias.
A lista de expedientes pode ser visualizada clicando sobre o número do card e o sistema abrirá a página Área de Trabalho -> Expedientes Pje / SEEU com os filtros:
“Período Limite Resposta” preenchido com valor “Vencendo nos próximos 7 dias”; E
Filtros → “Tipo Integração” preenchido com valor “Estadual”
3.3 Card “Peticionamento em lote pendente”
Mesma consulta utilizada para totalizador do Área de Trabalho -> Menu Peticionamento em lote PJe.
Ao clicar no número, o SIMP deve remeter o usuário à tela Área de Trabalho -> Menu Peticionamento em lote PJe.
3.4 Card “Respondidos por integração nos últimos 7 dias”
Não há tela específica para elencar esses protocolos. Então, se o usuário clicar nesse número, o SIMP NÃO DEVE realizar nenhuma operação.
select distinct a.instancia , lu.idusuario , lu.idlocal , count(distinct pet.idpeticaopje) as "Respondido via Integração últimos 7 dias" from simp.localusuario lu join simp.tb_batchmni_jurisdicaolocal jl on jl.idlocal = lu.idlocal join simp.tb_batchmni_jurisdicao j on j.idjurisdicao = jl.idjurisdicao join simp.tb_batchmni_aviso a on a.idjurisdicao = j.idjurisdicao left join simp.tb_batchmni_expediente e on e.idavisopje = a.idavisopje and e.instancia = a.instancia and e.tipointegracaomni = a.tipointegracaomni left join simp.protocolo p on p.numeroregistro = a.numeroregistro and p.situacao in (1, 2, 4) left join simp.local lo1 on lo1.idlocal = p.idpromotoria or lo1.idlocal = p.idprocuradoria left join simp.comarca c on lo1.idcomarca = c.idcomarca left join simp.protocolomovimento pm on pm.idprotocolo = p.idprotocolo join simp.peticionamentopje pet on pet.idprotocolomovimento = pm.idprotocolomovimento where 1=1 and lu.idusuario = 336 --- 336: dr. arivaldo and lu.idlocal = 3386 -- campo verde 1ª projus criminal and a.instancia = 1 -- caso idTipoLocal = 8 AND a.tipointegracaomni = 1 -- 1: MNI TJMT ; 2: MNI Eleitoral; 3: SEEU -- and a.instancia = 2 -- caso idTipoLocal = 7 --and j.idjurisdicao in (select f.idjurisdicaolocalizacao from simp.filtrointegracao f where f.idlocal = 3386 and f.idusuario = 336) FAZER ISSO NO CÓDIGO JAVA - Substituir linha abaixo and a.orgaojulgador in ('3ª VARA DE CAMPO VERDE','NÚCLEO DE JUSTIÇA DIGITAL DOS JUIZADOS ESPECIAIS') and e.situacao in ( 2) --"fechado via simp" and to_date(pet.datahorapeticao,'DD/MM/YYYY') between to_date(sysdate-7,'DD/MM/YYYY') and to_date(sysdate-1,'DD/MM/YYYY') group by a.instancia , lu.idusuario , lu.idlocal ;
4 Expedientes PJe - Eleitoral
Para todos os cards deve ser utilizado como filtro tipointegracaomni MNI Eleitoral (2)
Ao clicar nos números dos cards, o SIMP deve remeter o usuário às suas respectivas telas (quando houver) SEMPRE com o filtro Filtros → “Tipo Integração” preenchido com valor “Eleitoral”.
Devem ser implementados todos os cards utilizados nos Expedientes PJe - TJMT, respeitando o filtro tipointegracaomni MNI Eleitoral (2).
5. Expedientes SEEU
Para todos os cards deve ser utilizado como filtro tipointegracaomni MNI SEEU (3)
Ao clicar nos números dos cards, o SIMP deve remeter o usuário às suas respectivas telas (quando houver) SEMPRE com o filtro Filtros → “Tipo Integração” preenchido com valor “SEEU”.
Devem ser implementados todos os cards utilizados nos Expedientes PJe - TJMT, respeitando o filtro tipointegracaomni MNI SEEU (3).
5. Prazos Inquéritos Policiais na delegacia
Contabiliza os prazos de movimentos de Inquéritos Policiais que estão na delegacia.
Exibir data de última atualização, pois a consulta utilizada uma tabela de processamento de hora em hora (BI).
Por padrão, o card “Vencidos” deve vir selecionado, com a lista de protocolos vinculados a esse card.
Ao clicar no card de prazo, listar os protocolos referentes àquele card na grid lateral. Essa grid trará:
os números de registros,
um ícone para abrir o detalhe do protocolo em outra aba,
um ícone para copiar o número de registro, e
um ícone para exibir o resumo do protocolo, se houver.
5.1 Valores iniciais - Totais
Abaixo a consulta SQL que informa os totais de cada um dos cards e a data da última atualização:
select l.idlocal, c.descricaocomarca || ' - ' || l.descricao as local , sum(case when (m.idmovimentoalertaprazo is null ) then 1 else 0 end) as SEM_PRAZO , sum(case when ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and m.datafinalprazo>= TRUNC(SYSDATE)) then 1 else 0 end) as DENTRO_PRAZO , sum(case when ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (m.datafinalprazo <= (TRUNC(SYSDATE)+30) and m.datafinalprazo >= TRUNC(SYSDATE))) then 1 else 0 end) as DENTRO_PRAZO_30 , sum(case when ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (m.datafinalprazo >= (TRUNC(SYSDATE)+ 31) and m.datafinalprazo <= (TRUNC(SYSDATE)+ 90))) then 1 else 0 end) as DENTRO_PRAZO_31_A_90 , sum(case when ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and TRUNC(SYSDATE) > m.datafinalprazo) then 1 else 0 end) as VENCIDOS , sum(case when ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (TRUNC(SYSDATE) >= (m.datafinalprazo+ 1) and TRUNC(SYSDATE) <= (m.datafinalprazo+ 90) and TRUNC(SYSDATE) > m.datafinalprazo)) then 1 else 0 end) as VENCIDOS_1_A_90 , sum(case when ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (TRUNC(SYSDATE) >= (m.datafinalprazo+ 90) and TRUNC(SYSDATE) > m.datafinalprazo)) then 1 else 0 end) as VENCIDOS_MAIS_90 , max(del.data_insert) as dataUltimaAtualizacao , count(p.idprotocolo) as quant from simp.movimentoalertaprazo m join simp.protocolo p on p.idprotocolo = m.idprotocolo join simp.bi_estoque_ip_delegacia del on del.id_protocolo = p.idprotocolo join simp.local l on l.idlocal = del.id_local join simp.comarca c on c.idcomarca = l.idcomarca where m.tipoprazo = 'M' and p.idclasse = (select to_char(conf.valor) from simp.configuracao conf where conf.nome = 'CLASSE_INQUERITO_POLICIAL') --279 and m.situacao = 1 and p.situacao = 4 and del.id_prot_mov_retorno_delegacia is null and del.id_local = 1572 -- idPromotoria logada group by l.idlocal, c.descricaocomarca || ' - ' || l.descricao ;
5.2 Lista de protocolos
A consulta abaixo traz a lista de protocolos com Prazos “Vencidos”, já que vem selecionado por padrão ao carregar a tela.
-- Lista de protocolos select distinct p.numeroregistro as protocolo ,p.codigocnj as codigocnj , del.data_saida_delegacia as "Envio_Delegacia" from simp.movimentoalertaprazo m join simp.protocolo p on p.idprotocolo = m.idprotocolo join simp.BI_ESTOQUE_IP_DELEGACIA del on del.id_protocolo = p.idprotocolo join simp.local l on l.idlocal = del.id_local join simp.comarca c on c.idcomarca = l.idcomarca where m.tipoprazo = 'M' and p.idclasse = (select to_char(conf.valor) from simp.configuracao conf where conf.nome = 'CLASSE_INQUERITO_POLICIAL') --279 and m.situacao = 1 and p.situacao = 4 and del.id_prot_mov_retorno_delegacia is null and del.id_local = 1572 -- idPromotoria logada -- **** PRAZO **** and ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (TRUNC(SYSDATE) >= (m.datafinalprazo+ 1) and TRUNC(SYSDATE) <= (m.datafinalprazo+ 90) and TRUNC(SYSDATE) > m.datafinalprazo)) -- VENCIDOS_1_A_90 -- ********************* order by p.numeroregistro;
Para cada card de prazo há um filtro de tempo a ser considerado. Então, basta trocar o filtro limitado pelo comentário ***** PRAZO ***** dentro da consulta acima por um dos códigos abaixo:
5.2.1 Card Prazo “Sem prazo” selecionado
and (m.idmovimentoalertaprazo is null ) -- SEM_PRAZO
5.2.2 Card Prazo “Dentro do prazo” selecionado
and ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and m.datafinalprazo>= TRUNC(SYSDATE)) -- DENTRO_PRAZO
5.2.3 Card Prazo “Dentro do prazo até 30 dias” selecionado
and ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (m.datafinalprazo <= (TRUNC(SYSDATE)+30) and m.datafinalprazo >= TRUNC(SYSDATE))) -- DENTRO_PRAZO_30
5.2.4 Card Prazo “Dentro do prazo de 31 a 90 dias” selecionado
and ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (m.datafinalprazo >= (TRUNC(SYSDATE)+ 31) and m.datafinalprazo <= (TRUNC(SYSDATE)+ 90))) -- DENTRO_PRAZO_31_A_90
5.2.5 Card Prazo “Vencidos” selecionado
and ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (TRUNC(SYSDATE) > m.datafinalprazo)) -- VENCIDOS
5.2.6 Card Prazo “Vencidos de 1 a 90 dias” selecionado
and ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (TRUNC(SYSDATE) >= (m.datafinalprazo+ 1) and TRUNC(SYSDATE) <= (m.datafinalprazo+ 90) and TRUNC(SYSDATE) > m.datafinalprazo)) -- VENCIDOS_1_A_90
5.2.7 Card Prazo “Vencidos de 31 a 90 dias” selecionado
and ((m.idmovimentoalertaprazo is not null and m.idprotocolo = p.idprotocolo) and (TRUNC(SYSDATE) >= (m.datafinalprazo+ 90) and TRUNC(SYSDATE) > m.datafinalprazo)) -- VENCIDOS_MAIS_90
6. Minutas
Deve conter as informações:
Pendentes: realizar a mesma consulta do Menu Minutas → Pendentes.
Aguardando correção: realizar a mesma consulta do Menu Minutas → Devolvidas.
Aprovadas aguardando movimento: realizar a mesma consulta do Menu Minutas → Aprovadas.
Ao clicar no número, o SIMP deve remeter o usuário à tela Menu Minutas, sendo Pendentes ou Devolvidas ou Aprovadas.
7. Substituições agendadas
Não há tela específica para elencar esses registros ao usuário que não seja Administrador.
Não há substituição para Procuradores e, geralmente, cada gabinete está vinculado a um(a) Procurador(a).
O objetivo é listar todas as substituições agendadas para o Membro vinculado ao gabinete logado (Promotoria)
Existem 2 situações:
Local só tem 1 Membro vinculado
Local tem mais de 1 Membro vinculado
Primeiro, é necessário verificar se o local tem mais de 1 Membro vinculado:
select count(u.idusuario) as Qtde from simp.usuario u join simp.promotor prom on prom.idusuarionome = u.idusuario join simp.promotorlocal pl on pl.idpromotor = prom.idpromotor join simp.local l on l.idlocal = pl.idlocal where u.situacao = 1 and l.situacao = 1 and l.idtipolocal in (7,8) -- Promotoria ou Procuradoria and u.tipofuncionario = 3 -- Membro and l.idlocal = 3386 -- Local Logado ;
Se a consulta acima retornar > 1:
Troque o ícone padrão do card (sugestão arrows-up-down da página https://angular-material.fusetheme.com/ui/icons/heroicons-solid ) para o ícone user (é apenas uma sugestão, pode utilizar o ícone já utilizado para designar membro no sistema).
Troque o título padrão do card de “Substituições agendadas” para “Membros do local”
Troque a grid e coloque uma grid simples apenas com os nomes listados através da consulta abaixo.
faz a consulta abaixo, listando os nomes completos dos Membros:
select case u.sexo when 'M' then 'Dr. ' || u.nomecompleto when 'F' then 'Dra. ' || u.nomecompleto else u.nomecompleto end as nome from simp.usuario u join simp.promotor prom on prom.idusuarionome = u.idusuario join simp.promotorlocal pl on pl.idpromotor = prom.idpromotor join simp.local l on l.idlocal = pl.idlocal where u.situacao = 1 and l.situacao = 1 and l.idtipolocal in (7,8) -- Promotoria ou Procuradoria and u.tipofuncionario = 3 -- Membro and l.idLocal = 1572 – Local logado order by u.nomecompleto;
Se a consulta acima retornar = 1:
Setar o ícone padrão arrows-up-down ( https://angular-material.fusetheme.com/ui/icons/heroicons-solid )
Setar título para “Substituições agendadas”.
Exibir grid conforme protótipo listando todas as informações retornadas na consulta abaixo.
faz a consulta abaixo, listando as substituições cadastradas:
select sub.dataini AS Data_inicial , sub.dataFIM AS Data_final , ut.nomecompleto as Titular , us.nomecompleto as Substituto from simp.delegacaosubst sub join simp.promotor pt on pt.idpromotor = sub.idpromotortitular join simp.usuario ut on ut.idusuario = pt.idusuarionome join simp.promotor ps on ps.idpromotor = sub.idpromotorsubstituto join simp.usuario us on us.idusuario = ps.idusuarionome join simp.local l on l.idlocal = sub.idlocaldestinotramitacao join simp.comarca c on c.idcomarca = l.idcomarca where sub.situacao=1 and TRUNC(sysdate) <= sub.datafim and (ut.idusuario in (select u.idusuario from simp.usuario u join simp.promotor prom on prom.idusuarionome = u.idusuario join simp.promotorlocal pl on pl.idpromotor = prom.idpromotor join simp.local l on l.idlocal = pl.idlocal where u.situacao = 1 and l.situacao = 1 and l.idtipolocal = 8 -- Promotoria and u.tipofuncionario = 3 -- Membro and l.idlocal = 410 --Local logado ) OR us.idusuario in(select u.idusuario from simp.usuario u join simp.promotor prom on prom.idusuarionome = u.idusuario join simp.promotorlocal pl on pl.idpromotor = prom.idpromotor join simp.local l on l.idlocal = pl.idlocal where u.situacao = 1 and l.situacao = 1 and l.idtipolocal = 8 -- Promotoria and u.tipofuncionario = 3 -- Membro and l.idlocal = 410 --410 -- [id_promotoria_logada]. Exemplos: idLocal = 1572: > 1 ; idLocal = 410: = 1 ) ) order by sub.dataini, ut.idusuario, us.idusuario DESC;
8. Protocolos
Há três informações a serem exibidas:
Recebidos (comigo): utilizar a mesma consulta Gabinete Virtual -> Pasta Recebidos
Total no local: utilizar a mesma consulta Gabinete Virtual -> Pasta Meu Local
Ao clicar no número, o SIMP deve remeter o usuário à tela Gabinete Virtual com a respectiva pasta selecionada.
Há mais de 90 dias sem manifestação:
Não há tela específica para elencar esses protocolos. Então, se o usuário clicar nesse número, o SIMP NÃO DEVE realizar nenhuma operação.
Local é Promotoria (local.idTipoLocal = 8 )
-- 1ª Instância select count( distinct p.idprotocolo) as Quant_Sem_Mov_Area_Fim_e_Interno --distinct p.numeroregistro, pm.datahora from simp.protocolomovimento pm join simp.protocolo p on p.idprotocolo = pm.idprotocolo join simp.local l on l.idlocal = p.idpromotoria and p.idprocuradoria is null -- 1ª Instância join simp.itens i on i.tipo_item = 'M' and i.cod_item = pm.idmovimento join simp.movimentos m on m.cod_movimento = i.cod_item where p.situacao = 1 -- movimento ativo em protocolo dentro do MP and p.flagclassificado = 2 and (m.areafim = 2 or m.tipoandamento = 3) -- Área fim e Movimento Interno and p.idpromotoria = 3386 -- Local logado -- pegar o ultimo movimento pelo idProtMov and pm.idprotocolomovimento = (select max(pm2.idprotocolomovimento) from simp.protocolomovimento pm2 join simp.protocolo p2 on p2.idprotocolo = pm2.idprotocolo join simp.itens i2 on i2.tipo_item = 'M' and i2.cod_item = pm2.idmovimento join simp.movimentos m2 on m2.cod_movimento = i2.cod_item where p2.numeroregistro=p.numeroregistro and pm2.idmovimento = m2.cod_movimento and pm2.ativo = 2 and p2.situacao = 1 and p2.flagclassificado = 2 and (m2.areafim = 2 or m2.tipoandamento = 3)) and pm.datahora < (sysdate-30);
Local é Procuradoria (local.idTipoLocal = 7 )
-- 2ª Instância select count( distinct p.idprotocolo) as Quant_Sem_Mov_Area_Fim_e_Interno --distinct p.numeroregistro, pm.datahora from simp.protocolomovimento pm join simp.protocolo p on p.idprotocolo = pm.idprotocolo join simp.local l on l.idlocal = p.idprocuradoria and p.idpromotoria is null -- 2ª Instância, desconsiderando CSMP e CPJ join simp.itens i on i.tipo_item = 'M' and i.cod_item = pm.idmovimento join simp.movimentos m on m.cod_movimento = i.cod_item where p.situacao = 1 -- movimento ativo em protocolo dentro do MP and p.flagclassificado = 2 and (m.areafim = 2 or m.tipoandamento = 3) -- Área fim e Movimento Interno and p.idpromotoria = 3672 -- Local logado -- pegar o ultimo movimento pelo idProtMov and pm.idprotocolomovimento = (select max(pm2.idprotocolomovimento) from simp.protocolomovimento pm2 join simp.protocolo p2 on p2.idprotocolo = pm2.idprotocolo join simp.itens i2 on i2.tipo_item = 'M' and i2.cod_item = pm2.idmovimento join simp.movimentos m2 on m2.cod_movimento = i2.cod_item where p2.numeroregistro=p.numeroregistro and pm2.idmovimento = m2.cod_movimento and pm2.ativo = 2 and p2.situacao = 1 and p2.flagclassificado = 2 and (m2.areafim = 2 or m2.tipoandamento = 3)) and pm.datahora < (sysdate-30);