Function seta valores no histórico de tramitações da PC

parent ea80b19f
-- drop function if exists workflow.set_omissodeclarado_situacaopc(integer, integer, bpchar, varchar, integer, integer)
CREATE OR REPLACE FUNCTION workflow.set_omissodeclarado_situacaopc(
p_docid integer,
p_esdiddestino integer,
p_cpf bpchar(11),
p_programa varchar(10),
p_prog_id integer,
p_arqid integer
)
RETURNS void
language plpgsql
as $$
declare
estadodocumento_esdidorigem integer;
acaoestadodoc_aedid integer;
historicodocumento_hstid integer;
BEGIN
estadodocumento_esdidorigem := (select esd.esdid from workflow.estadodocumento esd inner join workflow.documento doc on esd.esdid = doc.esdid where doc.docid = p_docid);
INSERT INTO workflow.acaoestadodoc
(esdidorigem, esdiddestino, aeddscrealizar, aeddscrealizada, esdcomentarioobrigatorio, aeddescregracondicao)
VALUES(estadodocumento_esdidorigem, p_esdiddestino, 'Enviar para Omisso Declarado', 'Enviado para Omisso Declarado', 't', 'Ação criada via rotina automatica') returning aedid into acaoestadodoc_aedid;
insert into workflow.historicodocumento
( aedid, docid, usucpf, htddata )
values ( acaoestadodoc_aedid , p_docid , p_cpf, now() )
returning hstid into historicodocumento_hstid;
insert into workflow.comentariodocumento
( docid, hstid, cmddsc, cmddata, cmdstatus )
values ( p_docid, historicodocumento_hstid , 'Estabelecido omisso declarado', now(), 'A' );
update workflow.documento
set esdid = p_esdiddestino
where docid = p_docid;
if p_programa = 'PAR' then
insert into par.registrosituacaopc
(usucpf,rspnumerosei,rspdata,rspdataregistro,rspnumerodocumento,rspobservacoes,rspciencia,rsptramitoufase,rsptramitoupc,rsptramitouopc,rspcpfrecebedor,rspnomerecebedor,rspdataciencia,rspvia,arqid,arqid_ciencia,prpid,proid_par,proid_pac,rspvldebitoapurado,rspdtapontada,proid_par3) VALUES
(p_cpf,null,now(),now(),null,'Declaração de omissão',false,false,false,true,' ','',NULL,'',p_arqid,NULL,p_prog_id,NULL,NULL,NULL,NULL,NULL);
elseif p_programa = 'OBRA' then
insert into par.registrosituacaopc
(usucpf,rspnumerosei,rspdata,rspdataregistro,rspnumerodocumento,rspobservacoes,rspciencia,rsptramitoufase,rsptramitoupc,rsptramitouopc,rspcpfrecebedor,rspnomerecebedor,rspdataciencia,rspvia,arqid,arqid_ciencia,prpid,proid_par,proid_pac,rspvldebitoapurado,rspdtapontada,proid_par3) VALUES
(p_cpf,null,now(),now(),null,'Declaração de omissão',false,false,false,true,' ','',NULL,'',p_arqid,NULL,null,p_prog_id,NULL,NULL,NULL,NULL);
elseif p_programa = 'PAC' then
insert into par.registrosituacaopc
(usucpf,rspnumerosei,rspdata,rspdataregistro,rspnumerodocumento,rspobservacoes,rspciencia,rsptramitoufase,rsptramitoupc,rsptramitouopc,rspcpfrecebedor,rspnomerecebedor,rspdataciencia,rspvia,arqid,arqid_ciencia,prpid,proid_par,proid_pac,rspvldebitoapurado,rspdtapontada,proid_par3) VALUES
(p_cpf,null,now(),now(),null,'Declaração de omissão',false,false,false,true,' ','',NULL,'',p_arqid,NULL,null,NULL,p_prog_id,NULL,NULL,NULL);
end if;
END; $$
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment