Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Function: meta_gpj_2015.sp_meta_1(date, date, integer, integer, character, character)
- -- DROP FUNCTION meta_gpj_2015.sp_meta_1(date, date, integer, integer, character, character);
- CREATE OR REPLACE FUNCTION meta_gpj_2015.sp_meta_1(
- IN dtinicio date,
- IN dtfim date,
- IN comarcaid integer,
- IN intvara integer,
- IN tipo character,
- IN sistema character)
- RETURNS TABLE(intprocessoid bigint, intcomarcaid integer, strcomarca text, dtaabertura date, dtadistribuicao date, dtamovimento date, intvaraid integer, strvara text, strtipovara text, intclassecnjid integer, strclassecnj text, inttipocomarcaid bigint, bolacervo character) AS
- $BODY$
- DECLARE
- dtinicio ALIAS FOR $1;
- dtfim ALIAS FOR $2;
- municipioid ALIAS FOR $3;
- varaid ALIAS FOR $4;
- tipo_C ALIAS FOR $5;
- sist ALIAS FOR $6;
- BEGIN
- CREATE TEMPORARY TABLE tmpAcervo
- ON COMMIT DROP AS
- select 'I'::char as strtipoacervo, * from (
- select distinct pk_processo, intmunicipiocomarcaid, strmunicipio, p.dtaabertura, p.dtadistribuicao, p.intvaraid, p.strvara, p.strtipovara,
- p.intclassecnjid,p.strclassecnj, p.intTipoComarcaId, null::date as dtamovimento, p.tblorigem::varchar
- from meta_gpj_2015.meta1_processo p
- WHERE p.dtaabertura between dtinicio::date and dtfim::date
- AND (CASE WHEN municipioid=0 then true else municipioid=intmunicipiocomarcaid END)
- AND (CASE WHEN varaid=0 then true else varaid=p.intvaraid END)
- AND (CASE WHEN sist='T' THEN p.tblOrigem % 'Themis' WHEN sist='P' THEN p.tblOrigem % 'Projudi' ELSE ( true ) END )
- AND NOT EXISTS ( select distinct *
- from meta_gpj_2015.meta1_acervo_julgado_min aj
- where aj.dtaMovimento < dtinicio::date
- AND aj.intmunicipiocomarcaid = p.intmunicipiocomarcaid
- AND aj.intvaraid = p.intvaraid
- AND aj.pk_processo = p.pk_processo
- AND (CASE WHEN sist='T' THEN aj.tblOrigem % 'Themis' WHEN sist='P' THEN aj.tblOrigem % 'Projudi' ELSE ( true ) END )
- )
- AND NOT EXISTS (
- SELECT true
- FROM base.processo_status_historico psh
- WHERE psh.intprocessoid = p.pk_processo
- AND psh.intmunicipiocomarcaid = p.intmunicipiocomarcaid
- AND psh.intprocessostatusid = 5
- AND psh.dtaprocessostatushistorico > dtinicio::date
- )
- ) as tmpacervoinicial
- union
- select 'F'::char as strtipoacervo, * from (
- select distinct *
- from meta_gpj_2015.meta1_acervo_julgado_min aj
- where aj.dtaMovimento between dtinicio::date and dtfim::date
- AND (CASE WHEN municipioid=0 then true else municipioid=aj.intmunicipiocomarcaid END )
- AND (CASE WHEN varaid=0 then true else varaid=aj.intvaraid END )
- AND (CASE WHEN sist='T' THEN aj.tblOrigem % 'Themis' WHEN sist='P' THEN aj.tblOrigem % 'Projudi' ELSE ( true ) END )
- ) as tmpacervofinal;
- RETURN QUERY
- SELECT DISTINCT pk_processo,m4.intmunicipiocomarcaid, m4.strmunicipio,m4.dtaabertura,m4.dtadistribuicao,m4.dtamovimento::date,m4.intvaraid,m4.strvara,
- m4.strtipovara,m4.intclassecnjid, m4.strclassecnj,m4.inttipocomarcaid,strtipoacervo
- FROM tmpAcervo m4
- WHERE CASE WHEN ( tipo_C='I' or tipo_C='F' ) THEN tipo_C=strtipoacervo ELSE ( tipo_C='R' ) END
- ORDER BY m4.strmunicipio, m4.strvara, strtipoacervo desc, m4.dtaabertura;
- END
- $BODY$
- LANGUAGE plpgsql VOLATILE
- COST 100
- ROWS 1000;
- ALTER FUNCTION meta_gpj_2015.sp_meta_1(date, date, integer, integer, character, character)
- OWNER TO user_dw;
- GRANT EXECUTE ON FUNCTION meta_gpj_2015.sp_meta_1(date, date, integer, integer, character, character) TO user_dw;
- GRANT EXECUTE ON FUNCTION meta_gpj_2015.sp_meta_1(date, date, integer, integer, character, character) TO public;
- GRANT EXECUTE ON FUNCTION meta_gpj_2015.sp_meta_1(date, date, integer, integer, character, character) TO jurisconsult;
Advertisement
Add Comment
Please, Sign In to add comment