GRH_1960.sql
29.5 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
/*
**********************************************************************************
* *
* @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
*
* URBEM Soluções de Gestão Pública Ltda
* www.urbem.cnm.org.br
*
* $Id: GRH_1960.sql 59612 2014-09-02 12:00:51Z gelson $
*
* Versão 1.96.0
*/
----------------
-- Ticket #14357
----------------
INSERT INTO administracao.relatorio
( cod_gestao
, cod_modulo
, cod_relatorio
, nom_relatorio
, arquivo )
VALUES ( 4
, 22
, 1
, 'Cargos'
, 'cargos.rptdesign'
);
----------------
-- Ticket #14301
----------------
SELECT atualizarbanco('
CREATE TABLE ima.codigo_dirf(
exercicio CHAR(4) NOT NULL,
cod_dirf INTEGER NOT NULL,
tipo CHAR(1) NOT NULL,
descricao VARCHAR(250) NOT NULL,
CONSTRAINT pk_codigo_dirf PRIMARY KEY (exercicio, cod_dirf, tipo),
CONSTRAINT ck_codigo_dirf_1 CHECK (tipo in (\'F\',\'J\'))
);
');
SELECT atualizarbanco('GRANT ALL ON ima.codigo_dirf TO GROUP urbem;');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 1561, \'F\', \'Trabalho Assalariado no País e Ausentes no Exterior a Serviço do País.\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 0588, \'F\', \'TrabalhoTrabalho Sem Vínculo Empregatício (Importâncias pagas por pessoa jurídica à pessoa física).\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 3208, \'F\', \'TrabalhoTrabalhoAluguéis e Royalties Pagos a Pessoa Física\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 3223, \'F\', \'Resgate de Previdência Privada e Fapi\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 5565, \'F\', \'ResgateRetenção do Imposto de Renda na Fonte sobre pagamento de resgate ou benefícios de caráter previdenciário, cujos beneficiários optaram pelo regime de tributação de que trata o art. 1º da Lei nº 11.053, de 29 de dezembro de 2004\');');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 6891, \'F\', \'ResgateRetençãoCobertura por Sobrevivência em Seguro de Vida (VGBL)\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 6904, \'F\', \'ResgateRetençãoCoberturaIndenizações por Danos Morais\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 8053, \'F\', \'ResgateRetençãoCoberturaIndenizaçõesAplicações Financeiras de Renda Fixa, Exceto em Fundos de Investimento\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 1708, \'J\', \'Remuneração de Serviços Profissionais Prestados por Pessoa Jurídica\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 3280, \'J\', \'Remuneração de Serviços Pessoais Prestados por Associados de Cooperativas de Trabalho\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 3426, \'J\', \'RemuneraçãoAplicações Financeiras de Renda Fixa, Exceto em Fundos de Investimento\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 3746, \'J\', \'RemuneraçãoAplicaçõesRetenção de Cofins sobre Pagamentos Referentes à Aquisição de Autopeças - IN SRF 594, de 2005\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 4770, \'J\', \'RemuneraçãoAplicaçõesRetençãoRetenção de PIS/Pasep sobre Pagamentos Referentes à Aquisição de Autopeças - IN SRF 594, de 2005\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 4085, \'J\', \'RemuneraçãoAplicaçõesRetençãoRetençãoRetenção de CSLL, Cofins e PIS/Pasep sobre pagamentos efetuados por órgãos, autarquias e fundações dos Estados, Distrito Federal e Municípios\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 4397, \'J\', \'RemuneraçãoAplicaçõesRetençãoRetençãoRetençãoRetenção de CSLL sobre pagamentos efetuados por órgãos, autarquias e fundações dos Estados, Distrito Federal e Municípios\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 4407, \'J\', \'RemuneraçãoAplicaçõesRetençãoRetençãoRetençãoRetençãoRetenção de Cofins sobre pagamentos efetuados por órgãos, autarquias e fundações dos Estados, Distrito Federal e Municípios\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 4409, \'J\', \'RemuneraçãoAplicaçõesRetençãoRetençãoRetençãoRetençãoRetençãoRetenção de PIS/Pasep sobre pagamentos efetuados por órgãos, autarquias e fundações dos Estados, Distrito Federal e Municípios\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 5944, \'J\', \'RemuneraçãoAplicaçõesRetençãoRetençãoRetençãoRetençãoRetençãoRetençãoRetenção de Imposto de Renda sobre Pagamentos Efetuados por Pessoas Jurídicas pela Prestação de Serviços Relacionados com a Atividade de Factoring\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 5952, \'J\', \'Retenção de Cofins, CSLL e PIS/Pasep sobre Pagamentos Efetuados por Pessoas Jurídicas de Direito Privado\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 5960, \'J\', \'Retenção de Cofins sobre Pagamentos Efetuados por Pessoas Jurídicas de Direito Privado\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 5979, \'J\', \'Retenção de PIS/Pasep sobre Pagamentos efetuados por Pessoas Jurídicas de Direito Privado\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 5987, \'J\', \'Retenção de CSLL sobre Pagamentos Efetuados por Pessoas Jurídicas de Direito Privado\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf (exercicio, cod_dirf, tipo, descricao) VALUES (\'2009\', 8045, \'J\', \'Serviços de Propaganda Prestados por Pessoa Jurídica, Comissões e Corretagens Pagas a Pessoa Jurídica\' );');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf SELECT 2003 AS exercicio, cod_dirf, tipo, descricao FROM ima.codigo_dirf WHERE exercicio = \'2009\';');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf SELECT 2004 AS exercicio, cod_dirf, tipo, descricao FROM ima.codigo_dirf WHERE exercicio = \'2009\';');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf SELECT 2005 AS exercicio, cod_dirf, tipo, descricao FROM ima.codigo_dirf WHERE exercicio = \'2009\';');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf SELECT 2006 AS exercicio, cod_dirf, tipo, descricao FROM ima.codigo_dirf WHERE exercicio = \'2009\';');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf SELECT 2007 AS exercicio, cod_dirf, tipo, descricao FROM ima.codigo_dirf WHERE exercicio = \'2009\';');
SELECT atualizarbanco('INSERT INTO ima.codigo_dirf SELECT 2008 AS exercicio, cod_dirf, tipo, descricao FROM ima.codigo_dirf WHERE exercicio = \'2009\';');
SELECT atualizarbanco('
CREATE TABLE ima.configuracao_dirf_prestador(
exercicio CHAR(4) NOT NULL,
cod_prestador INTEGER NOT NULL,
cod_dirf INTEGER NOT NULL,
tipo CHAR(1) NOT NULL,
cod_conta INTEGER NOT NULL,
CONSTRAINT pk_configuracao_dirf_prestador PRIMARY KEY (exercicio, cod_prestador),
CONSTRAINT fk_configuracao_dirf_prestador_1 FOREIGN KEY (exercicio)
REFERENCES ima.configuracao_dirf (exercicio),
CONSTRAINT fk_configuracao_dirf_prestador_2 FOREIGN KEY (exercicio, cod_dirf, tipo)
REFERENCES ima.codigo_dirf (exercicio, cod_dirf, tipo),
CONSTRAINT fk_configuracao_dirf_prestador_3 FOREIGN KEY (exercicio, cod_conta)
REFERENCES orcamento.conta_despesa (exercicio, cod_conta)
);
');
SELECT atualizarbanco('GRANT ALL ON ima.configuracao_dirf_prestador TO GROUP urbem;');
SELECT atualizarbanco('
CREATE TABLE ima.configuracao_dirf_irrf(
exercicio CHAR(4) NOT NULL,
cod_conta INTEGER NOT NULL,
CONSTRAINT pk_configuracao_dirf_irrf PRIMARY KEY (exercicio),
CONSTRAINT fk_configuracao_dirf_irrf_1 FOREIGN KEY (exercicio)
REFERENCES ima.configuracao_dirf (exercicio),
CONSTRAINT fk_configuracao_dirf_irrf_2 FOREIGN KEY (exercicio, cod_conta)
REFERENCES contabilidade.plano_conta(exercicio, cod_conta)
);
');
SELECT atualizarbanco('GRANT ALL ON ima.configuracao_dirf_irrf TO GROUP urbem;');
SELECT atualizarbanco('
CREATE TABLE ima.configuracao_dirf_inss(
exercicio CHAR(4) NOT NULL,
cod_conta INTEGER NOT NULL,
CONSTRAINT pk_configuracao_dirf_inss PRIMARY KEY (exercicio),
CONSTRAINT fk_configuracao_dirf_inss_1 FOREIGN KEY (exercicio)
REFERENCES ima.configuracao_dirf (exercicio),
CONSTRAINT fk_configuracao_dirf_inss_2 FOREIGN KEY (exercicio, cod_conta)
REFERENCES contabilidade.plano_conta(exercicio, cod_conta)
);
');
SELECT atualizarbanco('GRANT ALL ON ima.configuracao_dirf_inss TO GROUP urbem;');
INSERT INTO administracao.tabelas_rh VALUES (7,'codigo_dirf',1);
---------------------
-- RENOMEANDO TABELAS
---------------------
ALTER TABLE concurso.concurso RENAME TO edital;
ALTER TABLE ponto.calendario RENAME TO calendario_ponto;
ALTER TABLE calendario.calendario RENAME TO calendario_cadastro;
ALTER TABLE beneficio.beneficio RENAME TO beneficio_cadastro;
----------------
-- Ticket #14256
----------------
ALTER TABLE pessoal.configuracao_ferias ADD COLUMN ferias_proporcionais INTEGER;
UPDATE pessoal.configuracao_ferias SET ferias_proporcionais = 12;
ALTER TABLE pessoal.configuracao_ferias ALTER COLUMN ferias_proporcionais SET NOT NULL;
ALTER TABLE pessoal.configuracao_ferias ALTER COLUMN dias_gozo TYPE NUMERIC(3,1);
INSERT INTO pessoal.configuracao_ferias VALUES ( 6, 0, 5, 27.5, 11);
INSERT INTO pessoal.configuracao_ferias VALUES ( 7, 6, 14, 22.0, 11);
INSERT INTO pessoal.configuracao_ferias VALUES ( 8, 15, 23, 16.5, 11);
INSERT INTO pessoal.configuracao_ferias VALUES ( 9, 24, 32, 11.0, 11);
INSERT INTO pessoal.configuracao_ferias VALUES (10, 0, 5, 25.0, 10);
INSERT INTO pessoal.configuracao_ferias VALUES (11, 6, 14, 20.0, 10);
INSERT INTO pessoal.configuracao_ferias VALUES (12, 15, 23, 15.0, 10);
INSERT INTO pessoal.configuracao_ferias VALUES (13, 24, 32, 10.0, 10);
INSERT INTO pessoal.configuracao_ferias VALUES (14, 0, 5, 22.5, 9);
INSERT INTO pessoal.configuracao_ferias VALUES (15, 6, 14, 18.0, 9);
INSERT INTO pessoal.configuracao_ferias VALUES (16, 15, 23, 13.5, 9);
INSERT INTO pessoal.configuracao_ferias VALUES (17, 24, 32, 9.0, 9);
INSERT INTO pessoal.configuracao_ferias VALUES (18, 0, 5, 20.0, 8);
INSERT INTO pessoal.configuracao_ferias VALUES (19, 6, 14, 16.0, 8);
INSERT INTO pessoal.configuracao_ferias VALUES (20, 15, 23, 12.0, 8);
INSERT INTO pessoal.configuracao_ferias VALUES (21, 24, 32, 8.0, 8);
INSERT INTO pessoal.configuracao_ferias VALUES (22, 0, 5, 17.5, 7);
INSERT INTO pessoal.configuracao_ferias VALUES (23, 6, 14, 14.0, 7);
INSERT INTO pessoal.configuracao_ferias VALUES (24, 15, 23, 10.5, 7);
INSERT INTO pessoal.configuracao_ferias VALUES (25, 24, 32, 7.0, 7);
INSERT INTO pessoal.configuracao_ferias VALUES (26, 0, 5, 15.0, 6);
INSERT INTO pessoal.configuracao_ferias VALUES (27, 6, 14, 12.0, 6);
INSERT INTO pessoal.configuracao_ferias VALUES (28, 15, 23, 9.0, 6);
INSERT INTO pessoal.configuracao_ferias VALUES (29, 24, 32, 6.0, 6);
INSERT INTO pessoal.configuracao_ferias VALUES (30, 0, 5, 12.5, 5);
INSERT INTO pessoal.configuracao_ferias VALUES (31, 6, 14, 10.0, 5);
INSERT INTO pessoal.configuracao_ferias VALUES (32, 15, 23, 7.5, 5);
INSERT INTO pessoal.configuracao_ferias VALUES (33, 24, 32, 5.0, 5);
INSERT INTO pessoal.configuracao_ferias VALUES (34, 0, 5, 10.0, 4);
INSERT INTO pessoal.configuracao_ferias VALUES (35, 6, 14, 8.0, 4);
INSERT INTO pessoal.configuracao_ferias VALUES (36, 15, 23, 6.0, 4);
INSERT INTO pessoal.configuracao_ferias VALUES (37, 24, 32, 4.0, 4);
INSERT INTO pessoal.configuracao_ferias VALUES (38, 0, 5, 7.5, 3);
INSERT INTO pessoal.configuracao_ferias VALUES (39, 6, 14, 6.0, 3);
INSERT INTO pessoal.configuracao_ferias VALUES (40, 15, 23, 4.5, 3);
INSERT INTO pessoal.configuracao_ferias VALUES (41, 24, 32, 3.0, 3);
INSERT INTO pessoal.configuracao_ferias VALUES (42, 0, 5, 5.0, 2);
INSERT INTO pessoal.configuracao_ferias VALUES (43, 6, 14, 4.0, 2);
INSERT INTO pessoal.configuracao_ferias VALUES (44, 15, 23, 3.0, 2);
INSERT INTO pessoal.configuracao_ferias VALUES (45, 24, 32, 2.0, 2);
INSERT INTO pessoal.configuracao_ferias VALUES (46, 0, 5, 2.5, 1);
INSERT INTO pessoal.configuracao_ferias VALUES (47, 6, 14, 2.0, 1);
INSERT INTO pessoal.configuracao_ferias VALUES (48, 15, 23, 1.5, 1);
INSERT INTO pessoal.configuracao_ferias VALUES (49, 24, 32, 1.0, 1);
----------------
-- Ticket #14376
----------------
SELECT atualizarbanco('
CREATE TABLE ima.configuracao_convenio_bb (
cod_convenio INTEGER NOT NULL,
cod_convenio_banco VARCHAR(20) NOT NULL,
cod_banco INTEGER NOT NULL,
CONSTRAINT pk_configuracao_convenio_bb PRIMARY KEY (cod_convenio, cod_banco),
CONSTRAINT fk_configuracao_convenio_bb_1 FOREIGN KEY (cod_banco)
REFERENCES monetario.banco (cod_banco)
);
');
SELECT atualizarbanco('
GRANT ALL ON ima.configuracao_convenio_bb TO GROUP urbem;
');
SELECT atualizarbanco('
CREATE TABLE ima.configuracao_bb_conta (
cod_convenio INTEGER NOT NULL,
cod_banco INTEGER NOT NULL,
cod_agencia INTEGER NOT NULL,
cod_conta_corrente INTEGER NOT NULL,
descricao VARCHAR(60) NOT NULL,
CONSTRAINT pk_configuracao_bb_conta PRIMARY KEY (cod_convenio, cod_banco, cod_agencia, cod_conta_corrente),
CONSTRAINT fk_configuracao_bb_conta_1 FOREIGN KEY (cod_convenio, cod_banco)
REFERENCES ima.configuracao_convenio_bb (cod_convenio, cod_banco),
CONSTRAINT fk_configuracao_bb_conta_2 FOREIGN KEY (cod_banco, cod_agencia, cod_conta_corrente)
REFERENCES monetario.conta_corrente (cod_banco, cod_agencia, cod_conta_corrente)
);
');
SELECT atualizarbanco('
GRANT ALL ON ima.configuracao_bb_conta TO GROUP urbem;
');
SELECT atualizarbanco('
CREATE TABLE ima.configuracao_bb_orgao (
cod_convenio INTEGER NOT NULL,
cod_banco INTEGER NOT NULL,
cod_agencia INTEGER NOT NULL,
cod_conta_corrente INTEGER NOT NULL,
cod_orgao INTEGER NOT NULL,
CONSTRAINT pk_configuracao_bb_orgao PRIMARY KEY (cod_convenio, cod_banco, cod_agencia, cod_conta_corrente, cod_orgao),
CONSTRAINT fk_configuracao_bb_orgao_1 FOREIGN KEY (cod_convenio, cod_banco, cod_agencia, cod_conta_corrente)
REFERENCES ima.configuracao_bb_conta (cod_convenio, cod_banco, cod_agencia, cod_conta_corrente),
CONSTRAINT fk_configuracao_bb_orgao_2 FOREIGN KEY (cod_orgao)
REFERENCES organograma.orgao (cod_orgao)
);
');
SELECT atualizarbanco('
GRANT ALL ON ima.configuracao_bb_orgao TO GROUP urbem;
');
SELECT atualizarbanco('
CREATE TABLE ima.configuracao_bb_local (
cod_convenio INTEGER NOT NULL,
cod_banco INTEGER NOT NULL,
cod_agencia INTEGER NOT NULL,
cod_conta_corrente INTEGER NOT NULL,
cod_local INTEGER NOT NULL,
CONSTRAINT pk_configuracao_bb_local PRIMARY KEY (cod_convenio, cod_banco, cod_agencia, cod_conta_corrente, cod_local),
CONSTRAINT fk_configuracao_bb_local_1 FOREIGN KEY (cod_convenio, cod_banco, cod_agencia, cod_conta_corrente)
REFERENCES ima.configuracao_bb_conta (cod_convenio, cod_banco, cod_agencia, cod_conta_corrente),
CONSTRAINT fk_configuracao_bb_local_2 FOREIGN KEY (cod_local)
REFERENCES organograma.local (cod_local)
);
');
SELECT atualizarbanco('
GRANT ALL ON ima.configuracao_bb_local TO GROUP urbem;
');
create or replace function manutencao() returns void as $$
declare
stSql varchar;
stEntidade varchar:='';
reRegistro record;
reEntidades record;
inCodValor integer;
inCodEntidadePrincipal integer;
begin
stSql := 'SELECT valor
FROM administracao.configuracao
WHERE parametro = \'cod_entidade_prefeitura\'
AND exercicio = \'2009\'';
inCodEntidadePrincipal := selectIntoInteger(stSql);
stSql := 'SELECT entidade.cod_entidade
FROM orcamento.entidade
WHERE exercicio = \'2009\'
AND cod_entidade IN (SELECT cod_entidade
FROM administracao.entidade_rh
WHERE exercicio = \'2009\'
GROUP BY cod_entidade)';
for reEntidades in execute stSql loop
if reEntidades.cod_entidade != inCodEntidadePrincipal then
stEntidade := '_'||reEntidades.cod_entidade;
else
stEntidade := '';
end if;
stSql := 'SELECT *
FROM ima'||stEntidade||'.configuracao_convenio';
for reRegistro in execute stSql loop
stSql := 'INSERT INTO ima.configuracao_convenio_bb
SELECT '||reRegistro.cod_convenio||' as cod_convenio
, '||reRegistro.cod_convenio_banco||' as cod_convenio_banco
, '||reRegistro.cod_banco||' as cod_banco';
execute stSql;
stSql := 'INSERT INTO ima.configuracao_bb_conta
SELECT '||reRegistro.cod_convenio||' as cod_convenio
, '||reRegistro.cod_banco||' as cod_banco
, '||reRegistro.cod_agencia||' as cod_agencia
, '||reRegistro.cod_conta_corrente||' as cod_conta_corrente
, \'Migração Automática GRH 1.96.0\' as descricao';
execute stSql;
stSql := ' INSERT INTO ima.configuracao_bb_orgao
SELECT '||reRegistro.cod_convenio||' as cod_convenio
, '||reRegistro.cod_banco||' as cod_banco
, '||reRegistro.cod_agencia||' as cod_agencia
, '||reRegistro.cod_conta_corrente||' as cod_conta_corrente
, orgao.cod_orgao
FROM organograma.orgao
, organograma.organograma
, organograma.orgao_nivel
, organograma.nivel
, organograma.vw_orgao_nivel as ovw
, (SELECT MAX(cod_organograma) as cod_organograma
, MAX(implantacao) AS data
FROM organograma.organograma oo
WHERE implantacao <= to_char(now(), \'yyyy-mm-dd\')) as ultima_data
WHERE organograma.cod_organograma = nivel.cod_organograma
AND nivel.cod_organograma = orgao_nivel.cod_organograma
AND nivel.cod_nivel = orgao_nivel.cod_nivel
AND orgao_nivel.cod_orgao = orgao.cod_orgao
AND orgao.cod_orgao = ovw.cod_orgao
AND orgao_nivel.cod_organograma = ovw.cod_organograma
AND orgao_nivel.cod_organograma = ultima_data.cod_organograma
AND nivel.cod_nivel = ovw.nivel
AND organograma.ativo = true
GROUP BY orgao.cod_orgao';
execute stSql;
end loop;
end loop;
end
$$ language 'plpgsql';
SELECT manutencao();
DROP FUNCTION manutencao();
SELECT atualizarbanco('DROP TABLE ima.configuracao_convenio;');
----------------
--
----------------
CREATE TYPE colunasDirfPrestadoresServicoReduzida AS (
uso_declarante INTEGER,
sequencia INTEGER,
nome_beneficiario VARCHAR(200),
beneficiario VARCHAR(14),
ident_especializacao VARCHAR(1),
codigo_retencao VARCHAR(4),
ident_especie_beneficiario INTEGER,
jan VARCHAR(45),
fev VARCHAR(45),
mar VARCHAR(45),
abr VARCHAR(45),
mai VARCHAR(45),
jun VARCHAR(45),
jul VARCHAR(45),
ago VARCHAR(45),
set VARCHAR(45),
out VARCHAR(45),
nov VARCHAR(45),
dez VARCHAR(45),
dec VARCHAR(45)
);
CREATE TYPE colunasDirfPrestadoresServico AS (
nome_beneficiario VARCHAR(200),
beneficiario VARCHAR(14),
cod_retencao INTEGER,
ident_especie_beneficiario INTEGER,
uso_declarante INTEGER,
jan1 NUMERIC,
jan2 NUMERIC,
jan3 NUMERIC,
fev1 NUMERIC,
fev2 NUMERIC,
fev3 NUMERIC,
mar1 NUMERIC,
mar2 NUMERIC,
mar3 NUMERIC,
abr1 NUMERIC,
abr2 NUMERIC,
abr3 NUMERIC,
mai1 NUMERIC,
mai2 NUMERIC,
mai3 NUMERIC,
jun1 NUMERIC,
jun2 NUMERIC,
jun3 NUMERIC,
jul1 NUMERIC,
jul2 NUMERIC,
jul3 NUMERIC,
ago1 NUMERIC,
ago2 NUMERIC,
ago3 NUMERIC,
set1 NUMERIC,
set2 NUMERIC,
set3 NUMERIC,
out1 NUMERIC,
out2 NUMERIC,
out3 NUMERIC,
nov1 NUMERIC,
nov2 NUMERIC,
nov3 NUMERIC,
dez1 NUMERIC,
dez2 NUMERIC,
dez3 NUMERIC,
dec1 NUMERIC,
dec2 NUMERIC,
dec3 NUMERIC
);
CREATE TYPE colunasDirfPrestadoresServicoValorEmpenhoExercicio AS (
numcgm INTEGER
, vl_empenho NUMERIC
);