Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION tjmg.fn_extrai_decisoes(pdata_inicial_extracao TIMESTAMP, pdata_final_extracao TIMESTAMP, pcomarca INTEGER)
- RETURNS setof tjmg.t_decisoes AS
- $FUNC$
- DECLARE
- r tjmg.t_decisoes;
- BEGIN
- FOR r IN
- SELECT
- dense_rank() OVER (partition BY comarca ORDER BY comarca, tjmg.fn_mf_ordem_vara(CAST(orgao_julgador AS text)), classe_judicial, num_processo, decisao_judicial) AS indice,
- expDje.comarca AS comarca,
- UPPER(expDje.orgao_julgador) AS orgao_julgador,
- expDje.classe_judicial AS classe_judicial,
- expDje.num_processo AS num_processo,
- expDje.decisao_judicial,
- expDje.polo AS polo,
- tjmg.fn_initcap(expDje.tipo_parte) AS tipo_parte,
- tjmg.fn_initcap(expDje.representante) AS representante,
- tjmg.fn_initcap(expDje.oab) AS oab,
- (CASE WHEN id_tipo_processo_documento = 62 THEN '. => Sentença proferida' WHEN id_tipo_processo_documento = 64 THEN '. => Decisão proferida' ELSE '. => Despacho proferido' END) ||
- (CASE WHEN in_segredo_justica THEN '. O seu inteiro teor poderá ser visualizado apenas pelas partes e pelos seus respectivos procuradores no Sistema PJe. Esta publicação não possui efeito de intimação.'
- ELSE '. O seu inteiro teor poderá ser visualizado na consulta pública do Sistema PJe. Esta publicação não possui efeito de intimação.' END) AS informacoes_sentenca
- FROM
- (
- SELECT
- doc.id_processo_documento AS decisao_judicial,
- tju.nr_origem AS comarca,
- oj.ds_orgao_julgador AS orgao_julgador,
- pc.ds_classe_judicial AS classe_judicial,
- tproc.nr_processo AS num_processo,
- tpp.in_participacao AS polo,
- 'REPRESENTANTE' AS tipo_parte,
- tprcu.ds_nome AS representante,
- '' AS oab,
- doc.id_tipo_processo_documento,
- pr.in_segredo_justica
- FROM tb_processo_documento doc
- INNER JOIN tb_processo tproc ON tproc.id_processo = doc.id_processo
- INNER JOIN tb_processo_trf pr ON pr.id_processo_trf = tproc.id_processo
- INNER JOIN tb_processo_parte tpp ON tpp.id_processo_trf = pr.id_processo_trf
- INNER JOIN tb_procuradoria tprcu ON tprcu.id_procuradoria = tpp.id_procuradoria
- INNER JOIN tb_tipo_parte ttp ON ttp.id_tipo_parte = tpp.id_tipo_parte
- INNER JOIN tb_jurisdicao tju ON tju.id_jurisdicao = pr.id_jurisdicao
- INNER JOIN tb_orgao_julgador oj ON pr.id_orgao_julgador = oj.id_orgao_julgador
- INNER JOIN tb_classe_judicial pc ON pr.id_classe_judicial = pc.id_classe_judicial
- INNER JOIN tb_processo_expediente pe ON pr.id_processo_trf = pe.id_processo_trf
- WHERE 1 = 1
- AND tju.nr_origem = pcomarca
- AND tpp.id_procuradoria IS NOT NULL
- AND tpp.in_situacao = 'A'
- AND doc.id_tipo_processo_documento =
- ANY (string_to_array(
- (SELECT vl_variavel FROM tb_parametro WHERE nm_variavel = 'idTipoProcessoDocumentoDecisaoPje'),','
- )::INTEGER[]
- )
- AND pe.dt_exclusao IS NULL
- AND pe.in_meio_expedicao_expediente = 'E'
- AND pe.id_tipo_processo_documento =
- ANY (string_to_array(
- (SELECT vl_variavel FROM tb_parametro WHERE nm_variavel = 'idTipoProcessoDocumentoIntimacaoPje'),','
- )::INTEGER[]
- )
- AND EXISTS (SELECT NULL
- FROM tb_proc_parte_expediente ppe
- INNER JOIN tb_processo_expediente expediente ON expediente.id_processo_expediente = ppe.id_processo_expediente
- INNER JOIN tb_processo_documento doc_exp ON doc_exp.id_processo_documento = expediente.id_processo_documento
- WHERE ppe.id_processo_expediente = pe.id_processo_expediente
- AND doc_exp.id_processo_documento_bin = doc.id_processo_documento_bin
- HAVING COUNT(*) = COUNT(ppe.dt_ciencia_parte)
- AND MAX(ppe.dt_ciencia_parte) BETWEEN pdata_inicial_extracao AND pdata_final_extracao)
- UNION ALL
- SELECT
- doc.id_processo_documento AS decisao_judicial,
- tju.nr_origem AS comarca,
- oj.ds_orgao_julgador AS orgao_julgador,
- pc.ds_classe_judicial AS classe_judicial,
- tproc.nr_processo AS num_processo,
- tpp.in_participacao AS polo,
- ttp.ds_tipo_parte AS tipo_parte,
- CASE
- -- Menor
- WHEN tpf.dt_nascimento IS NOT NULL AND AGE(CAST(pr.dt_distribuicao AS DATE), CAST(tpf.dt_nascimento AS DATE)) < INTERVAL '18 YEARS' THEN
- 'Criança/Adolescente'
- -- Segredo de justica
- WHEN pr.in_segredo_justica AND UPPER(ttp.ds_tipo_parte) <> 'ADVOGADO' THEN
- tjmg.fn_formata_nome(tjmg.fn_sf_nome_sem_conectivos(tusu.ds_nome))
- ELSE tusu.ds_nome
- END AS representante,
- CASE
- WHEN adv.nr_oab IS NOT NULL AND estado.cd_estado IS NOT NULL AND adv.in_tipo_inscricao IS NOT NULL THEN
- LPAD( TRIM(adv.nr_oab), 6, '0' ) || estado.cd_estado::text || '-' || adv.in_tipo_inscricao::text
- ELSE ''
- END AS oab,
- doc.id_tipo_processo_documento,
- pr.in_segredo_justica
- FROM
- tb_processo_documento doc
- INNER JOIN tb_processo tproc ON tproc.id_processo = doc.id_processo
- INNER JOIN tb_processo_trf pr ON pr.id_processo_trf = tproc.id_processo
- INNER JOIN tb_processo_parte tpp ON tpp.id_processo_trf = pr.id_processo_trf
- LEFT JOIN tb_pessoa_fisica tpf ON tpf.id_pessoa_fisica = tpp.id_pessoa
- LEFT JOIN tb_pessoa_advogado adv ON tpp.id_pessoa = adv.id
- LEFT JOIN tb_estado estado ON estado.id_estado = adv.id_uf_oab
- INNER JOIN tb_usuario_login tusu ON tusu.id_usuario = tpp.id_pessoa
- INNER JOIN tb_tipo_parte ttp ON ttp.id_tipo_parte = tpp.id_tipo_parte
- INNER JOIN tb_jurisdicao tju ON tju.id_jurisdicao = pr.id_jurisdicao
- INNER JOIN tb_orgao_julgador oj ON pr.id_orgao_julgador = oj.id_orgao_julgador
- INNER JOIN tb_classe_judicial pc ON pr.id_classe_judicial = pc.id_classe_judicial
- INNER JOIN tb_processo_expediente pe ON pr.id_processo_trf = pe.id_processo_trf
- WHERE 1 = 1
- AND tju.nr_origem = pcomarca
- AND ((tpp.in_parte_principal = TRUE) OR
- (UPPER(ttp.ds_tipo_parte) = UPPER('ADVOGADO')) -- advogados que nao tenho o tipo parte = a ADVOGADO
- )
- AND tpp.in_situacao = 'A'
- AND doc.id_tipo_processo_documento =
- ANY (string_to_array(
- (SELECT vl_variavel FROM tb_parametro WHERE nm_variavel = 'idTipoProcessoDocumentoDecisaoPje'),','
- )::INTEGER[]
- )
- AND pe.dt_exclusao isnull
- AND pe.in_meio_expedicao_expediente = 'E'
- AND pe.id_tipo_processo_documento =
- ANY (string_to_array(
- (SELECT vl_variavel FROM tb_parametro WHERE nm_variavel = 'idTipoProcessoDocumentoIntimacaoPje'),','
- )::INTEGER[]
- )
- AND EXISTS (SELECT NULL
- FROM tb_proc_parte_expediente ppe
- INNER JOIN tb_processo_expediente expediente ON expediente.id_processo_expediente = ppe.id_processo_expediente
- INNER JOIN tb_processo_documento doc_exp ON doc_exp.id_processo_documento = expediente.id_processo_documento
- WHERE ppe.id_processo_expediente = pe.id_processo_expediente
- AND doc_exp.id_processo_documento_bin = doc.id_processo_documento_bin
- HAVING COUNT(*) = COUNT(ppe.dt_ciencia_parte)
- AND MAX(ppe.dt_ciencia_parte) BETWEEN pdata_inicial_extracao AND pdata_final_extracao)
- ) AS expDje
- GROUP BY
- expDje.comarca,
- expDje.orgao_julgador,
- expDje.classe_judicial,
- expDje.num_processo,
- expDje.decisao_judicial,
- expDje.polo,
- expDje.tipo_parte,
- expDje.representante,
- expDje.oab,
- (CASE WHEN id_tipo_processo_documento = 62 THEN '. => Sentença proferida' WHEN id_tipo_processo_documento = 64 THEN '. => Decisão proferida' ELSE '. => Despacho proferido' END) ||
- (CASE WHEN in_segredo_justica THEN '. O seu inteiro teor poderá ser visualizado apenas pelas partes e pelos seus respectivos procuradores no Sistema PJe. Esta publicação não possui efeito de intimação.'
- ELSE '. O seu inteiro teor poderá ser visualizado na consulta pública do Sistema PJe. Esta publicação não possui efeito de intimação.' END)
- ORDER BY
- expDje.comarca,
- tjmg.fn_mf_ordem_vara(CAST(expDje.orgao_julgador AS text)),
- expDje.classe_judicial,
- expDje.num_processo,
- expDje.decisao_judicial,
- expDje.polo,
- expDje.tipo_parte
- LOOP
- RETURN NEXT r;
- END LOOP;
- RETURN;
- END
- $FUNC$ LANGUAGE plpgsql VOLATILE STRICT COST 100;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement