GF_2015.sql
7.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/*
**********************************************************************************
* *
* @package URBEM CNM - Soluções em Gestão Pública *
* @copyright (c) 2013 Confederação Nacional de Municípos *
* @author Confederação Nacional de Municípios *
* *
* O URBEM CNM é um software livre; você pode redistribuí-lo e/ou modificá-lo sob *
* os termos da Licença Pública Geral GNU conforme publicada pela Fundação do *
* Software Livre (FSF - Free Software Foundation); na versão 2 da Licença. *
* *
* Este programa é distribuído na expectativa de que seja útil, porém, *
* SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU *
* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU *
* para mais detalhes. *
* *
* Você deve ter recebido uma cópia da Licença Pública Geral do GNU "LICENCA.txt" *
* com este programa; se não, escreva para a Free Software Foundation Inc., *
* no endereço 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
* *
**********************************************************************************
*/
/*
*
* Script de DDL e DML
*
* Versao 2.01.5
*
* Fabio Bertoldi - 20130205
*
*/
--------------------------------------------
-- RECRIANDO VIEW organograma.vw_orgao_nivel
--------------------------------------------
CREATE OR REPLACE FUNCTION dropview() RETURNS VOID AS $$
DECLARE
BEGIN
PERFORM 1
FROM pg_views
WHERE schemaname = 'organograma'
AND viewname = 'vw_orgao_nivel'
;
IF FOUND THEN
DROP VIEW organograma.vw_orgao_nivel;
END IF;
END;
$$ LANGUAGE 'plpgsql';
SELECT dropview();
DROP FUNCTION dropview();
CREATE VIEW organograma.vw_orgao_nivel AS
SELECT o.cod_orgao
, o.num_cgm_pf
, o.cod_calendar
, o.cod_norma
, o.criacao
, o.inativacao
, o.sigla_orgao
, orn.cod_organograma
, organograma.fn_consulta_orgao(orn.cod_organograma, o.cod_orgao) AS orgao
, publico.fn_mascarareduzida(organograma.fn_consulta_orgao(orn.cod_organograma, o.cod_orgao)) AS orgao_reduzido
, publico.fn_nivel(organograma.fn_consulta_orgao(orn.cod_organograma, o.cod_orgao)) AS nivel
, orn.cod_nivel
FROM organograma.orgao o
, organograma.orgao_nivel orn
WHERE o.cod_orgao = orn.cod_orgao
ORDER BY o.cod_orgao
;
----------------
-- Ticket #20075
----------------
CREATE OR REPLACE FUNCTION manutencao() RETURNS VOID AS $$
DECLARE
BEGIN
PERFORM 1
FROM pg_class
, pg_attribute
, pg_type
WHERE pg_class.relname = 'ordem_pagamento_retencao'
AND pg_attribute.attname = 'cod_receita'
AND pg_attribute.attnum > 0
AND pg_attribute.attrelid = pg_class.oid
AND pg_attribute.atttypid = pg_type.oid
;
IF NOT FOUND THEN
ALTER TABLE empenho.ordem_pagamento_retencao ADD COLUMN cod_receita INTEGER;
ALTER TABLE empenho.ordem_pagamento_retencao ADD CONSTRAINT fk_ordem_pagamento_retencao_3 FOREIGN KEY (exercicio, cod_receita)
REFERENCES orcamento.receita (exercicio, cod_receita);
END IF;
END;
$$ LANGUAGE 'plpgsql';
SELECT manutencao();
DROP FUNCTION manutencao();
----------------
-- Ticket #20075
----------------
ALTER TABLE contabilidade.lancamento_retencao DROP CONSTRAINT fk_retencao_1;
ALTER TABLE tesouraria.arrecadacao_estornada_ordem_pagamento_retencao DROP CONSTRAINT fk_arrecadacao_estornada_ordem_pagamento_retencao_2;
ALTER TABLE tesouraria.arrecadacao_ordem_pagamento_retencao DROP CONSTRAINT fk_arrecadacao_ordem_pagamento_retencao_2;
ALTER TABLE tesouraria.transferencia_estornada_ordem_pagamento_retencao DROP CONSTRAINT fk_transferencia_estornada_ordem_pagamento_retencao_2;
ALTER TABLE tesouraria.transferencia_ordem_pagamento_retencao DROP CONSTRAINT fk_transferencia_ordem_pagamento_retencao_2;
ALTER TABLE empenho.ordem_pagamento_retencao DROP CONSTRAINT pk_ordem_pagamento_retencao;
ALTER TABLE contabilidade.lancamento_retencao ADD sequencial integer DEFAULT 1 NOT NULL;
ALTER TABLE tesouraria.arrecadacao_estornada_ordem_pagamento_retencao ADD sequencial integer DEFAULT 1 NOT NULL;
ALTER TABLE tesouraria.arrecadacao_ordem_pagamento_retencao ADD sequencial integer DEFAULT 1 NOT NULL;
ALTER TABLE tesouraria.transferencia_estornada_ordem_pagamento_retencao ADD sequencial integer DEFAULT 1 NOT NULL;
ALTER TABLE tesouraria.transferencia_ordem_pagamento_retencao ADD sequencial integer DEFAULT 1 NOT NULL;
ALTER TABLE empenho.ordem_pagamento_retencao ADD sequencial integer DEFAULT 1 NOT NULL;
ALTER TABLE empenho.ordem_pagamento_retencao ADD CONSTRAINT pk_ordem_pagamento_retencao PRIMARY KEY (exercicio, cod_entidade, cod_ordem, cod_plano, sequencial);
ALTER TABLE contabilidade.lancamento_retencao ADD CONSTRAINT fk_retencao_1 FOREIGN KEY (cod_ordem, cod_entidade, cod_plano, exercicio_retencao, sequencial) REFERENCES empenho.ordem_pagamento_retencao(cod_ordem, cod_entidade, cod_plano, exercicio, sequencial);
ALTER TABLE tesouraria.arrecadacao_estornada_ordem_pagamento_retencao ADD CONSTRAINT fk_arrecadacao_estornada_ordem_pagamento_retencao_2 FOREIGN KEY (exercicio, cod_entidade, cod_ordem, cod_plano, sequencial) REFERENCES empenho.ordem_pagamento_retencao(exercicio, cod_entidade, cod_ordem, cod_plano, sequencial);
ALTER TABLE tesouraria.arrecadacao_ordem_pagamento_retencao ADD CONSTRAINT fk_arrecadacao_ordem_pagamento_retencao_2 FOREIGN KEY (exercicio, cod_entidade, cod_ordem, cod_plano, sequencial) REFERENCES empenho.ordem_pagamento_retencao(exercicio, cod_entidade, cod_ordem, cod_plano, sequencial);
ALTER TABLE tesouraria.transferencia_estornada_ordem_pagamento_retencao ADD CONSTRAINT fk_transferencia_estornada_ordem_pagamento_retencao_2 FOREIGN KEY (exercicio, cod_entidade, cod_ordem, cod_plano, sequencial) REFERENCES empenho.ordem_pagamento_retencao(exercicio, cod_entidade, cod_ordem, cod_plano, sequencial);
ALTER TABLE tesouraria.transferencia_ordem_pagamento_retencao ADD CONSTRAINT fk_transferencia_ordem_pagamento_retencao_2 FOREIGN KEY (exercicio, cod_entidade, cod_ordem, cod_plano, sequencial) REFERENCES empenho.ordem_pagamento_retencao(exercicio, cod_entidade, cod_ordem, cod_plano, sequencial);
----------------
-- Ticket #20017
----------------
INSERT INTO administracao.configuracao (exercicio, cod_modulo, parametro, valor) VALUES ('2013', 8, 'cod_entidade_consorcio', '');