From a4243ceb9624801ac358c20f018dc3566a719dd0 Mon Sep 17 00:00:00 2001 From: RONALDO RODRIGUES DE OLIVEIRA Date: Tue, 22 Apr 2025 15:00:06 -0300 Subject: [PATCH] Function verifica ciência/notificacao gestor --- declaracao_omissao/2.1-function-par-get_gestor_ciencia_par.sql | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 declaracao_omissao/2.1-function-par-get_gestor_ciencia_par.sql diff --git a/declaracao_omissao/2.1-function-par-get_gestor_ciencia_par.sql b/declaracao_omissao/2.1-function-par-get_gestor_ciencia_par.sql new file mode 100644 index 0000000..5471c07 --- /dev/null +++ b/declaracao_omissao/2.1-function-par-get_gestor_ciencia_par.sql @@ -0,0 +1,31 @@ +-- DROP FUNCTION IF EXISTS par.get_gestor_ciencia_par(VARCHAR, VARCHAR, INT, INT) + +CREATE OR REPLACE FUNCTION par.get_gestor_ciencia_par(i_responsavel_cpf VARCHAR, i_processo VARCHAR, i_dopid INT, i_prp_id INT) +RETURNS TABLE (usucpf VARCHAR) AS $$ +BEGIN + RETURN QUERY + SELECT np.npresptermocpf AS usucpf + FROM par.notificacao_postal np + WHERE np.npstatus = 'A' + AND np.npcienc_dt_receb IS NOT NULL + AND np.npresptermocpf = i_responsavel_cpf + AND np.processo = i_processo + + union all + select usu.usucpf + from par.exgestor eg + inner join par.notificacaoexgestor neg on neg.egid = eg.egid + inner join seguranca.usuario usu on usu.usucpf = eg.usucpf + where eg.dopid = i_dopid and neg.negdtaceiterealizado is not null and eg.egstatus = 'A' and neg.negstatus = 'A' + + UNION ALL + + SELECT opc.opccpfciencia AS usucpf + FROM par.omissaopcente opc + WHERE opc.opcciencia = 'true' + AND opc.opcstatus = 'A' + AND opc.opccpfciencia = i_responsavel_cpf + AND opc.prpid = i_prp_id; +END; +$$ LANGUAGE plpgsql; + -- libgit2 0.25.0