Projeto

Geral

Perfil

Configuração de Parâmetros #3787 » ScriptAtualizacaoAcademico4-5-5 - Copia.sql

Luciano Parintins Viana, 06/04/2022 09:12 h

 
1
-- ##################################	 V4_00_09_0000
2
BEGIN;
3

    
4
ALTER TABLE
5
    processo_seletivo.declaracao_inscricao_candidato
6
ADD
7
    id_registro_ultima_atualizacao int4 NULL;
8

    
9
ALTER TABLE
10
    processo_seletivo.declaracao_inscricao_candidato
11
ADD
12
    CONSTRAINT id_registro_ultima_atualizacao_fk FOREIGN KEY (id_registro_ultima_atualizacao) REFERENCES comum.registro_entrada(id_entrada);
13

    
14
COMMIT;
15

    
16
-- ##################################	 V4_00_11_0000
17
--Insero da coluna de hora inicio para matrculas de graduao
18
ALTER TABLE
19
    comum.calendario_academico
20
ADD
21
    if not exists hora_inicio_matricula_online time NULL;
22

    
23
ALTER TABLE
24
    comum.calendario_academico
25
ADD
26
    if not exists hora_inicio_matricula_aluno_especial time NULL;
27

    
28
ALTER TABLE
29
    comum.calendario_academico
30
ADD
31
    if not exists hora_inicio_rematricula time NULL;
32

    
33
ALTER TABLE
34
    comum.calendario_academico
35
ADD
36
    if not exists hora_inicio_matricula_extraordinaria time NULL;
37

    
38
ALTER TABLE
39
    comum.calendario_academico
40
ADD
41
    if not exists hora_inicio_matricula_turma_ferias time NULL;
42

    
43
ALTER TABLE
44
    comum.calendario_academico
45
ADD
46
    if not exists hora_inicio_matricula_extraordinaria_ferias time NULL;
47

    
48
-- ##################################	 V4_00_13_0000
49
alter table
50
    comum.calendario_academico
51
add
52
    column if not exists inicio_submissao_planos_docencia_assistida date;
53

    
54
alter table
55
    comum.calendario_academico
56
add
57
    column if not exists fim_submissao_planos_docencia_assistida date;
58

    
59
alter table
60
    comum.calendario_academico
61
add
62
    column if not exists inicio_submissao_relatorio_final_planos_docencia_assistida date;
63

    
64
alter table
65
    comum.calendario_academico
66
add
67
    column if not exists fim_submissao_relatorio_final_planos_docencia_assistida date;
68

    
69
-- ##################################	 V4_00_15_0000
70
CREATE TABLE IF NOT EXISTS comum.periodo_confirmacao_vinculo (
71
    id_periodo_confirmacao_vinculo integer NOT NULL,
72
    id_calendario integer NOT NULL,
73
    inicio timestamp without time zone NOT NULL,
74
    fim timestamp without time zone NOT NULL,
75
    CONSTRAINT periodo_confirmacao_vinculo_pkey PRIMARY KEY (id_periodo_confirmacao_vinculo),
76
    CONSTRAINT calendario_data_confirmacao_id_calendario FOREIGN KEY (id_calendario) REFERENCES comum.calendario_academico (id_calendario) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION
77
);
78

    
79
ALTER TABLE
80
    comum.periodo_confirmacao_vinculo OWNER to sigaa_group;
81

    
82
GRANT
83
SELECT
84
    ON TABLE comum.periodo_confirmacao_vinculo TO readonly_group;
85

    
86
GRANT ALL ON TABLE comum.periodo_confirmacao_vinculo TO sigaa_group;
87

    
88
CREATE SEQUENCE IF NOT EXISTS comum.periodo_confirmacao_vinculo_seq;
89

    
90
ALTER SEQUENCE comum.periodo_confirmacao_vinculo_seq OWNER TO sigaa_group;
91

    
92
GRANT
93
SELECT
94
    ON SEQUENCE comum.periodo_confirmacao_vinculo_seq TO readonly_group;
95

    
96
-- ##################################	 V4_00_18_0000
97
-- Seguindo a estrat?gia do script V4_00_00_0001__tarefa_337729.sql, incluindo a normaliza??o da matriz_carga_horaria_componente_curricular
98
-- disciplinas e modulos
99
begin;
100

    
101
DO $$ 
102
DECLARE linhaMatriz record;
103

    
104
linhaComponenteCurricular record;
105

    
106
ch_migrada_teorica integer;
107

    
108
ch_migrada_pratica integer;
109

    
110
ch_migrada_total_aula_modalidade integer;
111

    
112
--total de aula por modalidade
113
ch_migrada_total_aula integer;
114

    
115
ch_migrada_total_componente integer;
116

    
117
BEGIN FOR linhaMatriz IN
118
SELECT
119
    matriz.id_matriz_carga_horaria_componente_curricular,
120
    conftc.id_modalidade_educacao,
121
    confch.id_modalidade_carga_horaria,
122
    conftc.id_tipo_componente_curricular,
123
    confch.nivel,
124
    confch.id_tipo_carga_horaria_aula,
125
    confch.totalizador,
126
    confch.id_tipo_carga_horaria
127
FROM
128
    ensino.matriz_carga_horaria_componente_curricular matriz
129
    JOIN ensino.configuracao_carga_horaria confch USING(id_configuracao_carga_horaria)
130
    JOIN ensino.configuracao_tipo_componente_curricular conftc USING(id_configuracao_tipo_componente_curricular)
131
WHERE
132
    1 = 1
133
    and (
134
        (
135
            confch.id_tipo_carga_horaria = 3 -- Totalizador do Componente
136
            and confch.totalizador = true
137
            AND confch.id_tipo_carga_horaria_aula is NULL
138
            AND confch.id_origem_carga_horaria is NULL
139
        )
140
        or (
141
            confch.id_tipo_carga_horaria = 1 --aula
142
            -- modalidade_ch E modalidade_educacao presencial ou modalidade_ch E modalidade_educao EAD
143
            AND (
144
                (
145
                    confch.id_modalidade_carga_horaria = 1
146
                    and conftc.id_modalidade_educacao = 1
147
                )
148
                or (
149
                    confch.id_modalidade_carga_horaria = 2
150
                    and conftc.id_modalidade_educacao = 2
151
                )
152
                or (confch.id_modalidade_carga_horaria is null) -- necessrio para o totalizador geral
153
            ) -- diferencia um totalizador de uma carga horria
154
            AND (
155
                (
156
                    confch.totalizador = false
157
                    AND confch.id_tipo_carga_horaria_aula in (1, 2) -- terico e prtico
158
                    AND confch.id_origem_carga_horaria = 1 -- generalista
159
                )
160
                or (
161
                    confch.totalizador = true --Totalizadores de aula
162
                    AND confch.id_tipo_carga_horaria_aula is NULL
163
                    AND confch.id_origem_carga_horaria is NULL
164
                )
165
            )
166
        )
167
    )
168
    and conftc.id_tipo_componente_curricular in (2, 3) -- Disciplinas e Mdulos
169
    loop RAISE NOTICE 'id_tipo_componente = %',
170
    linhaMatriz.id_tipo_componente_curricular;
171

    
172
RAISE NOTICE 'id_modalidade_educacao = %',
173
linhaMatriz.id_modalidade_educacao;
174

    
175
FOR linhaComponenteCurricular IN
176
SELECT
177
    cc.id_detalhe,
178
    detalhe.ch_ead,
179
    detalhe.ch_teorico,
180
    detalhe.ch_pratico,
181
    cc.codigo,
182
    tcc.descricao as tipo_componente,
183
    me.descricao as modalidade_educacao,
184
    ta.descricao as tipo_atividade,
185
    fp.descricao as forma_participacao
186
FROM
187
    ensino.componente_curricular cc
188
    JOIN ensino.componente_curricular_detalhes detalhe ON detalhe.id_componente_detalhes = cc.id_detalhe
189
    join ensino.tipo_componente_curricular tcc on tcc.id_tipo_disciplina = cc.id_tipo_componente
190
    join comum.modalidade_educacao me on me.id_modalidade_educacao = cc.id_modalidade_educacao
191
    left join ensino.tipo_atividade ta on ta.id_tipo_atividade = cc.id_tipo_atividade
192
    left join ensino.forma_participacao_atividade fp on fp.id_forma_participacao = cc.id_forma_participacao
193
WHERE
194
    1 = 1
195
    and cc.id_tipo_componente = linhaMatriz.id_tipo_componente_curricular
196
    and cc.id_modalidade_educacao = linhaMatriz.id_modalidade_educacao
197
    and cc.nivel = linhaMatriz.nivel
198
    and not exists (
199
        select
200
            1
201
        from
202
            ensino.carga_horaria_componente_curricular chcc
203
        where
204
            id_componente_curricular_detalhes = detalhe.id_componente_detalhes
205
    ) loop RAISE NOTICE 'id_componente_detalhe = % (%)',
206
    linhaComponenteCurricular.id_detalhe,
207
    linhaComponenteCurricular.codigo;
208

    
209
ch_migrada_teorica := linhaComponenteCurricular.ch_teorico + linhaComponenteCurricular.ch_ead;
210

    
211
ch_migrada_pratica := linhaComponenteCurricular.ch_pratico;
212

    
213
ch_migrada_total_aula_modalidade := ch_migrada_teorica + ch_migrada_pratica;
214

    
215
ch_migrada_total_aula := ch_migrada_total_aula_modalidade;
216

    
217
ch_migrada_total_componente := ch_migrada_teorica + ch_migrada_pratica;
218

    
219
if(linhaMatriz.id_tipo_carga_horaria_aula = 1) then --ch_migrada_teorica
220
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TEORICA [ % ]',
221
linhaComponenteCurricular.id_detalhe,
222
linhaComponenteCurricular.tipo_componente,
223
linhaComponenteCurricular.modalidade_educacao,
224
linhaComponenteCurricular.tipo_atividade,
225
linhaComponenteCurricular.forma_participacao,
226
ch_migrada_teorica;
227

    
228
insert into
229
    ensino.carga_horaria_componente_curricular
230
values
231
    (
232
        (
233
            select
234
                nextval('ensino.carga_horaria_componente_curricular_seq')
235
        ),
236
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
237
        linhaComponenteCurricular.id_detalhe,
238
        ch_migrada_teorica,
239
        true,
240
        1,
241
        CURRENT_DATE,
242
        true
243
    );
244

    
245
end if;
246

    
247
if(linhaMatriz.id_tipo_carga_horaria_aula = 2) then --ch_migrada_pratica
248
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH PRATICA [ % ]',
249
linhaComponenteCurricular.id_detalhe,
250
linhaComponenteCurricular.tipo_componente,
251
linhaComponenteCurricular.modalidade_educacao,
252
linhaComponenteCurricular.tipo_atividade,
253
linhaComponenteCurricular.forma_participacao,
254
ch_migrada_pratica;
255

    
256
insert into
257
    ensino.carga_horaria_componente_curricular
258
values
259
    (
260
        (
261
            select
262
                nextval('ensino.carga_horaria_componente_curricular_seq')
263
        ),
264
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
265
        linhaComponenteCurricular.id_detalhe,
266
        ch_migrada_pratica,
267
        true,
268
        1,
269
        CURRENT_DATE,
270
        true
271
    );
272

    
273
end if;
274

    
275
if(linhaMatriz.totalizador = true) then if(linhaMatriz.id_tipo_carga_horaria = 1) then if(linhaMatriz.id_modalidade_carga_horaria is null) then --ch_migrada_total_aula
276
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL AULA [ % ]',
277
linhaComponenteCurricular.id_detalhe,
278
linhaComponenteCurricular.tipo_componente,
279
linhaComponenteCurricular.modalidade_educacao,
280
linhaComponenteCurricular.tipo_atividade,
281
linhaComponenteCurricular.forma_participacao,
282
ch_migrada_total_aula;
283

    
284
insert into
285
    ensino.carga_horaria_componente_curricular
286
values
287
    (
288
        (
289
            select
290
                nextval('ensino.carga_horaria_componente_curricular_seq')
291
        ),
292
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
293
        linhaComponenteCurricular.id_detalhe,
294
        ch_migrada_total_aula,
295
        true,
296
        1,
297
        CURRENT_DATE,
298
        true
299
    );
300

    
301
else --ch_migrada_total_aula_modalidade
302
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL AULA MODALIDADE [ % ]',
303
linhaComponenteCurricular.id_detalhe,
304
linhaComponenteCurricular.tipo_componente,
305
linhaComponenteCurricular.modalidade_educacao,
306
linhaComponenteCurricular.tipo_atividade,
307
linhaComponenteCurricular.forma_participacao,
308
ch_migrada_total_aula_modalidade;
309

    
310
insert into
311
    ensino.carga_horaria_componente_curricular
312
values
313
    (
314
        (
315
            select
316
                nextval('ensino.carga_horaria_componente_curricular_seq')
317
        ),
318
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
319
        linhaComponenteCurricular.id_detalhe,
320
        ch_migrada_total_aula_modalidade,
321
        true,
322
        1,
323
        CURRENT_DATE,
324
        true
325
    );
326

    
327
end if;
328

    
329
else --ch_migrada_total_componente
330
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL COMPONENTE [ % ]',
331
linhaComponenteCurricular.id_detalhe,
332
linhaComponenteCurricular.tipo_componente,
333
linhaComponenteCurricular.modalidade_educacao,
334
linhaComponenteCurricular.tipo_atividade,
335
linhaComponenteCurricular.forma_participacao,
336
ch_migrada_total_componente;
337

    
338
insert into
339
    ensino.carga_horaria_componente_curricular
340
values
341
    (
342
        (
343
            select
344
                nextval('ensino.carga_horaria_componente_curricular_seq')
345
        ),
346
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
347
        linhaComponenteCurricular.id_detalhe,
348
        ch_migrada_total_componente,
349
        true,
350
        1,
351
        CURRENT_DATE,
352
        true
353
    );
354

    
355
end if;
356

    
357
end if;
358

    
359
end loop;
360

    
361
end loop;
362

    
363
END $$;
364

    
365
commit;
366

    
367
-- Seguindo a estrat?gia do script V4_00_00_0002__tarefa_337729.sql, incluindo a normaliza??o da matriz_carga_horaria_componente_curricular
368
-- atividades coletivas, est?gio e internato
369
begin;
370

    
371
DO $$ 
372
DECLARE linhaMatriz record;
373

    
374
linhaComponenteCurricular record;
375

    
376
ch_migrada_teorica integer;
377

    
378
ch_migrada_pratica integer;
379

    
380
ch_migrada_total_aula_modalidade integer;
381

    
382
--total de aula por modalidade
383
ch_migrada_total_aula integer;
384

    
385
ch_migrada_orientacao integer;
386

    
387
ch_migrada_total_orientacao_modalidade integer;
388

    
389
--total de orienta??o por modalidade
390
ch_migrada_total_orientacao integer;
391

    
392
ch_migrada_total_componente integer;
393

    
394
BEGIN FOR linhaMatriz IN
395
SELECT
396
    matriz.id_matriz_carga_horaria_componente_curricular,
397
    conftc.id_modalidade_educacao,
398
    confch.id_modalidade_carga_horaria,
399
    conftc.id_tipo_componente_curricular,
400
    confch.nivel,
401
    confch.id_tipo_carga_horaria_aula,
402
    confch.totalizador,
403
    confch.id_tipo_carga_horaria,
404
    conftc.id_tipo_atividade,
405
    conftc.id_forma_participacao
406
FROM
407
    ensino.matriz_carga_horaria_componente_curricular matriz
408
    JOIN ensino.configuracao_carga_horaria confch USING(id_configuracao_carga_horaria)
409
    JOIN ensino.configuracao_tipo_componente_curricular conftc USING(id_configuracao_tipo_componente_curricular)
410
WHERE
411
    1 = 1
412
    and (
413
        (
414
            confch.id_tipo_carga_horaria = 3 -- Totalizador do Componente
415
            and confch.totalizador = true
416
            AND confch.id_tipo_carga_horaria_aula is NULL
417
            AND confch.id_origem_carga_horaria is NULL
418
        )
419
        or (
420
            confch.id_tipo_carga_horaria = 1 --aula
421
            -- modalidade_ch E modalidade_educacao presencial ou modalidade_ch E modalidade_educa??o EAD
422
            AND (
423
                (
424
                    confch.id_modalidade_carga_horaria = 1
425
                    and conftc.id_modalidade_educacao = 1
426
                )
427
                or (
428
                    confch.id_modalidade_carga_horaria = 2
429
                    and conftc.id_modalidade_educacao = 2
430
                )
431
                or (confch.id_modalidade_carga_horaria is null) -- necess?rio para o totalizador geral
432
            ) -- diferencia um totalizador de uma carga Hor?ria
433
            AND (
434
                (
435
                    confch.totalizador = false
436
                    AND confch.id_tipo_carga_horaria_aula in (1, 2) -- te?rico e pr?tico
437
                    AND confch.id_origem_carga_horaria = 1 -- generalista
438
                )
439
                or (
440
                    confch.totalizador = true --Totalizadores de aula
441
                    AND confch.id_tipo_carga_horaria_aula is NULL
442
                    AND confch.id_origem_carga_horaria is NULL
443
                )
444
            )
445
        )
446
        or (
447
            confch.id_tipo_carga_horaria = 2 --orienta??o
448
            -- modalidade_ch E modalidade_educacao presencial ou modalidade_ch E modalidade_educa??o EAD
449
            AND (
450
                (
451
                    confch.id_modalidade_carga_horaria = 1
452
                    and conftc.id_modalidade_educacao = 1
453
                )
454
                or (
455
                    confch.id_modalidade_carga_horaria = 2
456
                    and conftc.id_modalidade_educacao = 2
457
                )
458
                or (confch.id_modalidade_carga_horaria is null) -- necess?rio para o totalizador geral
459
            ) -- diferencia um totalizador de uma carga Hor?ria
460
            AND (
461
                (
462
                    confch.totalizador = false
463
                    AND confch.id_tipo_carga_horaria_aula is NULL
464
                    AND confch.id_origem_carga_horaria = 1 -- generalista
465
                )
466
                or (
467
                    confch.totalizador = true --Totalizadores de orientacao
468
                    AND confch.id_tipo_carga_horaria_aula is NULL
469
                    AND confch.id_origem_carga_horaria is NULL
470
                )
471
            )
472
        )
473
    )
474
    and conftc.id_tipo_componente_curricular = 1 -- atividade
475
    and (
476
        (conftc.id_tipo_atividade = 1)
477
        or (conftc.id_forma_participacao in (3, 4))
478
    ) -- estagio, coletiva ou internato
479
    loop RAISE NOTICE 'id_tipo_componente = %',
480
    linhaMatriz.id_tipo_componente_curricular;
481

    
482
RAISE NOTICE 'id_modalidade_educacao = %',
483
linhaMatriz.id_modalidade_educacao;
484

    
485
FOR linhaComponenteCurricular IN
486
SELECT
487
    cc.id_detalhe,
488
    detalhe.ch_nao_aula,
489
    detalhe.ch_teorico,
490
    detalhe.ch_pratico,
491
    cc.codigo,
492
    tcc.descricao as tipo_componente,
493
    me.descricao as modalidade_educacao,
494
    ta.descricao as tipo_atividade,
495
    fp.descricao as forma_participacao
496
FROM
497
    ensino.componente_curricular cc
498
    JOIN ensino.componente_curricular_detalhes detalhe ON detalhe.id_componente_detalhes = cc.id_detalhe
499
    join ensino.tipo_componente_curricular tcc on tcc.id_tipo_disciplina = cc.id_tipo_componente
500
    join comum.modalidade_educacao me on me.id_modalidade_educacao = cc.id_modalidade_educacao
501
    left join ensino.tipo_atividade ta on ta.id_tipo_atividade = cc.id_tipo_atividade
502
    left join ensino.forma_participacao_atividade fp on fp.id_forma_participacao = cc.id_forma_participacao
503
WHERE
504
    1 = 1
505
    and cc.id_tipo_componente = linhaMatriz.id_tipo_componente_curricular
506
    and cc.id_modalidade_educacao = linhaMatriz.id_modalidade_educacao
507
    and (
508
        (
509
            cc.id_tipo_atividade = linhaMatriz.id_tipo_atividade
510
        )
511
        or (
512
            cc.id_forma_participacao = linhaMatriz.id_forma_participacao
513
        )
514
    )
515
    and cc.nivel = linhaMatriz.nivel
516
    and not exists (
517
        select
518
            1
519
        from
520
            ensino.carga_horaria_componente_curricular chcc
521
        where
522
            id_componente_curricular_detalhes = detalhe.id_componente_detalhes
523
    ) loop RAISE NOTICE 'id_componente_detalhe = % (%)',
524
    linhaComponenteCurricular.id_detalhe,
525
    linhaComponenteCurricular.codigo;
526

    
527
ch_migrada_teorica := linhaComponenteCurricular.ch_teorico;
528

    
529
ch_migrada_pratica := linhaComponenteCurricular.ch_pratico;
530

    
531
ch_migrada_total_aula_modalidade := ch_migrada_teorica + ch_migrada_pratica;
532

    
533
ch_migrada_total_aula := ch_migrada_total_aula_modalidade;
534

    
535
--
536
ch_migrada_orientacao := linhaComponenteCurricular.ch_nao_aula;
537

    
538
ch_migrada_total_orientacao_modalidade := ch_migrada_orientacao;
539

    
540
ch_migrada_total_orientacao := ch_migrada_total_orientacao_modalidade;
541

    
542
ch_migrada_total_componente := ch_migrada_teorica + ch_migrada_pratica + ch_migrada_orientacao;
543

    
544
if(linhaMatriz.totalizador = true) then if(linhaMatriz.id_tipo_carga_horaria = 1) then -- aula
545
if(linhaMatriz.id_modalidade_carga_horaria is null) then --ch_migrada_total_aula
546
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL AULA [ % ]',
547
linhaComponenteCurricular.id_detalhe,
548
linhaComponenteCurricular.tipo_componente,
549
linhaComponenteCurricular.modalidade_educacao,
550
linhaComponenteCurricular.tipo_atividade,
551
linhaComponenteCurricular.forma_participacao,
552
ch_migrada_total_aula;
553

    
554
insert into
555
    ensino.carga_horaria_componente_curricular
556
values
557
    (
558
        (
559
            select
560
                nextval('ensino.carga_horaria_componente_curricular_seq')
561
        ),
562
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
563
        linhaComponenteCurricular.id_detalhe,
564
        ch_migrada_total_aula,
565
        true,
566
        1,
567
        CURRENT_DATE,
568
        true
569
    );
570

    
571
else --ch_migrada_total_aula_modalidade
572
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL AULA MODALIDADE [ % ]',
573
linhaComponenteCurricular.id_detalhe,
574
linhaComponenteCurricular.tipo_componente,
575
linhaComponenteCurricular.modalidade_educacao,
576
linhaComponenteCurricular.tipo_atividade,
577
linhaComponenteCurricular.forma_participacao,
578
ch_migrada_total_aula_modalidade;
579

    
580
insert into
581
    ensino.carga_horaria_componente_curricular
582
values
583
    (
584
        (
585
            select
586
                nextval('ensino.carga_horaria_componente_curricular_seq')
587
        ),
588
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
589
        linhaComponenteCurricular.id_detalhe,
590
        ch_migrada_total_aula_modalidade,
591
        true,
592
        1,
593
        CURRENT_DATE,
594
        true
595
    );
596

    
597
end if;
598

    
599
else if(linhaMatriz.id_tipo_carga_horaria = 2) then --orienta??o
600
if(linhaMatriz.id_modalidade_carga_horaria is null) then --ch_migrada_total_orientacao
601
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL ORIENTACAO [ % ]',
602
linhaComponenteCurricular.id_detalhe,
603
linhaComponenteCurricular.tipo_componente,
604
linhaComponenteCurricular.modalidade_educacao,
605
linhaComponenteCurricular.tipo_atividade,
606
linhaComponenteCurricular.forma_participacao,
607
ch_migrada_total_orientacao;
608

    
609
insert into
610
    ensino.carga_horaria_componente_curricular
611
values
612
    (
613
        (
614
            select
615
                nextval('ensino.carga_horaria_componente_curricular_seq')
616
        ),
617
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
618
        linhaComponenteCurricular.id_detalhe,
619
        ch_migrada_total_orientacao,
620
        true,
621
        1,
622
        CURRENT_DATE,
623
        true
624
    );
625

    
626
else --ch_migrada_total_orientacao_modalidade
627
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL ORIENTACAO MODALIDADE [ % ]',
628
linhaComponenteCurricular.id_detalhe,
629
linhaComponenteCurricular.tipo_componente,
630
linhaComponenteCurricular.modalidade_educacao,
631
linhaComponenteCurricular.tipo_atividade,
632
linhaComponenteCurricular.forma_participacao,
633
ch_migrada_total_orientacao_modalidade;
634

    
635
insert into
636
    ensino.carga_horaria_componente_curricular
637
values
638
    (
639
        (
640
            select
641
                nextval('ensino.carga_horaria_componente_curricular_seq')
642
        ),
643
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
644
        linhaComponenteCurricular.id_detalhe,
645
        ch_migrada_total_orientacao_modalidade,
646
        true,
647
        1,
648
        CURRENT_DATE,
649
        true
650
    );
651

    
652
end if;
653

    
654
end if;
655

    
656
end if;
657

    
658
if(linhaMatriz.id_tipo_carga_horaria = 3) then --ch_migrada_total_componente
659
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL COMPONENTE [ % ]',
660
linhaComponenteCurricular.id_detalhe,
661
linhaComponenteCurricular.tipo_componente,
662
linhaComponenteCurricular.modalidade_educacao,
663
linhaComponenteCurricular.tipo_atividade,
664
linhaComponenteCurricular.forma_participacao,
665
ch_migrada_total_componente;
666

    
667
insert into
668
    ensino.carga_horaria_componente_curricular
669
values
670
    (
671
        (
672
            select
673
                nextval('ensino.carga_horaria_componente_curricular_seq')
674
        ),
675
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
676
        linhaComponenteCurricular.id_detalhe,
677
        ch_migrada_total_componente,
678
        true,
679
        1,
680
        CURRENT_DATE,
681
        true
682
    );
683

    
684
end if;
685

    
686
else if(linhaMatriz.id_tipo_carga_horaria = 1) then -- aula
687
if(linhaMatriz.id_tipo_carga_horaria_aula = 1) then --ch_migrada_teorica
688
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TEORICA [ % ]',
689
linhaComponenteCurricular.id_detalhe,
690
linhaComponenteCurricular.tipo_componente,
691
linhaComponenteCurricular.modalidade_educacao,
692
linhaComponenteCurricular.tipo_atividade,
693
linhaComponenteCurricular.forma_participacao,
694
ch_migrada_teorica;
695

    
696
insert into
697
    ensino.carga_horaria_componente_curricular
698
values
699
    (
700
        (
701
            select
702
                nextval('ensino.carga_horaria_componente_curricular_seq')
703
        ),
704
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
705
        linhaComponenteCurricular.id_detalhe,
706
        ch_migrada_teorica,
707
        true,
708
        1,
709
        CURRENT_DATE,
710
        true
711
    );
712

    
713
end if;
714

    
715
if(linhaMatriz.id_tipo_carga_horaria_aula = 2) then --ch_migrada_pratica
716
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH PRATICA [ % ]',
717
linhaComponenteCurricular.id_detalhe,
718
linhaComponenteCurricular.tipo_componente,
719
linhaComponenteCurricular.modalidade_educacao,
720
linhaComponenteCurricular.tipo_atividade,
721
linhaComponenteCurricular.forma_participacao,
722
ch_migrada_pratica;
723

    
724
insert into
725
    ensino.carga_horaria_componente_curricular
726
values
727
    (
728
        (
729
            select
730
                nextval('ensino.carga_horaria_componente_curricular_seq')
731
        ),
732
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
733
        linhaComponenteCurricular.id_detalhe,
734
        ch_migrada_pratica,
735
        true,
736
        1,
737
        CURRENT_DATE,
738
        true
739
    );
740

    
741
end if;
742

    
743
else if(linhaMatriz.id_tipo_carga_horaria = 2) then -- ch_migrada_orientacao
744
RAISE NOTICE 'insert into ensino.carga_horaria_componente_curricular -> DETALHE [ % - % - % - % - % ]  CH TOTAL ORIENTACAO [ % ]',
745
linhaComponenteCurricular.id_detalhe,
746
linhaComponenteCurricular.tipo_componente,
747
linhaComponenteCurricular.modalidade_educacao,
748
linhaComponenteCurricular.tipo_atividade,
749
linhaComponenteCurricular.forma_participacao,
750
ch_migrada_orientacao;
751

    
752
insert into
753
    ensino.carga_horaria_componente_curricular
754
values
755
    (
756
        (
757
            select
758
                nextval('ensino.carga_horaria_componente_curricular_seq')
759
        ),
760
        linhaMatriz.id_matriz_carga_horaria_componente_curricular,
761
        linhaComponenteCurricular.id_detalhe,
762
        ch_migrada_orientacao,
763
        true,
764
        1,
765
        CURRENT_DATE,
766
        true
767
    );
768

    
769
end if;
770

    
771
end if;
772

    
773
end if;
774

    
775
end loop;
776

    
777
end loop;
778

    
779
END $$;
780

    
781
commit;
782

    
783
-- ##################################	 V4_00_21_0000
784
CREATE TABLE ensino.configuracao_taxa_matricula (
785
    id_configuracao_taxa_matricula int4 NOT NULL,
786
    -- chave prim?ria
787
    data_cadastro timestamp NULL,
788
    -- data de cadastro da configuracao
789
    data_atualizacao timestamp NULL,
790
    -- data de altera??o da configuracao
791
    taxa_matricula numeric NOT NULL DEFAULT 0,
792
    -- Valor da taxa de matr?cula a ser paga pelo candidato.
793
    data_vencimento_boleto date NULL,
794
    -- Data de vencimento da GRU para pagamento da taxa de matr?cula.
795
    id_configuracao_gru int4 NULL,
796
    -- configura??o de GRU a ser utilizada para recolhimento da taxa de matr?cula.
797
    instrucoes_especificas_gru varchar(240) NULL,
798
    -- Instru??es a serem inclu?das na GRU, at? 3 linhas.
799
    numero_parcelas int4 null,
800
    -- N?mero de parcelas em que a taxa de matr?cula ser? dividida.
801
    desconto_abatimento numeric NULL DEFAULT 0,
802
    -- Valor do abatimento quando inscri??o for paga de forma integral.
803
    nivel bpchar(1) NULL,
804
    -- Indica o nivel de ensino a qual se aplica a configura??o.
805
    id_unidade int4 NULL,
806
    -- referencia a unidade do curso
807
    CONSTRAINT configuracao_taxa_matricula_pkey PRIMARY KEY (id_configuracao_taxa_matricula),
808
    CONSTRAINT configuracao_taxa_id_unidade_fkey FOREIGN KEY (id_unidade) REFERENCES comum.unidade(id_unidade)
809
);
810

    
811
COMMENT ON TABLE ensino.configuracao_taxa_matricula IS 'Entidade respons?vel pela configura??o da Taxa cobrada no ato da M?tricula.';
812

    
813
-- Column comments
814
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.id_configuracao_taxa_matricula IS 'chave prim?ria';
815

    
816
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.data_cadastro IS 'data de cadastro da configura??o de taxa de matr?cula';
817

    
818
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.data_atualizacao IS 'data de alteracao da configura??o de taxa de matr?cula';
819

    
820
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.taxa_matricula IS 'Valor da taxa de matr?cula a ser paga pelo candidato.';
821

    
822
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.data_vencimento_boleto IS 'Data de vencimento da GRU para pagamento da taxa de matr?cula.';
823

    
824
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.id_configuracao_gru IS 'configura??o de GRU a ser utilizada para recolhimento da taxa de matr?cula.';
825

    
826
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.instrucoes_especificas_gru IS 'Instru??es a serem inclu?das na GRU, at? 3 linhas.';
827

    
828
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.numero_parcelas IS 'N?mero de parcelas em que a taxa de matr?cula ser? dividida.';
829

    
830
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.desconto_abatimento IS 'Valor do abatimento quando inscri??o for paga de forma integral.';
831

    
832
COMMENT ON COLUMN ensino.configuracao_taxa_matricula.nivel IS 'Indica o nivel de ensino a qual se aplica a configura??o.';
833

    
834
-- Permissions
835
ALTER TABLE
836
    ensino.configuracao_taxa_matricula OWNER TO sigaa_group;
837

    
838
GRANT ALL ON TABLE ensino.configuracao_taxa_matricula TO sigaa_group;
839

    
840
GRANT
841
SELECT
842
    ON TABLE ensino.configuracao_taxa_matricula TO readonly_group;
843

    
844
-- Criar sequ?ncia
845
CREATE SEQUENCE ensino.configuracao_taxa_matricula_seq INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1;
846

    
847
ALTER SEQUENCE ensino.configuracao_taxa_matricula_seq OWNER TO sigaa;
848

    
849
-- ##################################	 V4_00_21_0001
850
alter table
851
    extensao.atividade
852
add
853
    column programa_estruturante bool;
854

    
855
alter table
856
    extensao.atividade
857
add
858
    column desenvolvimento_regional bool;
859

    
860
alter table
861
    extensao.atividade
862
add
863
    column inovacao_social bool;
864

    
865
-- ##################################	 V4_01_00_0000
866
-- Inser??o das colunas referentes aos per?odos de envio das documenta??es por convoca??o,via SIGPS
867
ALTER TABLE
868
    vestibular.processo_seletivo
869
ADD
870
    if NOT EXISTS hora_inicio_cadastro_livre TIME NULL;
871

    
872
ALTER TABLE
873
    vestibular.convocacao_processo_seletivo
874
ADD
875
    if NOT EXISTS inicio_cadastro_documentacao DATE NULL;
876

    
877
ALTER TABLE
878
    vestibular.convocacao_processo_seletivo
879
ADD
880
    if NOT EXISTS hora_inicio_cadastro_documentacao TIME NULL;
881

    
882
ALTER TABLE
883
    vestibular.convocacao_processo_seletivo
884
ADD
885
    if NOT EXISTS fim_cadastro_documentacao DATE NULL;
886

    
887
ALTER TABLE
888
    vestibular.convocacao_processo_seletivo
889
ADD
890
    if NOT EXISTS inicio_retificacao_documentacao DATE NULL;
891

    
892
ALTER TABLE
893
    vestibular.convocacao_processo_seletivo
894
ADD
895
    if NOT EXISTS hora_inicio_retificacao_documentacao TIME NULL;
896

    
897
ALTER TABLE
898
    vestibular.convocacao_processo_seletivo
899
ADD
900
    if NOT EXISTS fim_retificacao_documentacao DATE NULL;
901

    
902
ALTER TABLE
903
    vestibular.convocacao_processo_seletivo
904
ADD
905
    if NOT EXISTS inicio_retificacao_documentacao_banca DATE NULL;
906

    
907
ALTER TABLE
908
    vestibular.convocacao_processo_seletivo
909
ADD
910
    if NOT EXISTS hora_inicio_retificacao_documentacao_banca TIME NULL;
911

    
912
ALTER TABLE
913
    vestibular.convocacao_processo_seletivo
914
ADD
915
    if NOT EXISTS fim_retificacao_documentacao_banca DATE NULL;
916

    
917
COMMENT ON COLUMN vestibular.processo_seletivo.hora_inicio_cadastro_livre IS 'Hor?rio de in?cio do per?odo livre de cadastro de documenta??o [SIGAA 4.1.0]';
918

    
919
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.inicio_cadastro_documentacao IS 'In?cio do per?odo de cadastro de documenta??o [SIGAA 4.1.0]';
920

    
921
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.hora_inicio_cadastro_documentacao IS 'Hor?rio de in?cio do per?odo de cadastro de documenta??o [SIGAA 4.1.0]';
922

    
923
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.fim_cadastro_documentacao IS 'Fim do per?odo de cadastro de documenta??o [SIGAA 4.1.0]';
924

    
925
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.inicio_retificacao_documentacao IS 'In?cio do per?odo de retifica??o de documenta??o [SIGAA 4.1.0]';
926

    
927
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.hora_inicio_retificacao_documentacao IS 'Hor?rio de in?cio do per?odo de retifica??o de documenta??o [SIGAA 4.1.0]';
928

    
929
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.fim_retificacao_documentacao IS 'Fim do per?odo de retifica??o de documenta??o [SIGAA 4.1.0]';
930

    
931
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.inicio_retificacao_documentacao_banca IS 'In?cio do per?odo de retifica??o de documenta??o referente ?s bancas [SIGAA 4.1.0]';
932

    
933
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.hora_inicio_retificacao_documentacao_banca IS 'Hor?rio de in?cio do per?odo de retifica??o de documenta??o referente ?s bancas [SIGAA 4.1.0]';
934

    
935
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.fim_retificacao_documentacao_banca IS 'Fim do per?odo de retifica??o de documenta??o referente ?s bancas [SIGAA 4.1.0]';
936

    
937
-- ##################################	 V4_01_00_0001
938
--drop table processo_seletivo.tipo_documento_processo_seletivo;
939
CREATE TABLE if not exists processo_seletivo.tipo_documento_processo_seletivo (
940
    id_tipo_documento_processo_seletivo int4 NOT NULL,
941
    descricao text NOT NULL,
942
    ativo bool NOT NULL DEFAULT true,
943
    id_registro_entrada int4,
944
    data_cadastro timestamp not NULL,
945
    id_registro_alteracao int4,
946
    data_alteracao timestamp,
947
    CONSTRAINT id_tipo_documento_processo_seletivo_pkey PRIMARY KEY (id_tipo_documento_processo_seletivo)
948
);
949

    
950
create sequence if not exists processo_seletivo.tipo_documento_processo_seletivo_seq;
951

    
952
comment on sequence processo_seletivo.tipo_documento_processo_seletivo_seq is 'sequencia exclusiva para tipo_documento_processo_seletivo [SIGAA 4.1.0]';
953

    
954
alter sequence if exists processo_seletivo.tipo_documento_processo_seletivo_seq owner to sigaa_group;
955

    
956
-- migra??o dos tipos de documentos existentes em diploma.tipo_documento_diploma
957
do $$ 
958
declare tipoDoc record;
959

    
960
begin for tipoDoc in
961
select
962
    id_tipo_documento_diploma,
963
    descricao,
964
    ativo
965
from
966
    diploma.tipo_documento_diploma tdd loop
967
insert into
968
    processo_seletivo.tipo_documento_processo_seletivo
969
values
970
    (
971
        tipoDoc.id_tipo_documento_diploma,
972
        tipoDoc.descricao,
973
        true,
974
        null,
975
        now(),
976
        null,
977
        null
978
    );
979

    
980
end loop;
981

    
982
end $$;
983

    
984
select
985
    setval(
986
        'processo_seletivo.tipo_documento_processo_seletivo_seq',
987
        (
988
            select
989
                (max(id_tipo_documento_processo_seletivo) + 1)
990
            from
991
                processo_seletivo.tipo_documento_processo_seletivo
992
        ),
993
        false
994
    );
995

    
996
--Altera??o do relacionamento do processo_seletivo.documento_conjunto_requerimentos_grupo com processo_seletivo.tipo_documento_processo_seletivo
997
alter table
998
    processo_seletivo.documento_conjunto_requerimentos_grupo rename column id_tipo_documento_diploma to id_tipo_documento;
999

    
1000
ALTER TABLE
1001
    processo_seletivo.documento_conjunto_requerimentos_grupo drop constraint if exists id_tipo_documento_diploma_fkey;
1002

    
1003
ALTER TABLE
1004
    processo_seletivo.documento_conjunto_requerimentos_grupo
1005
add
1006
    constraint id_tipo_documento_fkey FOREIGN KEY (id_tipo_documento) REFERENCES processo_seletivo.tipo_documento_processo_seletivo(id_tipo_documento_processo_seletivo);
1007

    
1008
--Altera??o do relacionamento do processo_seletivo.documento_inscricao_candidato com processo_seletivo.tipo_documento_processo_seletivo
1009
ALTER TABLE
1010
    processo_seletivo.documento_inscricao_candidato drop constraint if exists id_tipo_documento_fkey;
1011

    
1012
ALTER TABLE
1013
    processo_seletivo.documento_inscricao_candidato
1014
add
1015
    constraint id_tipo_documento_fkey FOREIGN KEY (id_tipo_documento) REFERENCES processo_seletivo.tipo_documento_processo_seletivo(id_tipo_documento_processo_seletivo);
1016

    
1017
-- ##################################	 V4_01_00_0002
1018
-- Mapeamento entre os tipos de documentos a serem analisados especificamente pelas bancas 
1019
CREATE TABLE IF NOT EXISTS processo_seletivo.tipo_documento_banca_processo_seletivo (
1020
    id_tipo_documento_processo_seletivo int4 NOT NULL,
1021
    id_banca_processo_seletivo int4 NOT NULL,
1022
    CONSTRAINT id_tipo_documento_banca_processo_seletivo_pkey PRIMARY KEY (
1023
        id_tipo_documento_processo_seletivo,
1024
        id_banca_processo_seletivo
1025
    ),
1026
    CONSTRAINT id_tipo_documento_processo_seletivo_fkey FOREIGN KEY (id_tipo_documento_processo_seletivo) REFERENCES processo_seletivo.tipo_documento_processo_seletivo (id_tipo_documento_processo_seletivo),
1027
    CONSTRAINT id_banca_processo_seletivo_fkey FOREIGN KEY (id_banca_processo_seletivo) REFERENCES processo_seletivo.banca_processo_seletivo (id_banca_processo_seletivo),
1028
    CONSTRAINT tipo_documento_banca_processo_seletivo_unique UNIQUE (
1029
        id_tipo_documento_processo_seletivo,
1030
        id_banca_processo_seletivo
1031
    )
1032
);
1033

    
1034
ALTER TABLE
1035
    processo_seletivo.tipo_documento_banca_processo_seletivo OWNER TO sigaa_group;
1036

    
1037
GRANT ALL ON TABLE processo_seletivo.tipo_documento_banca_processo_seletivo TO sigaa_group;
1038

    
1039
GRANT
1040
SELECT
1041
    ON TABLE processo_seletivo.tipo_documento_banca_processo_seletivo TO readonly_group;
1042

    
1043
COMMENT ON TABLE processo_seletivo.tipo_documento_banca_processo_seletivo IS 'Tabela associativa entre tipos de documentos e bancas de processos seletivos [SIGAA 4.1.0]';
1044

    
1045
-- Colunas referentes ? configura??o das bancas
1046
ALTER TABLE
1047
    processo_seletivo.banca_processo_seletivo
1048
ADD
1049
    if NOT EXISTS acessa_todos_documentos BOOLEAN DEFAULT TRUE;
1050

    
1051
ALTER TABLE
1052
    processo_seletivo.banca_processo_seletivo
1053
ADD
1054
    if NOT EXISTS permite_retificacao_parecer_desfavoravel BOOLEAN DEFAULT TRUE;
1055

    
1056
ALTER TABLE
1057
    processo_seletivo.banca_processo_seletivo
1058
ADD
1059
    if NOT EXISTS permite_retificacao_parecer_inconclusivo BOOLEAN DEFAULT TRUE;
1060

    
1061
COMMENT ON COLUMN processo_seletivo.banca_processo_seletivo.acessa_todos_documentos IS 'Define se a banca deve ter acesso a todos os documentos submetidos pelo discente [SIGAA 4.1.0]';
1062

    
1063
COMMENT ON COLUMN processo_seletivo.banca_processo_seletivo.permite_retificacao_parecer_desfavoravel IS 'Define se o status negativo DESFAVOR?VEL deve permitir a retifica??o dos documentos pelo discente [SIGAA 4.1.0]';
1064

    
1065
COMMENT ON COLUMN processo_seletivo.banca_processo_seletivo.permite_retificacao_parecer_inconclusivo IS 'Define se o status negativo INCONCLUSIVO deve permitir a retifica??o dos documentos pelo discente [SIGAA 4.1.0]';
1066

    
1067
-- ##################################	 V4_01_00_0003
1068
-- Colunas referentes ? configura??o das bancas
1069
ALTER TABLE
1070
    processo_seletivo.documento_conjunto_requerimentos_grupo
1071
ADD
1072
    if NOT EXISTS requer_espaco_extra BOOLEAN DEFAULT FALSE;
1073

    
1074
ALTER TABLE
1075
    processo_seletivo.documento_conjunto_requerimentos_grupo
1076
ADD
1077
    if NOT EXISTS video BOOLEAN DEFAULT FALSE;
1078

    
1079
ALTER TABLE
1080
    processo_seletivo.documento_conjunto_requerimentos_grupo
1081
ADD
1082
    if NOT EXISTS texto_ajuda TEXT DEFAULT NULL;
1083

    
1084
COMMENT ON COLUMN processo_seletivo.documento_conjunto_requerimentos_grupo.requer_espaco_extra IS 'Define se permitir? ao usu?rio nas funcionalidades de submiss?o de documentos (pelo discente no SIGPS e no m?dulo de processo seletivo) a inser??o de arquivos de at? o limite de tamanho em megabytes definido em par?metro [SIGAA 4.1.0]';
1085

    
1086
COMMENT ON COLUMN processo_seletivo.documento_conjunto_requerimentos_grupo.video IS 'Define se permitir? ao usu?rio nas funcionalidades de submiss?o de documentos (pelo discente no SIGPS e no m?dulo de processo seletivo) a inser??o de arquivos no formato de arquivos de v?deo [SIGAA 4.1.0]';
1087

    
1088
COMMENT ON COLUMN processo_seletivo.documento_conjunto_requerimentos_grupo.texto_ajuda IS 'Define o texto de ajuda a ser exibido no tipo de documento associado [SIGAA 4.1.0]';
1089

    
1090
-- ##################################	 V4_01_00_0004
1091
-- Colunas referentes ? configura??o das justificativas
1092
ALTER TABLE
1093
    processo_seletivo.justificativa_validacao_documento_candidato RENAME COLUMN descricao TO denominacao;
1094

    
1095
ALTER TABLE
1096
    processo_seletivo.justificativa_validacao_documento_candidato
1097
ADD
1098
    if NOT EXISTS ativo BOOLEAN DEFAULT TRUE;
1099

    
1100
ALTER TABLE
1101
    processo_seletivo.justificativa_validacao_documento_candidato
1102
ADD
1103
    if NOT EXISTS validacao_documentacao_geral BOOLEAN DEFAULT TRUE;
1104

    
1105
ALTER TABLE
1106
    processo_seletivo.justificativa_validacao_documento_candidato
1107
ADD
1108
    if NOT EXISTS validacao_documentacao_banca BOOLEAN DEFAULT TRUE;
1109

    
1110
ALTER TABLE
1111
    processo_seletivo.justificativa_validacao_documento_candidato
1112
ADD
1113
    if NOT EXISTS inserir_texto_justificativa BOOLEAN DEFAULT NULL;
1114

    
1115
COMMENT ON COLUMN processo_seletivo.justificativa_validacao_documento_candidato.ativo IS 'Status da justificativa ativo/inativo [SIGAA 4.1.0]';
1116

    
1117
COMMENT ON COLUMN processo_seletivo.justificativa_validacao_documento_candidato.validacao_documentacao_geral IS 'Define se a justificativa poder? ser usada para valida??o de documenta??o geral [SIGAA 4.1.0]';
1118

    
1119
COMMENT ON COLUMN processo_seletivo.justificativa_validacao_documento_candidato.validacao_documentacao_banca IS 'Define se a justificativa poder? ser usada para valida??o de documenta??o da banca [SIGAA 4.1.0]';
1120

    
1121
COMMENT ON COLUMN processo_seletivo.justificativa_validacao_documento_candidato.inserir_texto_justificativa IS 'Habilita um campo de texto para que o avaliador insira uma informa??o para o candidato [SIGAA 4.1.0]';
1122

    
1123
-- ##################################	 V4_01_00_0005
1124
ALTER TABLE
1125
    processo_seletivo.usuario_adm_processo_seletivo
1126
ADD
1127
    CONSTRAINT id_usuario_adm_processo_seletivo_pkey PRIMARY KEY (id_usuario_adm_processo_seletivo);
1128

    
1129
CREATE TABLE IF NOT EXISTS processo_seletivo.validade_usuario_adm_processo_seletivo (
1130
    id_validade_usuario_adm_processo_seletivo int4 NOT NULL CONSTRAINT historico_parecer_banca_pkey PRIMARY KEY,
1131
    data_validade DATE NOT NULL,
1132
    id_usuario_adm_processo_seletivo int NOT NULL CONSTRAINT id_usuario_adm_processo_seletivo_fkey REFERENCES processo_seletivo.usuario_adm_processo_seletivo(id_usuario_adm_processo_seletivo),
1133
    id_registro_entrada int4 NOT NULL CONSTRAINT id_registro_entrada_fkey REFERENCES comum.registro_entrada(id_entrada)
1134
);
1135

    
1136
ALTER TABLE
1137
    processo_seletivo.validade_usuario_adm_processo_seletivo OWNER TO sigaa_group;
1138

    
1139
GRANT ALL ON TABLE processo_seletivo.validade_usuario_adm_processo_seletivo TO sigaa_group;
1140

    
1141
GRANT
1142
SELECT
1143
    ON TABLE processo_seletivo.validade_usuario_adm_processo_seletivo TO readonly_group;
1144

    
1145
COMMENT ON TABLE processo_seletivo.validade_usuario_adm_processo_seletivo IS 'Representa o hist?rico de prazos de validade associados a um administrador de processo seletivo [SIGAA 4.1.0]';
1146

    
1147
CREATE SEQUENCE IF NOT EXISTS processo_seletivo.validade_usuario_adm_processo_seletivo_seq;
1148

    
1149
ALTER SEQUENCE processo_seletivo.validade_usuario_adm_processo_seletivo_seq OWNER TO sigaa_group;
1150

    
1151
ALTER TABLE
1152
    processo_seletivo.usuario_adm_processo_seletivo
1153
ADD
1154
    COLUMN IF NOT EXISTS id_validade_usuario_adm_processo_seletivo int4;
1155

    
1156
ALTER TABLE
1157
    processo_seletivo.usuario_adm_processo_seletivo DROP CONSTRAINT IF EXISTS id_validade_usuario_adm_processo_seletivo_fkey;
1158

    
1159
ALTER TABLE
1160
    processo_seletivo.usuario_adm_processo_seletivo
1161
ADD
1162
    CONSTRAINT id_validade_usuario_adm_processo_seletivo_fkey FOREIGN KEY (id_validade_usuario_adm_processo_seletivo) REFERENCES processo_seletivo.validade_usuario_adm_processo_seletivo(id_validade_usuario_adm_processo_seletivo);
1163

    
1164
BEGIN;
1165

    
1166
DO $$ DECLARE administradores record;
1167

    
1168
id_validade INT;
1169

    
1170
BEGIN FOR administradores IN
1171
SELECT
1172
    *
1173
FROM
1174
    processo_seletivo.usuario_adm_processo_seletivo
1175
ORDER BY
1176
    id_usuario_adm_processo_seletivo LOOP
1177
SELECT
1178
    nextval(
1179
        'processo_seletivo.validade_usuario_adm_processo_seletivo_seq'
1180
    ) INTO id_validade;
1181

    
1182
INSERT INTO
1183
    processo_seletivo.validade_usuario_adm_processo_seletivo (
1184
        id_validade_usuario_adm_processo_seletivo,
1185
        data_validade,
1186
        id_usuario_adm_processo_seletivo,
1187
        id_registro_entrada
1188
    )
1189
VALUES
1190
    (
1191
        id_validade,
1192
        now(),
1193
        administradores.id_usuario_adm_processo_seletivo,
1194
        1
1195
    );
1196

    
1197
UPDATE
1198
    processo_seletivo.usuario_adm_processo_seletivo
1199
SET
1200
    id_validade_usuario_adm_processo_seletivo = id_validade
1201
where
1202
    id_usuario_adm_processo_seletivo = administradores.id_usuario_adm_processo_seletivo;
1203

    
1204
END LOOP;
1205

    
1206
END $$;
1207

    
1208
COMMIT;
1209

    
1210
select
1211
    setval(
1212
        'processo_seletivo.usuario_adm_processo_seletivo_seq',
1213
        (
1214
            select
1215
                (max(id_usuario_adm_processo_seletivo) + 1)
1216
            from
1217
                processo_seletivo.usuario_adm_processo_seletivo
1218
        ),
1219
        false
1220
    );
1221

    
1222
-- ##################################	 V4_01_00_0006
1223
begin;
1224

    
1225
-- tabela processo_seletivo.status_analise_parecer
1226
CREATE TABLE IF NOT EXISTS processo_seletivo.status_analise_parecer(
1227
    id_status_analise_parecer int4 NOT NULL,
1228
    nome varchar,
1229
    CONSTRAINT status_analise_parecer_pkey PRIMARY KEY (id_status_analise_parecer)
1230
);
1231

    
1232
ALTER TABLE
1233
    processo_seletivo.status_analise_parecer OWNER TO sigaa_group;
1234

    
1235
GRANT ALL ON TABLE processo_seletivo.status_analise_parecer TO sigaa_group;
1236

    
1237
GRANT
1238
SELECT
1239
    ON TABLE processo_seletivo.status_analise_parecer TO readonly_group;
1240

    
1241
COMMENT ON TABLE processo_seletivo.status_analise_parecer IS 'representa o status de uma an?lise para um parecer dado por um membro de uma banca utilizada para avaliacao de discentes de um determinado processo seletivo [SIGAA 4.1.0]';
1242

    
1243
create sequence IF NOT EXISTS processo_seletivo.status_analise_parecer_seq;
1244

    
1245
comment on sequence processo_seletivo.status_analise_parecer_seq is 'sequencia exclusiva para o status de an?lise do parecer de banca de processos seletivos [SIGAA 4.1.0]';
1246

    
1247
alter sequence processo_seletivo.status_analise_parecer_seq owner to sigaa_group;
1248

    
1249
insert into
1250
    processo_seletivo.status_analise_parecer
1251
values
1252
    (
1253
        nextval('processo_seletivo.status_analise_parecer_seq'),
1254
        'INEXISTENTE'
1255
    );
1256

    
1257
insert into
1258
    processo_seletivo.status_analise_parecer
1259
values
1260
    (
1261
        nextval('processo_seletivo.status_analise_parecer_seq'),
1262
        'PENDENTE DE ASSINATURA'
1263
    );
1264

    
1265
insert into
1266
    processo_seletivo.status_analise_parecer
1267
values
1268
    (
1269
        nextval('processo_seletivo.status_analise_parecer_seq'),
1270
        'ASSINADO'
1271
    );
1272

    
1273
insert into
1274
    processo_seletivo.status_analise_parecer
1275
values
1276
    (
1277
        nextval('processo_seletivo.status_analise_parecer_seq'),
1278
        'CONTESTADO'
1279
    );
1280
    
1281
CREATE TABLE IF NOT EXISTS processo_seletivo.parecer_banca_processo_seletivo(
1282
    id_parecer_banca_processo_seletivo int4 NOT NULL,
1283
    id_registro_entrada int4 NOT NULL,
1284
	data_cadastro date NOT NULL,
1285
	ativo boolean NOT NULL,
1286
	id_membro_banca_processo_seletivo int4 NOT NULL,
1287
	id_convocacao_processo_seletivo_discente int4 NOT NULL,
1288
	id_status_parecer_processo_seletivo int4 NOT NULL,
1289
	parecer varchar,
1290
	id_registro_alteracao int4,
1291
	CONSTRAINT parecer_banca_processo_seletivo_pkey PRIMARY KEY (id_parecer_banca_processo_seletivo),
1292
	CONSTRAINT parecer_banca_processo_seletivo_id_membro_banca_fkey FOREIGN KEY (id_membro_banca_processo_seletivo) REFERENCES processo_seletivo.membro_banca_processo_seletivo(id_membro_banca_processo_seletivo),
1293
	CONSTRAINT parecer_banca_processo_seletivo_id_convocacao_discente_fkey FOREIGN KEY (id_convocacao_processo_seletivo_discente) REFERENCES vestibular.convocacao_processo_seletivo_discente(id_convocacao_processo_seletivo_discente),
1294
	CONSTRAINT parecer_banca_processo_seletivo_id_status_parecer_fkey FOREIGN KEY (id_parecer_banca_processo_seletivo) REFERENCES processo_seletivo.status_parecer_processo_seletivo(id_status_parecer_processo_seletivo)
1295
);
1296
ALTER TABLE processo_seletivo.parecer_banca_processo_seletivo OWNER TO sigaa_group;
1297
GRANT ALL ON TABLE processo_seletivo.parecer_banca_processo_seletivo TO sigaa_group;
1298
GRANT SELECT ON TABLE processo_seletivo.parecer_banca_processo_seletivo TO readonly_group;
1299
COMMENT ON TABLE processo_seletivo.parecer_banca_processo_seletivo  IS 'representa o parecer dado por um membro de uma banca utilizada para avaliacao de discentes de um determinado processo seletivo [SIGAA 3.48.0]';
1300
create sequence IF NOT EXISTS processo_seletivo.id_parecer_banca_processo_seletivo_seq;
1301
comment on sequence processo_seletivo.id_parecer_banca_processo_seletivo_seq is 'sequencia exclusiva para o parecer de banca de processos seletivos [SIGAA 3.48.0]';
1302
alter sequence processo_seletivo.id_parecer_banca_processo_seletivo_seq owner to sigaa_group;
1303

    
1304
-- tabela processo_seletivo.analise_parecer_membro_banca_processo_seletivo
1305
CREATE TABLE IF NOT EXISTS processo_seletivo.analise_parecer_membro_banca_processo_seletivo (
1306
    id_analise_parecer_membro_banca_processo_seletivo int4 NOT NULL,
1307
    id_membro_banca_processo_seletivo int4 NOT NULL,
1308
    justificativa varchar,
1309
    id_status_analise_parecer int4 NOT NULL,
1310
    id_parecer_banca_processo_seletivo int4 NOT NULL,
1311
    data_assinatura timestamp without time zone NULL,
1312
    CONSTRAINT analise_parecer_membro_pkey PRIMARY KEY (
1313
        id_analise_parecer_membro_banca_processo_seletivo
1314
    ),
1315
    CONSTRAINT analise_parecer_membro_id_membro_banca_fkey FOREIGN KEY (id_membro_banca_processo_seletivo) REFERENCES processo_seletivo.membro_banca_processo_seletivo(id_membro_banca_processo_seletivo),
1316
    CONSTRAINT analise_parecer_membro_id_status_analise_parecer_fkey FOREIGN KEY (id_status_analise_parecer) REFERENCES processo_seletivo.status_analise_parecer(id_status_analise_parecer),
1317
    CONSTRAINT analise_parecer_membro_id_parecer_banca_fkey FOREIGN KEY (id_parecer_banca_processo_seletivo) REFERENCES processo_seletivo.parecer_banca_processo_seletivo(id_parecer_banca_processo_seletivo)
1318
);
1319

    
1320
ALTER TABLE
1321
    processo_seletivo.analise_parecer_membro_banca_processo_seletivo OWNER TO sigaa_group;
1322

    
1323
GRANT ALL ON TABLE processo_seletivo.analise_parecer_membro_banca_processo_seletivo TO sigaa_group;
1324

    
1325
GRANT
1326
SELECT
1327
    ON TABLE processo_seletivo.analise_parecer_membro_banca_processo_seletivo TO readonly_group;
1328

    
1329
COMMENT ON TABLE processo_seletivo.analise_parecer_membro_banca_processo_seletivo IS 'Representa a an?lise de parecer a ser dado por cada membro da banca. [SIGAA 4.1.0]';
1330

    
1331
create sequence IF NOT EXISTS processo_seletivo.analise_parecer_membro_banca_processo_seletivo_seq;
1332

    
1333
comment on sequence processo_seletivo.analise_parecer_membro_banca_processo_seletivo_seq is 'sequencia exclusiva para a an?lise dos pareceres a serem emitidos pelos membros de uma banca. [SIGAA 4.1.0]';
1334

    
1335
alter sequence processo_seletivo.analise_parecer_membro_banca_processo_seletivo_seq owner to sigaa_group;
1336

    
1337
-- Altera??es na tabela processo_seletivo.parecer_banca_processo_seletivo
1338
alter table
1339
    processo_seletivo.parecer_banca_processo_seletivo
1340
add
1341
    column if not exists id_status_conjunto_documentacao_parecer int4 default null;
1342

    
1343
ALTER TABLE
1344
    processo_seletivo.parecer_banca_processo_seletivo
1345
add
1346
    constraint id_status_documentacao_fkey FOREIGN KEY (id_status_conjunto_documentacao_parecer) REFERENCES processo_seletivo.status_conjunto_documentacao_candidato(id_status_conjunto_documentacao_candidato);
1347

    
1348
alter table
1349
    processo_seletivo.parecer_banca_processo_seletivo
1350
add
1351
    column if not exists id_status_geral_analise_parecer int4 default null;
1352

    
1353
ALTER TABLE
1354
    processo_seletivo.parecer_banca_processo_seletivo
1355
add
1356
    constraint id_status_geral_analise_parecer_fkey FOREIGN KEY (id_status_geral_analise_parecer) REFERENCES processo_seletivo.status_analise_parecer(id_status_analise_parecer);
1357

    
1358
alter table
1359
    processo_seletivo.parecer_banca_processo_seletivo
1360
add
1361
    column if not exists id_justificativa_parecer_negativo int4 default null;
1362

    
1363
ALTER TABLE
1364
    processo_seletivo.parecer_banca_processo_seletivo
1365
add
1366
    constraint id_justificativa_parecer_negativo_fkey FOREIGN KEY (id_justificativa_parecer_negativo) REFERENCES processo_seletivo.justificativa_validacao_documento_candidato(id_justificativa_validacao_documento_candidato);
1367

    
1368
alter table
1369
    processo_seletivo.parecer_banca_processo_seletivo
1370
add
1371
    column if not exists id_arquivo_parecer int default null;
1372

    
1373
-- Removendo as constraints de NOT NULL das colunas "id_registro_entrada" e "id_status_parecer_processo_seletivo"
1374
ALTER TABLE
1375
    processo_seletivo.parecer_banca_processo_seletivo
1376
ALTER COLUMN
1377
    id_registro_entrada DROP NOT NULL;
1378

    
1379
ALTER TABLE
1380
    processo_seletivo.parecer_banca_processo_seletivo
1381
ALTER COLUMN
1382
    id_status_parecer_processo_seletivo DROP NOT NULL;
1383

    
1384
-- Renomeando a tabela processo_seletivo.parecer_banca_processo_seletivo para processo_seletivo.analise_geral_banca_processo_seletivo
1385
ALTER TABLE
1386
    processo_seletivo.parecer_banca_processo_seletivo RENAME TO analise_banca_processo_seletivo;
1387

    
1388
-------- TABELA processo_seletivo.historico_parecer_banca --------
1389
alter table
1390
    processo_seletivo.historico_parecer_banca
1391
add
1392
    column if not exists id_status_conjunto_documentacao_parecer int4 default null;
1393

    
1394
alter table
1395
    processo_seletivo.historico_parecer_banca
1396
add
1397
    column if not exists id_status_geral_analise_parecer int4 default null;
1398

    
1399
alter table
1400
    processo_seletivo.historico_parecer_banca
1401
add
1402
    column if not exists parecer varchar default null;
1403

    
1404
ALTER TABLE
1405
    processo_seletivo.historico_parecer_banca RENAME TO historico_analise_parecer_banca;
1406

    
1407
commit;
1408

    
1409
-- ##################################	 V4_01_00_0007
1410
ALTER TABLE
1411
    processo_seletivo.declaracao_processo_seletivo
1412
ADD
1413
    if not exists id_tipo_declaracao integer;
1414

    
1415
update
1416
    processo_seletivo.declaracao_processo_seletivo
1417
set
1418
    id_tipo_declaracao = 0
1419
where
1420
    id_declaracao_processo_seletivo not in(
1421
        select
1422
            id_declaracao_processo_seletivo
1423
        from
1424
            processo_seletivo.declaracao_processo_seletivo dps
1425
        where
1426
            exists (
1427
                select
1428
                    id_item_declaracao_processo_seletivo
1429
                from
1430
                    processo_seletivo.item_declaracao_processo_seletivo idps
1431
                where
1432
                    idps.id_declaracao_processo_seletivo = dps.id_declaracao_processo_seletivo
1433
                    and idps.tipo_item_declaracao_processo_seletivo = 4
1434
            )
1435
    );
1436

    
1437
update
1438
    processo_seletivo.declaracao_processo_seletivo
1439
set
1440
    id_tipo_declaracao = 1
1441
where
1442
    id_declaracao_processo_seletivo in(
1443
        select
1444
            id_declaracao_processo_seletivo
1445
        from
1446
            processo_seletivo.declaracao_processo_seletivo dps
1447
        where
1448
            exists (
1449
                select
1450
                    id_item_declaracao_processo_seletivo
1451
                from
1452
                    processo_seletivo.item_declaracao_processo_seletivo idps
1453
                where
1454
                    idps.id_declaracao_processo_seletivo = dps.id_declaracao_processo_seletivo
1455
                    and idps.tipo_item_declaracao_processo_seletivo = 4
1456
            )
1457
    );
1458

    
1459
insert into
1460
    processo_seletivo.dados_pessoais_declaracao_processo_seletivo
1461
values
1462
    (10, 'DIA_ATUAL');
1463

    
1464
insert into
1465
    processo_seletivo.dados_pessoais_declaracao_processo_seletivo
1466
values
1467
    (11, 'MES_ATUAL');
1468

    
1469
insert into
1470
    processo_seletivo.dados_pessoais_declaracao_processo_seletivo
1471
values
1472
    (12, 'ANO_ATUAL');
1473

    
1474
insert into
1475
    processo_seletivo.dados_pessoais_declaracao_processo_seletivo
1476
values
1477
    (13, 'DATA_NASCIMENTO');
1478

    
1479
ALTER TABLE
1480
    vestibular.linha_csv_indexada
1481
ADD
1482
    if not exists data_nascimento varchar;
1483

    
1484
-- ##################################	 V4_01_00_0008
1485
ALTER TABLE
1486
    processo_seletivo.validade_usuario_adm_processo_seletivo
1487
ADD
1488
    if NOT EXISTS data_cadastro TIMESTAMP DEFAULT NULL;
1489

    
1490
COMMENT ON COLUMN processo_seletivo.validade_usuario_adm_processo_seletivo.data_cadastro IS 'Guarda a data/hora da atribui??o da validade ao v?nculo de administrador do processo seletivo [SIGAA 4.1.0]';
1491

    
1492
ALTER TABLE
1493
    processo_seletivo.justificativa_validacao_documento_candidato RENAME COLUMN ativo TO ativa;
1494

    
1495
COMMENT ON COLUMN processo_seletivo.justificativa_validacao_documento_candidato.ativa IS 'Status da justificativa ativo/inativo [SIGAA 4.1.0]';
1496

    
1497
UPDATE
1498
    processo_seletivo.validade_usuario_adm_processo_seletivo
1499
SET
1500
    data_cadastro = data_validade
1501
WHERE
1502
    id_registro_entrada = 1;
1503

    
1504
-- ##################################	 V4_01_00_0009
1505
begin;
1506

    
1507
alter table
1508
    processo_seletivo.analise_parecer_membro_banca_processo_seletivo
1509
add
1510
    column if not exists ativo boolean default true;
1511

    
1512
alter table
1513
    processo_seletivo.historico_analise_parecer_banca
1514
add
1515
    column if not exists id_arquivo_parecer int default null;
1516

    
1517
alter table
1518
    processo_seletivo.analise_banca_processo_seletivo
1519
add
1520
    column if not exists id_banca_processo_seletivo int default null;
1521

    
1522
ALTER TABLE
1523
    processo_seletivo.analise_banca_processo_seletivo
1524
add
1525
    constraint id_banca_processo_seletivo_fkey FOREIGN KEY (id_banca_processo_seletivo) REFERENCES processo_seletivo.banca_processo_seletivo(id_banca_processo_seletivo);
1526

    
1527
commit;
1528

    
1529
-- ##################################	 V4_01_00_0010
1530
alter table
1531
    processo_seletivo.inscricao_candidato_processo_seletivo
1532
add
1533
    column if not exists observacoes_candidato varchar;
1534

    
1535
ALTER TABLE
1536
    processo_seletivo.documento_inscricao_candidato
1537
ADD
1538
    if NOT EXISTS requer_espaco_extra BOOLEAN DEFAULT FALSE;
1539

    
1540
ALTER TABLE
1541
    processo_seletivo.documento_inscricao_candidato
1542
ADD
1543
    if NOT EXISTS video BOOLEAN DEFAULT FALSE;
1544

    
1545
ALTER TABLE
1546
    processo_seletivo.documento_inscricao_candidato
1547
ADD
1548
    if NOT EXISTS texto_ajuda TEXT DEFAULT NULL;
1549

    
1550
-- ##################################	 V4_01_00_0011
1551
ALTER TABLE
1552
    processo_seletivo.documento_inscricao_candidato drop constraint if exists tipo_documento_fk;
1553

    
1554
-- ##################################	 V4_01_00_0012
1555
alter table
1556
    processo_seletivo.analise_parecer_membro_banca_processo_seletivo
1557
alter column
1558
    data_assinatura type timestamp;
1559

    
1560
-- ##################################	 V4_01_00_0013
1561
ALTER TABLE
1562
    processo_seletivo.declaracao_inscricao_candidato
1563
ADD
1564
    if not exists observacoes_validacao varchar NULL;
1565

    
1566
ALTER TABLE
1567
    processo_seletivo.documento_inscricao_candidato
1568
ADD
1569
    if not exists observacoes_validacao varchar NULL;
1570

    
1571
-- ##################################	 V4_01_00_0014
1572
ALTER TABLE
1573
    processo_seletivo.tipo_documento_processo_seletivo OWNER TO sigaa_group;
1574

    
1575
GRANT ALL ON TABLE processo_seletivo.tipo_documento_processo_seletivo TO sigaa_group;
1576

    
1577
GRANT
1578
SELECT
1579
    ON TABLE processo_seletivo.tipo_documento_processo_seletivo TO readonly_group;
1580

    
1581
-- ##################################	 V4_01_05_0000
1582
INSERT INTO
1583
    processo_seletivo.status_analise_parecer
1584
VALUES
1585
    (5, 'PENDENTE DE PARECER RECURSAL') ON CONFLICT DO NOTHING;
1586

    
1587
INSERT INTO
1588
    processo_seletivo.status_analise_parecer
1589
VALUES
1590
    (6, 'EM RETIFICA??O') ON CONFLICT DO NOTHING;
1591

    
1592
ALTER TABLE
1593
    processo_seletivo.analise_banca_processo_seletivo
1594
ADD
1595
    COLUMN IF NOT EXISTS id_parecer_recursal int4 DEFAULT NULL;
1596

    
1597
ALTER TABLE
1598
    processo_seletivo.analise_banca_processo_seletivo DROP CONSTRAINT IF EXISTS id_parecer_recursal_fkey;
1599

    
1600
ALTER TABLE
1601
    processo_seletivo.analise_banca_processo_seletivo
1602
ADD
1603
    CONSTRAINT id_parecer_recursal_fkey FOREIGN KEY (id_parecer_recursal) REFERENCES processo_seletivo.analise_banca_processo_seletivo (id_parecer_banca_processo_seletivo);
1604

    
1605
COMMENT ON COLUMN processo_seletivo.analise_banca_processo_seletivo.id_parecer_recursal IS ' Refer?ncia ? analise_banca_processo_seletivo criada no estado em que o id_status_geral_analise_parecer era PENDENTE_PARECER_RECURSAL (5).';
1606

    
1607
-- Inser??o da coluna que indica se a an?lise da banca passou pelo fluxo de retifica??o ou parecer recursal
1608
ALTER TABLE
1609
    processo_seletivo.analise_banca_processo_seletivo
1610
ADD
1611
    if NOT EXISTS status_parecer_recursal_retificacao int4 NULL;
1612

    
1613
COMMENT ON COLUMN processo_seletivo.analise_banca_processo_seletivo.status_parecer_recursal_retificacao IS 'Coluna que indica se a an?lise da banca passou pelo fluxo de retifica??o ou parecer recursal. Valores: 0=RETIFICADO, 1=PARECER_RECURSAL, ou vazio.';
1614

    
1615
-- Inser??o das colunas referentes aos per?odos de visualiza??o dos resultados por convoca??o, via SIGPS
1616
ALTER TABLE
1617
    vestibular.convocacao_processo_seletivo
1618
ADD
1619
    if NOT EXISTS inicio_visualizacao_resultados DATE NULL;
1620

    
1621
ALTER TABLE
1622
    vestibular.convocacao_processo_seletivo
1623
ADD
1624
    if NOT EXISTS hora_inicio_visualizacao_resultados TIME NULL;
1625

    
1626
ALTER TABLE
1627
    vestibular.convocacao_processo_seletivo
1628
ADD
1629
    if NOT EXISTS fim_visualizacao_resultados DATE NULL;
1630

    
1631
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.inicio_visualizacao_resultados IS 'In?cio do per?odo de visualiza??o dos resultados';
1632

    
1633
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.hora_inicio_visualizacao_resultados IS 'Hor?rio de in?cio do per?odo de visualiza??o dos resultados';
1634

    
1635
COMMENT ON COLUMN vestibular.convocacao_processo_seletivo.fim_visualizacao_resultados IS 'Fim do per?odo de visualiza??o dos resultados';
1636

    
1637
-- ##################################	 V4_01_05_0001
1638
ALTER TABLE
1639
    extensao.cadastro_participante_atividade_extensao
1640
ADD
1641
    COLUMN exibir_nome_social_em_documentos bool default false,
1642
ADD
1643
    COLUMN nome_social varchar(100) NULL,
1644
ADD
1645
    COLUMN nome_social_ascii varchar(100) NULL;
1646

    
1647
-- ##################################	 V4_01_06_0000
1648
ALTER TABLE
1649
    ava.registro_acao_ava
1650
ALTER COLUMN
1651
    login TYPE VARCHAR(100) USING login :: VARCHAR(100);
1652

    
1653
-- ##################################	 V4_01_06_0001
1654
ALTER TABLE
1655
    processo_seletivo.item_declaracao_processo_seletivo
1656
ADD
1657
    if not exists editavel bool NULL;
1658

    
1659
-- ##################################	 V4_01_06_0002
1660
ALTER TABLE
1661
    processo_seletivo.analise_banca_processo_seletivo
1662
ADD
1663
    if not exists observacoes_candidato varchar;
1664

    
1665
-- ##################################	 V4_01_07_0000
1666
alter table
1667
    pesquisa.plano_trabalho
1668
add
1669
    column id_usuario_cadastro int;
1670

    
1671
alter table
1672
    pesquisa.plano_trabalho
1673
add
1674
    constraint id_usuario_cadastro_fk foreign key (id_usuario_cadastro) references comum.usuario(id_usuario);
1675

    
1676
-- ##################################	 V4_01_07_0001
1677
create index if not exists cadastro_participante_atividade_extensao_cpf_index on extensao.cadastro_participante_atividade_extensao (cpf);
1678

    
1679
-- ##################################	 V4_01_09_0000
1680
CREATE TABLE IF NOT EXISTS sae.tipo_renovacao_residencia (
1681
    id_tipo_renovacao_residencia int4 not null constraint tipo_renovacao_residencia_pkey primary key,
1682
    tipo varchar(100) not null,
1683
    descricao varchar(400) not null,
1684
    ativo boolean not null
1685
);
1686

    
1687
ALTER TABLE
1688
    sae.tipo_renovacao_residencia OWNER TO sigaa_group;
1689

    
1690
GRANT ALL ON TABLE sae.tipo_renovacao_residencia TO sigaa_group;
1691

    
1692
GRANT
1693
SELECT
1694
    ON TABLE sae.tipo_renovacao_residencia TO readonly_group;
1695

    
1696
COMMENT ON TABLE sae.tipo_renovacao_residencia IS 'Representa o tipo de renova??o de resid?ncia / aux?lio moradia que um discente pode associar a uma solicita??o de bolsa.';
1697

    
1698
CREATE SEQUENCE IF NOT EXISTS sae.tipo_renovacao_residencia_seq;
1699

    
1700
ALTER SEQUENCE sae.tipo_renovacao_residencia_seq OWNER TO sigaa_group;
1701

    
1702
ALTER TABLE
1703
    sae.bolsa_auxilio
1704
ADD
1705
    COLUMN IF NOT EXISTS id_tipo_renovacao_residencia int4 DEFAULT NULL;
1706

    
1707
ALTER TABLE
1708
    sae.bolsa_auxilio DROP CONSTRAINT IF EXISTS id_tipo_renovacao_residencia_fkey;
1709

    
1710
ALTER TABLE
1711
    sae.bolsa_auxilio
1712
ADD
1713
    CONSTRAINT id_tipo_renovacao_residencia_fkey FOREIGN KEY (id_tipo_renovacao_residencia) REFERENCES sae.tipo_renovacao_residencia (id_tipo_renovacao_residencia);
1714

    
1715
COMMENT ON COLUMN sae.bolsa_auxilio.id_tipo_renovacao_residencia IS ' Refer?ncia ao tipo de renova??o de resid?ncia / aux?lio moradia que um discente pode associar a uma solicita??o de bolsa.';
1716

    
1717
-- ##################################	 V4_01_09_0003
1718
update
1719
    ensino.tipo_carga_horaria
1720
set
1721
    nome = 'Discente Orientada'
1722
where
1723
    id_tipo_carga_horaria = 2;
1724

    
1725
update
1726
    ensino.tipo_carga_horaria
1727
set
1728
    nome = 'Orienta??o Docente'
1729
where
1730
    id_tipo_carga_horaria = 4;
1731

    
1732
update
1733
    ensino.origem_carga_horaria
1734
set
1735
    nome = ''
1736
where
1737
    id_origem_carga_horaria = 1;
1738

    
1739
--    3. Carga Hor?ria de Aula Extensionista ? Presencial
1740
update
1741
    ensino.configuracao_carga_horaria
1742
set
1743
    descricao = 'Tempo estimado a ser cumprido pelo professor e pelo estudante exclusivamente em atividades de extens?o, na modalidade presencial, assumindo este ?ltimo o papel de executor da a??o.'
1744
where
1745
    id_configuracao_carga_horaria = 3;
1746

    
1747
--    4. Subtotal de Carga-Hor?ria de Aula Presencial 
1748
update
1749
    ensino.configuracao_carga_horaria
1750
set
1751
    descricao = 'Subtotal do conjunto de cargas-hor?rias de aulas presenciais do componente cumpridas na modalidade presencial, com exce??o da Carga Hor?ria de orienta??o Docente.'
1752
where
1753
    id_configuracao_carga_horaria = 4;
1754

    
1755
--    7. Carga Hor?ria de Aula Extensionista - a dist?ncia
1756
update
1757
    ensino.configuracao_carga_horaria
1758
set
1759
    descricao = 'Tempo estimado a ser cumprido pelo professor e pelo estudante exclusivamente em atividades de extens?o, na modalidade a dist?ncia, assumindo este ?ltimo o papel de executor da a??o.'
1760
where
1761
    id_configuracao_carga_horaria = 7;
1762

    
1763
--    8. Subtotal de Carga-Hor?ria de Aula a dist?ncia  
1764
update
1765
    ensino.configuracao_carga_horaria
1766
set
1767
    descricao = 'Subtotal do conjunto de cargas-hor?rias do componente de aulas cumpridas na modalidade a dist?ncia, com exce??o da Carga Hor?ria de orienta??o Docente.'
1768
where
1769
    id_configuracao_carga_horaria = 8;
1770

    
1771
--    9. Total de Carga-Hor?ria de Aula do Componente
1772
update
1773
    ensino.configuracao_carga_horaria
1774
set
1775
    descricao = 'Total do conjunto de cargas-hor?rias de aulas do componente cumpridas nas modalidades presencial e a dist?ncia, com exce??o da Carga Hor?ria de orienta??o Docente.'
1776
where
1777
    id_configuracao_carga_horaria = 9;
1778

    
1779
--    10. Carga Hor?ria Discente Orientada ? Presencial
1780
update
1781
    ensino.configuracao_carga_horaria
1782
set
1783
    descricao = 'Tempo estimado a ser cumprido e contabilizado exclusivamente pelo estudante em atividades de pr?tica profissional em situa??o real ou simulada, na modalidade presencial, para o qual o professor promove o acompanhamento discente de modo ass?ncrono por meio de atividades de orienta??o e/ou durante eventual carga-Hor?ria de aula te?rica ou pr?tica do componente. N?o integra a carga Hor?ria docente de reg?ncia para c?mputo das horas/aulas. (Ex. est?gio em empresa ou escola; elabora??o de TCC, desenvolvimento de projetos, organiza??o de eventos etc.)'
1784
where
1785
    id_configuracao_carga_horaria = 10;
1786

    
1787
--    11. Carga Hor?ria Discente Orientada Extensionista ? Presencial
1788
update
1789
    ensino.configuracao_carga_horaria
1790
set
1791
    descricao = 'Tempo estimado a ser cumprido e contabilizado exclusivamente pelo estudante em atividades de extens?o, no papel de executor e na modalidade presencial, para o qual o professor promove o acompanhamento discente de modo ass?ncrono por meio de atividades de orienta??o e/ou durante eventual carga-Hor?ria de aula te?rica ou pr?tica do componente. N?o integra a carga Hor?ria docente de reg?ncia para c?mputo das horas/aulas. (Ex. est?gio em empresa ou escola; elabora??o de TCC, desenvolvimento de projetos, organiza??o de eventos etc.)'
1792
where
1793
    id_configuracao_carga_horaria = 11;
1794

    
1795
--    12. Subtotal de Carga-Hor?ria Discente Orientada ? Presencial 
1796
update
1797
    ensino.configuracao_carga_horaria
1798
set
1799
    descricao = 'Subtotal do conjunto de cargas-hor?rias discente orientada do componente cumpridas na modalidade presencial, com exce??o da Carga Hor?ria de orienta??o Docente.'
1800
where
1801
    id_configuracao_carga_horaria = 12;
1802

    
1803
--    13. Carga Hor?ria Discente Orientada ? a dist?ncia
1804
update
1805
    ensino.configuracao_carga_horaria
1806
set
1807
    descricao = 'Tempo estimado a ser cumprido e contabilizado exclusivamente pelo estudante em atividades de pr?tica profissional em situa??o real ou simulada, na modalidade a dist?ncia, para o qual o professor promove o acompanhamento discente de modo ass?ncrono por meio de atividades de orienta??o e/ou durante eventual carga-Hor?ria de aula te?rica ou pr?tica do componente. N?o integra a carga Hor?ria docente de reg?ncia para c?mputo das horas/aulas. (Ex. est?gio em empresa ou escola; elabora??o de TCC, desenvolvimento de projetos, organiza??o de eventos etc.)'
1808
where
1809
    id_configuracao_carga_horaria = 13;
1810

    
1811
--    14. Carga Hor?ria Discente Orientada Extensionista ? a dist?ncia
1812
update
1813
    ensino.configuracao_carga_horaria
1814
set
1815
    descricao = 'Tempo estimado a ser cumprido e contabilizado exclusivamente pelo estudante em atividades de extens?o, no papel de executor e na modalidade a dist?ncia, para o qual o professor promove o acompanhamento discente de modo ass?ncrono por meio de atividades de orienta??o e/ou durante eventual carga-Hor?ria de aula te?rica ou pr?tica do componente. N?o integra a carga Hor?ria docente de reg?ncia para c?mputo das horas/aulas. (Ex. est?gio em empresa ou escola; elabora??o de TCC, desenvolvimento de projetos, organiza??o de eventos etc.)'
1816
where
1817
    id_configuracao_carga_horaria = 14;
1818

    
1819
--    15. Subtotal de Carga-Hor?ria Discente Orientada ? a dist?ncia
1820
update
1821
    ensino.configuracao_carga_horaria
1822
set
1823
    descricao = 'Subtotal do conjunto de cargas-hor?rias discente orientada do componente cumpridas na modalidade a dist?ncia, com exce??o da Carga Hor?ria de orienta??o Docente.'
1824
where
1825
    id_configuracao_carga_horaria = 15;
1826

    
1827
--    16. Total de Carga-Hor?ria Discente Orientada
1828
update
1829
    ensino.configuracao_carga_horaria
1830
set
1831
    descricao = 'Total do conjunto de cargas-hor?rias discente orientada do componente cumpridas nas modalidades presencial e a dist?ncia, com exce??o da Carga Hor?ria de orienta??o Docente.'
1832
where
1833
    id_configuracao_carga_horaria = 16;
1834

    
1835
--    17. Carga Hor?ria de orienta??o Docente
1836
update
1837
    ensino.configuracao_carga_horaria
1838
set
1839
    descricao = 'Tempo estimado a ser contabilizado exclusivamente para o professor em atividades de orienta??o, s?ncrona e/ou ass?ncrona, ao estudante em pr?tica profissional, na modalidade presencial ou a dist?ncia, devendo ocorrer para al?m da eventual orienta??o efetuada em aulas te?ricas ou pr?ticas, com carga-Hor?ria maior do que zero e menor do que a carga Hor?ria discente orientada. N?o integra a carga Hor?ria docente de reg?ncia para c?mputo das horas/aulas.'
1840
where
1841
    id_configuracao_carga_horaria = 18;
1842

    
1843
-- ##################################	 V4_02_00_0000
1844
alter table
1845
    biblioteca.tipo_agendamento
1846
add
1847
    column if not exists editavel boolean default true;
1848

    
1849
alter table
1850
    biblioteca.tipo_agendamento
1851
add
1852
    column if not exists parametros_agendamento_habilitado boolean default false;
1853

    
1854
CREATE TABLE biblioteca.parametros_agendamento (
1855
    id_parametros_agendamento integer not null,
1856
    id_tipo_agendamento integer not null,
1857
    id_servicos_biblioteca integer not null,
1858
    intervalo_horarios_agendamento integer,
1859
    quantidade_usuarios_por_horario integer,
1860
    prazo_abertura_agendamento integer,
1861
    intervalo_dias_agendamento integer,
1862
    ativo boolean,
1863
    id_registro_atualizacao integer,
1864
    constraint id_parametros_agendamento_pkey primary key (id_parametros_agendamento),
1865
    constraint id_tipo_agendamento_fkey foreign key (id_tipo_agendamento) references biblioteca.tipo_agendamento (id_tipo_agendamento),
1866
    constraint id_servicos_biblioteca_fkey foreign key (id_servicos_biblioteca) references biblioteca.servicos_informacao_referencia_biblioteca (id_servicos_biblioteca)
1867
) WITH (OIDS = FALSE);
1868

    
1869
alter table
1870
    biblioteca.parametros_agendamento owner to sigaa;
1871

    
1872
grant all on biblioteca.parametros_agendamento to sigaa;
1873

    
1874
grant
1875
select
1876
    on table biblioteca.parametros_agendamento to readonly_group;
1877

    
1878
comment on table biblioteca.parametros_agendamento is 'Par?metros a serem aplicados nos servi?os de agendamento, em uma biblioteca.';
1879

    
1880
comment on column biblioteca.parametros_agendamento.intervalo_horarios_agendamento is 'Quantidade de tempo que ser? usada para dividir o hor?rio de funcionamento para agendamentos.';
1881

    
1882
comment on column biblioteca.parametros_agendamento.quantidade_usuarios_por_horario is 'Quantidade de usu?rios que poder?o realizar agendamento em cada hor?rio.';
1883

    
1884
comment on column biblioteca.parametros_agendamento.prazo_abertura_agendamento is 'Quantidade de dias posteriores ? data atual para o qual ser? poss?vel ao aluno realizar agendamento.';
1885

    
1886
comment on column biblioteca.parametros_agendamento.intervalo_dias_agendamento is 'Quantidade de dias posteriores ao primeiro dia de agendamento, que estar?o dispon?veis para o aluno realizar agendamento.';
1887

    
1888
CREATE TABLE biblioteca.horario_agendamento (
1889
    id_horario_agendamento integer not null,
1890
    id_parametros_agendamento integer not null,
1891
    hora_inicio time without time zone,
1892
    hora_fim time without time zone,
1893
    constraint id_horario_agendamento_pkey primary key (id_horario_agendamento),
1894
    constraint id_parametros_agendamento_fkey foreign key (id_parametros_agendamento) references biblioteca.parametros_agendamento (id_parametros_agendamento)
1895
) WITH (OIDS = FALSE);
1896

    
1897
alter table
1898
    biblioteca.horario_agendamento owner to sigaa;
1899

    
1900
grant all on biblioteca.horario_agendamento to sigaa;
1901

    
1902
grant
1903
select
1904
    on table biblioteca.horario_agendamento to readonly_group;
1905

    
1906
comment on table biblioteca.horario_agendamento is 'Hor?rio de funcionamento, para servi?os de agendamento, em uma biblioteca.';
1907

    
1908
create sequence if not exists biblioteca.horario_agendamento_seq;
1909

    
1910
grant all on sequence biblioteca.horario_agendamento_seq to sigaa;
1911

    
1912
grant
1913
select
1914
    on sequence biblioteca.horario_agendamento_seq to readonly_group;
1915

    
1916

    
1917
-- ##################################	 V4_02_00_0001
1918
alter table
1919
    biblioteca.status_material_informacional
1920
add
1921
    column if not exists permite_agendamento_de_emprestimo boolean default false;
1922

    
1923
CREATE TABLE biblioteca.agendamento_titulo_catalografico (
1924
    id_agendamento_titulo_catalografico integer not null,
1925
    id_solicitacao_agendamento integer not null,
1926
    id_titulo_catalografico integer not null,
1927
    disponivel boolean,
1928
    constraint id_agendamento_titulo_catalografico_pkey primary key (id_agendamento_titulo_catalografico),
1929
    constraint id_solicitacao_agendamento_fkey foreign key (id_solicitacao_agendamento) references biblioteca.solicitacao_agendamento (id_solicitacao_agendamento),
1930
    constraint id_titulo_catalografico_fkey foreign key (id_titulo_catalografico) references biblioteca.titulo_catalografico (id_titulo_catalografico)
1931
) WITH (OIDS = FALSE);
1932

    
1933
alter table
1934
    biblioteca.agendamento_titulo_catalografico owner to sigaa;
1935

    
1936
grant all on biblioteca.agendamento_titulo_catalografico to sigaa;
1937

    
1938
grant
1939
select
1940
    on table biblioteca.agendamento_titulo_catalografico to readonly_group;
1941

    
1942
comment on table biblioteca.agendamento_titulo_catalografico is 'Armazena os livros selecionados na solicitao de agendamento de emprstimo.';
1943

    
1944
create sequence if not exists biblioteca.agendamento_titulo_catalografico_seq;
1945

    
1946
grant all on sequence biblioteca.agendamento_titulo_catalografico_seq to sigaa;
1947

    
1948
grant
1949
select
1950
    on sequence biblioteca.agendamento_titulo_catalografico_seq to readonly_group;
1951

    
1952
-- ##################################	 V4_02_00_0002
1953
create index if not exists agendamento_emprestimo_index on biblioteca.status_material_informacional (permite_agendamento_de_emprestimo);
1954

    
1955
-- ##################################	 V4_02_01_0000
1956
INSERT INTO
1957
    ensino.forma_ingresso (
1958
        id_forma_ingresso,
1959
        descricao,
1960
        tipo_forma,
1961
        nivel,
1962
        ativo,
1963
        diploma_convenio,
1964
        mobilidade_estudantil,
1965
        realiza_processo_seletivo,
1966
        contagem_taxa_conclusao,
1967
        permite_emprestimo_biblioteca,
1968
        id_categoria_discente_especial
1969
    )
1970
values
1971
    (
1972
        146242722,
1973
        'PROMOVER',
1974
        'E',
1975
        'G',
1976
        true,
1977
        false,
1978
        true,
1979
        false,
1980
        false,
1981
        false,
1982
        2
1983
    );
1984

    
1985
-- ##################################	 V4_02_03_0000
1986
ALTER TABLE
1987
    pesquisa.relatorio_projeto
1988
add
1989
    if not exists inicio_envio timestamp(0) NULL;
1990

    
1991
COMMENT ON COLUMN pesquisa.relatorio_projeto.inicio_envio IS 'indica a data de inicio de envio do relatorio, utilizado em projetos n?o associados a edital';
1992

    
1993
-- ##################################	 V4_02_06_0001
1994
BEGIN;
1995

    
1996
INSERT INTO
1997
    rid.item_relatorio_carga_horaria_docente (
1998
        id_item,
1999
        ordem,
2000
        descricao,
2001
        ch_conversao,
2002
        id_grupo
2003
    )
2004
VALUES
2005
    (
2006
        40,
2007
        13,
2008
        'Superintendente Substituto/Adjunto',
2009
        NULL,
2010
        5
2011
    ),
2012
    (41, 20, 'Secret?rio', NULL, 5),
2013
    (
2014
        42,
2015
        21,
2016
        'Secretario  substituto/adjunto',
2017
        NULL,
2018
        5
2019
    ),
2020
    (43, 22, 'Auditor Chefe', NULL, 5),
2021
    (
2022
        44,
2023
        6,
2024
        'Orienta??es Acad?micas de Discentes de Gradua??o',
2025
        NULL,
2026
        3
2027
    );
2028

    
2029
UPDATE
2030
    rid.item_relatorio_carga_horaria_docente
2031
SET
2032
    ordem = 14
2033
WHERE
2034
    id_item = 34;
2035

    
2036
UPDATE
2037
    rid.item_relatorio_carga_horaria_docente
2038
SET
2039
    ordem = 15
2040
WHERE
2041
    id_item = 35;
2042

    
2043
UPDATE
2044
    rid.item_relatorio_carga_horaria_docente
2045
SET
2046
    ordem = 16
2047
WHERE
2048
    id_item = 36;
2049

    
2050
UPDATE
2051
    rid.item_relatorio_carga_horaria_docente
2052
SET
2053
    ordem = 17
2054
WHERE
2055
    id_item = 37;
2056

    
2057
UPDATE
2058
    rid.item_relatorio_carga_horaria_docente
2059
SET
2060
    ordem = 18
2061
WHERE
2062
    id_item = 38;
2063

    
2064
UPDATE
2065
    rid.item_relatorio_carga_horaria_docente
2066
SET
2067
    ordem = 19
2068
WHERE
2069
    id_item = 39;
2070

    
2071
ALTER TABLE
2072
    rid.elemento_relatorio_carga_horaria_docente
2073
ALTER COLUMN
2074
    ch_semanal TYPE DOUBLE PRECISION;
2075

    
2076
ALTER TABLE
2077
    rid.elemento_relatorio_carga_horaria_docente
2078
ALTER COLUMN
2079
    ch_total TYPE DOUBLE PRECISION;
2080

    
2081
COMMIT;
2082

    
2083
-- ##################################	 V4_02_06_0002
2084
alter table
2085
    rid.emissao_rid
2086
add
2087
    column justificativa_docente text default null;
2088

    
2089
alter table
2090
    rid.emissao_rid
2091
add
2092
    column id_arquivo integer default null;
2093

    
2094
-- ##################################	 V4_02_06_0003
2095
alter table
2096
    sae.declaracao_nao_acumulo_bolsas
2097
add
2098
    column if not exists preenchida boolean default true;
2099

    
2100
alter table
2101
    sae.declaracao_nao_acumulo_bolsas
2102
add
2103
    column if not exists data_atualizacao timestamp;
2104

    
2105
-- ##################################	 V4_02_06_0004
2106
alter table
2107
    pesquisa.tipo_bolsa_pesquisa
2108
add
2109
    column if not exists somente_beneficiarios_de_acoes_afirmativas boolean default false;
2110

    
2111
-- ##################################	 V4_02_07_0001
2112
CREATE SEQUENCE stricto_sensu.orientacao_processo_seletivo_seq INCREMENT 1 START 10 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1;
2113

    
2114
ALTER SEQUENCE stricto_sensu.orientacao_processo_seletivo_seq OWNER TO sigaa;
2115

    
2116
BEGIN;
2117

    
2118
CREATE TABLE stricto_sensu.orientacao_processo_seletivo(
2119
    id_orientacao_processo_seletivo INTEGER CONSTRAINT pk_orientacao_processo_seletivo PRIMARY KEY,
2120
    id_arquivo INTEGER,
2121
    data_cadastro TIMESTAMP WITHOUT TIME ZONE,
2122
    data_alteracao TIMESTAMP without TIME zone,
2123
    descricao CHARACTER VARYING
2124
);
2125

    
2126
COMMIT;
2127

    
2128
ALTER TABLE
2129
    stricto_sensu.orientacao_processo_seletivo OWNER TO sigaa;
2130

    
2131
GRANT ALL ON TABLE stricto_sensu.orientacao_processo_seletivo TO sigaa_group;
2132

    
2133
GRANT
2134
SELECT
2135
    ON TABLE stricto_sensu.orientacao_processo_seletivo TO readonly_group;
2136

    
2137
-- ##################################	 V4_02_08_0000
2138
-- Sequence: sae.historico_adesao_cadastro_unico_bolsa_seq
2139
-- DROP SEQUENCE sae.historico_adesao_cadastro_unico_bolsa_seq;
2140
CREATE SEQUENCE sae.historico_adesao_cadastro_unico_bolsa_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 23 CACHE 1 NO CYCLE;
2141

    
2142
ALTER SEQUENCE sae.historico_adesao_cadastro_unico_bolsa_seq OWNER TO sigaa;
2143

    
2144
GRANT ALL ON SEQUENCE sae.historico_adesao_cadastro_unico_bolsa_seq TO sigaa_group;
2145

    
2146
GRANT
2147
SELECT
2148
    ON SEQUENCE sae.historico_adesao_cadastro_unico_bolsa_seq TO readonly_group;
2149

    
2150
CREATE TABLE sae.historico_adesao_cadastro_unico_bolsa (
2151
    id_historico_adesao_cadastro_unico_bolsa integer NOT NULL,
2152
    id_adesao_cadastro_unico_bolsa integer,
2153
    id_situacao_adesao_cadastro_unico_bolsa integer,
2154
    data_alteracao timestamp without time zone,
2155
    id_usuario integer,
2156
    id_registro_entrada integer,
2157
    CONSTRAINT historico_adesao_cadastro_unico_bolsa_pkey PRIMARY KEY (id_historico_adesao_cadastro_unico_bolsa),
2158
    CONSTRAINT historico_situacao_adesao_cadastro_unico_bolsa_situacao_fkey FOREIGN KEY (id_situacao_adesao_cadastro_unico_bolsa) REFERENCES sae.situacao_adesao_cadastro_unico_bolsa (id_situacao_adesao_cadastro_unico_bolsa) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
2159
    CONSTRAINT adesao_cadastro_unico_bolsa_fkey FOREIGN KEY (id_adesao_cadastro_unico_bolsa) REFERENCES sae.adesao_cadastro_unico (id_adesao) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
2160
    CONSTRAINT id_historico_adesao_cadastro_unico_bolsa_id_usuario_fkey FOREIGN KEY (id_usuario) REFERENCES comum.usuario (id_usuario) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION,
2161
    CONSTRAINT id_registro_entrada_fkey FOREIGN KEY (id_registro_entrada) REFERENCES comum.registro_entrada (id_entrada) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION
2162
) WITH (OIDS = FALSE);
2163

    
2164
ALTER TABLE
2165
    sae.historico_adesao_cadastro_unico_bolsa OWNER TO sigaa_group;
2166

    
2167
GRANT ALL ON TABLE sae.historico_adesao_cadastro_unico_bolsa TO sigaa_group;
2168

    
2169
GRANT
2170
SELECT
2171
    ON TABLE sae.historico_adesao_cadastro_unico_bolsa TO readonly_group;
2172

    
2173
COMMENT ON TABLE sae.historico_adesao_cadastro_unico_bolsa IS 'Tabela que guarda o hist?rico da situa??o de uma ades?o de cadastro ?nico.';
2174

    
2175
COMMENT ON COLUMN sae.historico_adesao_cadastro_unico_bolsa.id_historico_adesao_cadastro_unico_bolsa IS 'Identificador do hist?rico da situa??o da ades?o de cadastro ?nico.';
2176

    
2177
COMMENT ON COLUMN sae.historico_adesao_cadastro_unico_bolsa.id_adesao_cadastro_unico_bolsa IS 'Ades?o de cadastro ?nico que teve sua situa??o alterada.';
2178

    
2179
COMMENT ON COLUMN sae.historico_adesao_cadastro_unico_bolsa.id_situacao_adesao_cadastro_unico_bolsa IS 'Id da situa??o da ades?o de cadastro ?nico depois da altera??o.';
2180

    
2181
COMMENT ON COLUMN sae.historico_adesao_cadastro_unico_bolsa.data_alteracao IS 'Data em que a altera??o foi realizada.';
2182

    
2183
COMMENT ON COLUMN sae.historico_adesao_cadastro_unico_bolsa.id_usuario IS 'Id do usu?rio que realizou a altera??o da situa??o.';
2184

    
2185
COMMENT ON COLUMN sae.historico_adesao_cadastro_unico_bolsa.id_registro_entrada IS 'Id do registro de entrada da altera??o da situa??o.';
2186

    
2187
-- ##################################	 V4_02_12_0000
2188
ALTER TABLE
2189
    stricto_sensu.banca_pos
2190
ADD
2191
    COLUMN if NOT EXISTS id_arquivo_ata_assinada INTEGER DEFAULT NULL;
2192

    
2193
CREATE SEQUENCE ensino.ata_defesa_assinada_seq INCREMENT 1 START 10 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1;
2194

    
2195
ALTER SEQUENCE ensino.ata_defesa_assinada_seq OWNER TO sigaa;
2196

    
2197
BEGIN;
2198

    
2199
CREATE TABLE stricto_sensu.ata_defesa_assinada_stricto(
2200
    id_ata_defesa_stricto INTEGER CONSTRAINT pk_ata_defesa_assinada_stricto PRIMARY KEY,
2201
    id_programa_pos INTEGER,
2202
    id_banca_pos INTEGER,
2203
    CONSTRAINT id_programa_pos_fkey FOREIGN KEY (id_programa_pos) REFERENCES comum.unidade (id_unidade),
2204
    CONSTRAINT id_banca_pos_fkey FOREIGN KEY (id_banca_pos) REFERENCES stricto_sensu.banca_pos (id_banca_pos)
2205
) WITH (OIDS = FALSE);
2206

    
2207
ALTER TABLE
2208
    stricto_sensu.ata_defesa_assinada_stricto OWNER TO sigaa;
2209

    
2210
GRANT ALL ON TABLE stricto_sensu.ata_defesa_assinada_stricto TO sigaa_group;
2211

    
2212
GRANT
2213
SELECT
2214
    ON TABLE stricto_sensu.ata_defesa_assinada_stricto TO readonly_group;
2215

    
2216
COMMIT;
2217

    
2218
-- ##################################	 V4_02_13_0000
2219
alter table
2220
    estagio.estagiario
2221
add
2222
    column if not exists id_arquivo_desistencia_cancelamento integer;
2223

    
2224
-- ##################################	 V4_02_14_0000
2225
ALTER TABLE
2226
    comum.matriz_cotas
2227
ADD
2228
    COLUMN IF NOT EXISTS tecnico boolean DEFAULT false,
2229
ADD
2230
    COLUMN IF NOT EXISTS integrado boolean DEFAULT false,
2231
ADD
2232
    COLUMN IF NOT EXISTS graduacao boolean DEFAULT false,
2233
ADD
2234
    COLUMN IF NOT EXISTS lato boolean DEFAULT false,
2235
ADD
2236
    COLUMN IF NOT EXISTS mestrado boolean DEFAULT false,
2237
ADD
2238
    COLUMN IF NOT EXISTS doutorado boolean DEFAULT false,
2239
ADD
2240
    COLUMN IF NOT EXISTS residencia boolean DEFAULT false,
2241
ADD
2242
    COLUMN IF NOT EXISTS id_tipo_fonte_pagadora INTEGER DEFAULT null;
2243

    
2244
ALTER TABLE
2245
    comum.requisicao_cota_extra
2246
ADD
2247
    COLUMN IF NOT EXISTS tecnico boolean DEFAULT false,
2248
ADD
2249
    COLUMN IF NOT EXISTS integrado boolean DEFAULT false,
2250
ADD
2251
    COLUMN IF NOT EXISTS graduacao boolean DEFAULT false,
2252
ADD
2253
    COLUMN IF NOT EXISTS lato boolean DEFAULT false,
2254
ADD
2255
    COLUMN IF NOT EXISTS mestrado boolean DEFAULT false,
2256
ADD
2257
    COLUMN IF NOT EXISTS doutorado boolean DEFAULT false,
2258
ADD
2259
    COLUMN IF NOT EXISTS residencia boolean DEFAULT FALSE,
2260
ADD
2261
    COLUMN IF NOT EXISTS id_tipo_fonte_pagadora INTEGER DEFAULT null;
2262

    
2263
UPDATE
2264
    comum.matriz_cotas
2265
SET
2266
    id_tipo_fonte_pagadora = 1
2267
WHERE
2268
    fonte_pagadora = 'PNAES'
2269
    OR fonte_pagadora = 'PNAE';
2270

    
2271
UPDATE
2272
    comum.matriz_cotas
2273
SET
2274
    id_tipo_fonte_pagadora = 2
2275
WHERE
2276
    fonte_pagadora = 'Or?amento Pr?prio';
2277

    
2278
UPDATE
2279
    comum.matriz_cotas
2280
SET
2281
    id_tipo_fonte_pagadora = 5
2282
WHERE
2283
    fonte_pagadora = 'CONDETUF/AE';
2284

    
2285
UPDATE
2286
    comum.matriz_cotas
2287
SET
2288
    id_tipo_fonte_pagadora = 4
2289
WHERE
2290
    fonte_pagadora = 'Or?amento Externo';
2291

    
2292
CREATE SEQUENCE projetos.projeto_matriz_sequence INCREMENT 1 START 10 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1;
2293

    
2294
ALTER SEQUENCE projetos.projeto_matriz_sequence OWNER TO sigaa;
2295

    
2296
CREATE TABLE projetos.projeto_matriz (
2297
    id_projeto_matriz INTEGER CONSTRAINT pk_projeto_matriz PRIMARY KEY,
2298
    id_projeto_extensao_pesquisa_monitoria INTEGER not null,
2299
    id_projeto INTEGER not null,
2300
    id_edital_matriz INTEGER not null,
2301
    bolsas_solicitadas INTEGER DEFAULT 0,
2302
    bolsas_concedidas INTEGER DEFAULT 0,
2303
    ativo boolean DEFAULT true,
2304
    CONSTRAINT id_projeto_fkey FOREIGN KEY (id_projeto) REFERENCES projetos.projeto (id_projeto),
2305
    CONSTRAINT id_edital_matriz_fkey FOREIGN KEY (id_edital_matriz) REFERENCES comum.edital_matriz (id_edital_matriz)
2306
) WITH (OIDS = FALSE);
2307

    
2308
ALTER TABLE
2309
    projetos.projeto_matriz OWNER TO sigaa;
2310

    
2311
GRANT ALL ON TABLE projetos.projeto_matriz TO sigaa_group;
2312

    
2313
GRANT
2314
SELECT
2315
    ON TABLE projetos.projeto_matriz TO readonly_group;
2316

    
2317
ALTER TABLE
2318
    monitoria.movimentacao_cota
2319
ADD
2320
    COLUMN IF NOT EXISTS id_projeto_matriz INTEGER DEFAULT NULL,
2321
ADD
2322
    CONSTRAINT id_projeto_matriz_fkey FOREIGN KEY (id_projeto_matriz) REFERENCES projetos.projeto_matriz (id_projeto_matriz);
2323

    
2324
-- ##################################	 V4_02_17_0000
2325
alter table
2326
    ensino.configuracao_taxa_matricula
2327
add
2328
    column if not exists ano integer;
2329

    
2330
alter table
2331
    ensino.configuracao_taxa_matricula
2332
add
2333
    column if not exists periodo integer;
2334

    
2335
-- ##################################	 V4_02_17_0001
2336
alter table
2337
    estagio.estagiario
2338
add
2339
    column if not exists responsavel_iniciativa_rescisao varchar(30);
2340

    
2341
alter table
2342
    estagio.estagiario
2343
add
2344
    column if not exists data_rescisao date;
2345

    
2346
-- ##################################	 V4_02_19_0000
2347
ALTER TABLE
2348
    rid.elemento_relatorio_carga_horaria_docente
2349
ADD
2350
    COLUMN if not EXISTS contabiliza_ch boolean DEFAULT TRUE;
2351

    
2352
-- ##################################	 V4_02_21_0000
2353
CREATE TABLE IF NOT EXISTS ensino.discente_configuracao_taxa_matricula(
2354
    id_discente_configuracao_taxa_matricula int4 NOT NULL,
2355
    id_discente int4 NOT NULL,
2356
    id_configuracao_taxa_matricula int4 NOT NULL,
2357
    id_gru int4,
2358
    CONSTRAINT discente_configuracao_taxa_matricula_pkey PRIMARY KEY (id_discente_configuracao_taxa_matricula)
2359
);
2360

    
2361
ALTER TABLE
2362
    ensino.discente_configuracao_taxa_matricula
2363
ADD
2364
    CONSTRAINT fk_id_discente FOREIGN KEY (id_discente) REFERENCES public.discente (id_discente);
2365

    
2366
ALTER TABLE
2367
    ensino.discente_configuracao_taxa_matricula
2368
ADD
2369
    CONSTRAINT fk_id_configuracao_taxa_matricula FOREIGN KEY (id_configuracao_taxa_matricula) REFERENCES ensino.configuracao_taxa_matricula (id_configuracao_taxa_matricula);
2370

    
2371
ALTER TABLE
2372
    ensino.discente_configuracao_taxa_matricula OWNER TO sigaa_group;
2373

    
2374
CREATE SEQUENCE ensino.discente_configuracao_taxa_matricula_seq INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 9223372036854775807 CACHE 1;
2375

    
2376
-- ##################################	 V4_02_21_0001
2377
CREATE INDEX inscricao_atividade_participante_id_status_inscricao_participante_idx ON extensao.inscricao_atividade_participante (id_status_inscricao_participante);
2378

    
2379
CREATE INDEX inscricao_atividade_participante_id_cadastro_participante_atividade_extensao_idx ON extensao.inscricao_atividade_participante (id_cadastro_participante_atividade_extensao);
2380

    
2381
CREATE INDEX inscricao_atividade_participante_id_inscricao_atividade_idx ON extensao.inscricao_atividade_participante (id_inscricao_atividade);
2382

    
2383
-- ##################################	 V4_02_21_0002
2384

    
2385
CREATE TABLE biblioteca.dia_agendamento (
2386
    id_dia_agendamento integer not null,
2387
    id_parametros_agendamento integer not null,
2388
    dia integer,
2389
    aberta boolean,
2390
    constraint id_dia_agendamento_pkey primary key (id_dia_agendamento),
2391
    constraint id_parametros_agendamento_fkey foreign key (id_parametros_agendamento) references biblioteca.parametros_agendamento (id_parametros_agendamento)
2392
) WITH (OIDS = FALSE);
2393

    
2394
alter table
2395
    biblioteca.dia_agendamento owner to sigaa;
2396

    
2397
grant all on biblioteca.dia_agendamento to sigaa;
2398

    
2399
grant
2400
select
2401
    on table biblioteca.dia_agendamento to readonly_group;
2402

    
2403
comment on table biblioteca.dia_agendamento is 'Dia da semana do funcionamento, para servi?os de agendamento, em uma biblioteca.';
2404

    
2405
create sequence if not exists biblioteca.dia_agendamento_seq;
2406

    
2407
grant all on sequence biblioteca.dia_agendamento_seq to sigaa_group;
2408

    
2409
grant
2410
select
2411
    on sequence biblioteca.dia_agendamento_seq to readonly_group;
2412

    
2413
with dados as (
2414
    select
2415
        p.id_parametros_agendamento as id,
2416
        dias.d as dia
2417
    from
2418
        biblioteca.parametros_agendamento p
2419
        join (
2420
            values
2421
                (2),
2422
                (3),
2423
                (4),
2424
                (5),
2425
                (6)
2426
        ) as dias(d) on true
2427
)
2428
insert into
2429
    biblioteca.dia_agendamento(
2430
        id_dia_agendamento,
2431
        id_parametros_agendamento,
2432
        dia,
2433
        aberta
2434
    )
2435
select
2436
    nextval('biblioteca.dia_agendamento_seq'),
2437
    dados.id,
2438
    dados.dia,
2439
    true
2440
from
2441
    dados;
2442

    
2443
-- ##################################	 V4_03_00_0000
2444
alter table
2445
    graduacao.membro_projeto_pedagogico_curso drop constraint if exists membro_projeto_id_agrupador_fkey;
2446

    
2447
drop table graduacao.agrupador_membro_ppc;
2448

    
2449
-- ##################################	 V4_03_00_0001
2450
ALTER TABLE
2451
    graduacao.projeto_pedagogico_curso
2452
ADD
2453
    COLUMN if not exists justificativa_quadro_infraestrutura_fisica text;
2454

    
2455
COMMENT ON COLUMN graduacao.projeto_pedagogico_curso.justificativa_quadro_infraestrutura_fisica IS 'representa a justificativa para a solicitacao do quadro de infraestrutura f?sica do PPC [SIGAA 4.1.0]';
2456

    
2457
-- ##################################	 V4_03_00_0002
2458
-- DROP TABLE ensino.bibliografia_componente_curricular;
2459
CREATE table if not exists ensino.bibliografia_componente_curricular (
2460
    id_bibliografia_componente_curricular int4 NOT NULL,
2461
    url varchar(300) NOT NULL,
2462
    descricao text NOT NULL,
2463
    detalhes text NULL,
2464
    tipo bpchar(1) NULL,
2465
    id_componente_curricular int4 NULL,
2466
    id_registro_entrada int4 not NULL,
2467
    data_cadastro timestamp not NULL,
2468
    ano text NULL,
2469
    tipo_indicacao int4 NULL,
2470
    id_titulo_catalografico int4 NULL,
2471
    titulo text NULL,
2472
    autor varchar(200) NULL,
2473
    editora varchar(200) NULL,
2474
    edicao text NULL,
2475
    ativo bool NOT NULL DEFAULT true,
2476
    CONSTRAINT id_bibliografia_componente_curricular_pkey PRIMARY KEY (id_bibliografia_componente_curricular),
2477
    CONSTRAINT id_componente_curricular_fk FOREIGN KEY (id_componente_curricular) REFERENCES ensino.componente_curricular(id_disciplina),
2478
    CONSTRAINT id_registro_entrada_fk FOREIGN KEY (id_registro_entrada) REFERENCES comum.registro_entrada(id_entrada),
2479
    CONSTRAINT id_titulo_catalografico_fk FOREIGN KEY (id_titulo_catalografico) REFERENCES biblioteca.titulo_catalografico(id_titulo_catalografico)
2480
);
2481

    
2482
--DROP SEQUENCE ensino.bibliografia_componente_curricular_seq;
2483
CREATE sequence if not exists ensino.bibliografia_componente_curricular_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;
2484

    
2485
ALTER sequence ensino.bibliografia_componente_curricular_seq owner to sigaa_group;
2486

    
2487
-- ##################################	 V4_03_00_0003
2488
ALTER TABLE
2489
    graduacao.projeto_pedagogico_curso
2490
ADD
2491
    COLUMN if not exists formacao_continuada text;
2492

    
2493
COMMENT ON COLUMN graduacao.projeto_pedagogico_curso.formacao_continuada IS 'Representa o conte?do textual do item Forma??o Continuada para o PPC [SIGAA 4.1.0]';
2494

    
2495
-- ##################################	 V4_03_00_0004
2496
update
2497
    graduacao.curriculo
2498
set
2499
    situacao = 1 --consolidada
2500
where
2501
    situacao is null;
2502

    
2503
-- ##################################	 V4_03_00_0005
2504
alter table
2505
    graduacao.dimensao_obrigatoria_ppc
2506
alter column
2507
    id_tipo_dimensao_obrigatoria_ppc drop not null;
2508

    
2509
alter table
2510
    graduacao.projeto_pedagogico_curso
2511
add
2512
    indissociabilidade_ensino_pesq_ext text;
2513

    
2514
-- ##################################	 V4_03_00_0006
2515
ALTER TABLE
2516
    graduacao.projeto_pedagogico_curso
2517
ADD
2518
    COLUMN inclusao_acessibilidade TEXT;
2519

    
2520
ALTER TABLE
2521
    graduacao.projeto_pedagogico_curso
2522
ADD
2523
    COLUMN atividades_inovadoras TEXT;
2524

    
2525
ALTER TABLE
2526
    graduacao.projeto_pedagogico_curso
2527
ADD
2528
    COLUMN atividades_complementares TEXT;
2529

    
2530
ALTER TABLE
2531
    graduacao.projeto_pedagogico_curso
2532
ADD
2533
    COLUMN estagios_supervisionados TEXT;
2534

    
2535
ALTER TABLE
2536
    graduacao.projeto_pedagogico_curso
2537
ADD
2538
    COLUMN trabalho_conclusao_curso TEXT;
2539

    
2540
-- ##################################	 V4_03_00_0007
2541
-- Sequence: GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR_SEQ
2542
CREATE SEQUENCE GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR_SEQ INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 NO CYCLE;
2543

    
2544
ALTER SEQUENCE GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR_SEQ OWNER TO sigaa;
2545

    
2546
GRANT ALL ON SEQUENCE GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR_SEQ TO sigaa_group;
2547

    
2548
GRANT
2549
SELECT
2550
    ON SEQUENCE GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR_SEQ TO readonly_group;
2551

    
2552
/*==============================================================*/
2553
/* Table: GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR        */
2554
/*==============================================================*/
2555
CREATE TABLE GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR (
2556
    ID_ANALISE_OFERTA_COMPONENTE_CURRICULAR integer NOT NULL,
2557
    ID_PROJETO_PEDAGOGICO_CURSO integer NOT NULL,
2558
    ID_CURRICULO_COMPONENTE integer NOT NULL,
2559
    JUSTIFICATIVA varchar NULL,
2560
    STATUS integer NOT NULL,
2561
    DATA_CADASTRO timestamp NOT NULL,
2562
    ID_REGISTRO_ENTRADA integer NOT NULL,
2563
    CONSTRAINT ANALISE_OFERTA_COMPONENTE_CURRICULAR_PKEY PRIMARY KEY (ID_ANALISE_OFERTA_COMPONENTE_CURRICULAR),
2564
    CONSTRAINT FK_ANALISE_OFERTA_COMPONENTE_CURRICULAR_01 FOREIGN KEY (ID_PROJETO_PEDAGOGICO_CURSO) REFERENCES GRADUACAO.PROJETO_PEDAGOGICO_CURSO (ID_PROJETO_PEDAGOGICO_CURSO),
2565
    CONSTRAINT FK_ANALISE_OFERTA_COMPONENTE_CURRICULAR_02 FOREIGN KEY (ID_CURRICULO_COMPONENTE) REFERENCES GRADUACAO.CURRICULO_COMPONENTE (ID_CURRICULO_COMPONENTE),
2566
    CONSTRAINT FK_ANALISE_OFERTA_COMPONENTE_CURRICULAR_03 FOREIGN KEY (ID_REGISTRO_ENTRADA) REFERENCES COMUM.REGISTRO_ENTRADA(ID_ENTRADA)
2567
);
2568

    
2569
ALTER TABLE
2570
    GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR OWNER TO sigaa_group;
2571

    
2572
GRANT ALL ON TABLE GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR TO sigaa_group;
2573

    
2574
GRANT
2575
SELECT
2576
    ON TABLE GRADUACAO.ANALISE_OFERTA_COMPONENTE_CURRICULAR TO readonly_group;
2577

    
2578
-- ##################################	 V4_03_00_0008
2579
--DROP TABLE graduacao.observacao_projeto_pedagogico_curso;
2580
CREATE TABLE IF NOT EXISTS graduacao.observacao_projeto_pedagogico_curso (
2581
    id_observacao_projeto_pedagogico_curso int4 NOT NULL,
2582
    id_projeto_pedagogico_curso int4 NOT NULL,
2583
    id_usuario int4 NOT NULL,
2584
    data_cadastro date NOT NULL,
2585
    campo int4 NOT NULL,
2586
    descricao TEXT NOT NULL,
2587
    ativo bool NOT NULL,
2588
    CONSTRAINT id_observacao_projeto_pedagogico_curso_pkey PRIMARY KEY (id_observacao_projeto_pedagogico_curso),
2589
    CONSTRAINT id_usuario_fk FOREIGN KEY (id_usuario) REFERENCES comum.usuario(id_usuario),
2590
    CONSTRAINT id_componente_curricular_fk FOREIGN KEY (id_projeto_pedagogico_curso) REFERENCES graduacao.projeto_pedagogico_curso(id_projeto_pedagogico_curso)
2591
);
2592

    
2593
ALTER TABLE
2594
    graduacao.observacao_projeto_pedagogico_curso OWNER TO sigaa_group;
2595

    
2596
COMMENT ON TABLE graduacao.observacao_projeto_pedagogico_curso IS 'Entidade que representa os dados de uma observa??o cadastrada para um projeto pedag?gico de curso.';
2597

    
2598
COMMENT ON COLUMN graduacao.observacao_projeto_pedagogico_curso.id_observacao_projeto_pedagogico_curso IS 'Representa o identificador da observa??o.';
2599

    
2600
COMMENT ON COLUMN graduacao.observacao_projeto_pedagogico_curso.id_projeto_pedagogico_curso IS 'Representa o PCC que a observa??o est? associada.';
2601

    
2602
COMMENT ON COLUMN graduacao.observacao_projeto_pedagogico_curso.id_usuario IS 'Representa o usu?rio que cadastrou a observa??o.';
2603

    
2604
COMMENT ON COLUMN graduacao.observacao_projeto_pedagogico_curso.data_cadastro IS 'Representa a data de cadastro da observa??o.';
2605

    
2606
COMMENT ON COLUMN graduacao.observacao_projeto_pedagogico_curso.campo IS 'Representa o campo que a observa??o pertence.';
2607

    
2608
COMMENT ON COLUMN graduacao.observacao_projeto_pedagogico_curso.descricao IS 'Representa o conte?do da observa??o.';
2609

    
2610
COMMENT ON COLUMN graduacao.observacao_projeto_pedagogico_curso.ativo IS 'Indica se a observa??o est? ativa.';
2611

    
2612
--DROP SEQUENCE graduacao.observacao_projeto_pedagogico_curso_seq;
2613
CREATE SEQUENCE IF NOT EXISTS graduacao.observacao_projeto_pedagogico_curso_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1;
2614

    
2615
ALTER SEQUENCE graduacao.observacao_projeto_pedagogico_curso_seq OWNER TO sigaa_group;
2616

    
2617
-- ##################################	 V4_03_00_0009
2618
ALTER TABLE
2619
    graduacao.projeto_pedagogico_curso
2620
ADD
2621
    COLUMN justificativa_componentes_curriculares TEXT NULL;
2622

    
2623
ALTER TABLE
2624
    graduacao.curriculo_projeto_pedagogico_curso DROP COLUMN justificativa_componentes_curriculares;
2625

    
2626
-- ##################################	 V4_03_00_0010
2627
-- Sequence: graduacao.membro_assessoria_suporte_ppc_seq
2628
CREATE SEQUENCE graduacao.membro_assessoria_suporte_ppc_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 NO CYCLE;
2629

    
2630
ALTER SEQUENCE graduacao.membro_assessoria_suporte_ppc_seq OWNER TO sigaa_group;
2631

    
2632
GRANT ALL ON SEQUENCE graduacao.membro_assessoria_suporte_ppc_seq TO sigaa_group;
2633

    
2634
GRANT
2635
SELECT
2636
    ON SEQUENCE graduacao.membro_assessoria_suporte_ppc_seq TO readonly_group;
2637

    
2638
/*==============================================================*/
2639
/* Table: graduacao.membro_assessoria_suporte_ppc      			*/
2640
/*==============================================================*/
2641
CREATE TABLE graduacao.membro_assessoria_suporte_ppc (
2642
    id_membro_assessoria_suporte_ppc integer NOT NULL,
2643
    id_servidor integer NOT NULL,
2644
    grupo integer NOT NULL,
2645
    vigencia_inicial date NOT NULL,
2646
    vigencia_final date NULL,
2647
    ativo boolean NOT NULL default true,
2648
    CONSTRAINT membro_assessoria_suporte_ppc_pkey PRIMARY KEY (id_membro_assessoria_suporte_ppc),
2649
    CONSTRAINT fk_membro_assessoria_suporte_ppc_01 FOREIGN KEY (id_servidor) REFERENCES rh.servidor(id_servidor)
2650
);
2651

    
2652
ALTER TABLE
2653
    graduacao.membro_assessoria_suporte_ppc OWNER TO sigaa_group;
2654

    
2655
GRANT ALL ON TABLE graduacao.membro_assessoria_suporte_ppc TO sigaa_group;
2656

    
2657
GRANT
2658
SELECT
2659
    ON TABLE graduacao.membro_assessoria_suporte_ppc TO readonly_group;
2660

    
2661
-- ##################################	 V4_03_00_0011
2662
ALTER TABLE
2663
    graduacao.projeto_pedagogico_curso
2664
ADD
2665
    COLUMN titulo_item_avulso TEXT;
2666

    
2667
ALTER TABLE
2668
    graduacao.projeto_pedagogico_curso
2669
ADD
2670
    COLUMN descricao_item_avulso TEXT;
2671

    
2672
-- ##################################	 V4_03_00_0012
2673
-- graduacao.parecer_projeto_pedagogico_curso definition
2674
-- Drop table
2675
-- DROP TABLE graduacao.parecer_projeto_pedagogico_curso;
2676
CREATE TABLE graduacao.parecer_projeto_pedagogico_curso (
2677
    id_parecer_projeto_pedagogico_curso int4 NOT NULL,
2678
    conteudo text NULL,
2679
    data_cadastro date NOT NULL,
2680
    id_usuario int4 NOT NULL,
2681
    id_projeto_pedagogico_curso int4 NOT NULL,
2682
    id_arquivo int4 NULL,
2683
    CONSTRAINT id_parecer_projeto_pedagogico_curso_pkey PRIMARY KEY (id_parecer_projeto_pedagogico_curso)
2684
);
2685

    
2686
-- graduacao.parecer_projeto_pedagogico_curso foreign keys
2687
ALTER TABLE
2688
    graduacao.parecer_projeto_pedagogico_curso
2689
ADD
2690
    CONSTRAINT id_componente_curricular_fk FOREIGN KEY (id_projeto_pedagogico_curso) REFERENCES graduacao.projeto_pedagogico_curso(id_projeto_pedagogico_curso);
2691

    
2692
ALTER TABLE
2693
    graduacao.parecer_projeto_pedagogico_curso
2694
ADD
2695
    CONSTRAINT id_usuario_fk FOREIGN KEY (id_usuario) REFERENCES comum.usuario(id_usuario);
2696

    
2697
-- graduacao.parecer_projeto_pedagogico_curso_seq definition
2698
-- DROP SEQUENCE graduacao.parecer_projeto_pedagogico_curso_seq;
2699
CREATE SEQUENCE graduacao.parecer_projeto_pedagogico_curso_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 NO CYCLE;
2700

    
2701
-- ##################################	 V4_03_00_0013
2702
ALTER TABLE
2703
    ensino.componente_curricular_detalhes
2704
ADD
2705
    COLUMN nova_expressao_equivalencia VARCHAR(5000);
2706

    
2707
-- ##################################	 V4_03_00_0014
2708
ALTER TABLE
2709
    graduacao.parecer_projeto_pedagogico_curso
2710
ADD
2711
    COLUMN fluxo_cadastro_parecer_projeto_pedagogico_curso varchar(50) NOT NULL;
2712

    
2713
-- ##################################	 V4_03_00_0015
2714
CREATE TABLE IF NOT EXISTS graduacao.caracterizacao_geral_curso(
2715
    id_caracterizacao_geral_curso int4 NOT NULL,
2716
    numero_portaria_criacao int4,
2717
    ano_portaria_criacao int4,
2718
    numero_portaria_autorizacao int4,
2719
    ano_portaria_autorizacao int4,
2720
    numero_portaria_renovacao int4,
2721
    ano_portaria_renovacao int4,
2722
    numero_vagas_anuais_autorizadas int4,
2723
    ch_total int4,
2724
    tempo_integralizacao_medio int4,
2725
    tempo_integralizacao_maximo int4,
2726
    observacao_integralizacao TEXT,
2727
    CONSTRAINT caracterizacao_geral_curso_pkey PRIMARY KEY (id_caracterizacao_geral_curso)
2728
);
2729

    
2730
ALTER TABLE
2731
    graduacao.caracterizacao_geral_curso OWNER TO sigaa_group;
2732

    
2733
CREATE SEQUENCE IF NOT EXISTS graduacao.caracterizacao_geral_curso_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 NO CYCLE;
2734

    
2735
CREATE TABLE IF NOT EXISTS graduacao.forma_ingresso_caracterizacao_geral_curso(
2736
    id_forma_ingresso int4,
2737
    id_caracterizacao_geral_curso int4
2738
);
2739

    
2740
ALTER TABLE
2741
    graduacao.forma_ingresso_caracterizacao_geral_curso
2742
ADD
2743
    CONSTRAINT forma_ingresso_fk FOREIGN KEY (id_forma_ingresso) REFERENCES ensino.forma_ingresso(id_forma_ingresso);
2744

    
2745
ALTER TABLE
2746
    graduacao.forma_ingresso_caracterizacao_geral_curso
2747
ADD
2748
    CONSTRAINT caracterizacao_geral_curso_fk FOREIGN KEY (id_caracterizacao_geral_curso) REFERENCES graduacao.caracterizacao_geral_curso(id_caracterizacao_geral_curso);
2749

    
2750
ALTER TABLE
2751
    graduacao.projeto_pedagogico_curso
2752
ADD
2753
    COLUMN IF NOT EXISTS id_caracterizacao_geral_curso int4;
2754

    
2755
ALTER TABLE
2756
    graduacao.projeto_pedagogico_curso
2757
ADD
2758
    CONSTRAINT caracterizacao_geral_curso_fk FOREIGN KEY (id_caracterizacao_geral_curso) REFERENCES graduacao.caracterizacao_geral_curso (id_caracterizacao_geral_curso);
2759

    
2760
-- ##################################	 V4_03_00_0016
2761
ALTER TABLE
2762
    graduacao.caracterizacao_geral_curso DROP COLUMN IF EXISTS observacao_integralizacao;
2763

    
2764
-- ##################################	 V4_03_00_0017
2765
ALTER TABLE
2766
    graduacao.projeto_pedagogico_curso
2767
ADD
2768
    COLUMN conteudos_legalmente_obrigatorios TEXT NULL;
2769

    
2770
-- ##################################	 V4_03_00_0018
2771
CREATE TABLE IF NOT EXISTS graduacao.equivalencia_componente_curricular_ppc(
2772
    id_equivalencia_componente_curricular_ppc int4 NOT NULL,
2773
    id_componente_curricular int4 NOT NULL,
2774
    id_curriculo_projeto_pedagogico_curso int4 NOT NULL,
2775
    expressao_antiga varchar(255),
2776
    expressao_nova varchar(255) NOT NULL,
2777
    CONSTRAINT equivalencia_componente_curricular_ppc_pkey PRIMARY KEY (id_equivalencia_componente_curricular_ppc)
2778
);
2779

    
2780
ALTER TABLE
2781
    graduacao.equivalencia_componente_curricular_ppc
2782
ADD
2783
    CONSTRAINT componente_curricular_fk FOREIGN KEY (id_componente_curricular) REFERENCES ensino.componente_curricular(id_disciplina);
2784

    
2785
ALTER TABLE
2786
    graduacao.equivalencia_componente_curricular_ppc
2787
ADD
2788
    CONSTRAINT curriculo_projeto_pedagogico_curso_fk FOREIGN KEY (id_curriculo_projeto_pedagogico_curso) REFERENCES graduacao.curriculo_projeto_pedagogico_curso(id_curriculo_projeto_pedagogico_curso);
2789

    
2790
ALTER TABLE
2791
    graduacao.equivalencia_componente_curricular_ppc OWNER TO sigaa_group;
2792

    
2793
CREATE SEQUENCE IF NOT EXISTS graduacao.equivalencia_componente_curricular_ppc_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1 NO CYCLE;
2794

    
2795
-- ##################################	 V4_03_00_0019
2796
ALTER TABLE
2797
    graduacao.curriculo_projeto_pedagogico_curso
2798
ADD
2799
    COLUMN data_cadastro timestamp;
2800

    
2801
ALTER TABLE
2802
    graduacao.observacao_projeto_pedagogico_curso
2803
ALTER COLUMN
2804
    data_cadastro TYPE timestamp;
2805

    
2806
-- ##################################	 V4_03_01_0000
2807
UPDATE
2808
    rid.item_relatorio_carga_horaria_docente
2809
SET
2810
    descricao = 'Diretor ou Coordenador de inst?ncias administrativas da UFRN (Administra??o Superior ou Funda??o Vinculada da UFRN, ex. DAS, DACA)'
2811
WHERE
2812
    id_item = 34;
2813

    
2814
-- ############ V4_04_00_0000
2815
ALTER TABLE
2816
    vestibular.processo_seletivo
2817
ADD
2818
    COLUMN IF NOT EXISTS cadastro_discente_sem_documentacao_banca_bloqueado boolean NOT NULL DEFAULT true;
2819

    
2820
-- ############ V4_04_00_0001
2821
begin;
2822

    
2823
alter table
2824
    vestibular.processo_seletivo
2825
add
2826
    column IF NOT EXISTS id_unidade integer default null;
2827

    
2828
alter table
2829
    vestibular.processo_seletivo
2830
add
2831
    constraint id_unidade_fk foreign key (id_unidade) references comum.unidade(id_unidade);
2832

    
2833
commit;
2834

    
2835
-- ############ V4_04_00_0002
2836
begin;
2837

    
2838
-- Alterando "processo_seletivo.usuario_adm_processo_seletivo" para"processo_seletivo.usuario_membro_processo_seletivo" 
2839
alter sequence processo_seletivo.usuario_adm_processo_seletivo_seq rename to usuario_membro_processo_seletivo_seq;
2840

    
2841
alter table
2842
    processo_seletivo.usuario_adm_processo_seletivo rename column id_usuario_adm_processo_seletivo to id_usuario_membro_processo_seletivo;
2843

    
2844
alter table
2845
    processo_seletivo.usuario_adm_processo_seletivo rename column id_validade_usuario_adm_processo_seletivo to id_validade_usuario_membro_processo_seletivo;
2846

    
2847
alter table
2848
    processo_seletivo.usuario_adm_processo_seletivo rename constraint id_usuario_adm_processo_seletivo_pkey to id_usuario_membro_processo_seletivo_pkey;
2849

    
2850
alter table
2851
    processo_seletivo.usuario_adm_processo_seletivo rename constraint id_validade_usuario_adm_processo_seletivo_fkey to id_validade_usuario_membro_processo_seletivo_fkey;
2852

    
2853
alter table
2854
    processo_seletivo.usuario_adm_processo_seletivo rename to usuario_membro_processo_seletivo;
2855

    
2856
-- Alterando "processo_seletivo.validade_usuario_adm_processo_seletivo" para "processo_seletivo.validade_usuario_membro_processo_seletivo" 
2857
alter sequence processo_seletivo.validade_usuario_adm_processo_seletivo_seq rename to validade_usuario_membro_processo_seletivo_seq;
2858

    
2859
alter table
2860
    processo_seletivo.validade_usuario_adm_processo_seletivo rename column id_validade_usuario_adm_processo_seletivo to id_validade_usuario_membro_processo_seletivo;
2861

    
2862
alter table
2863
    processo_seletivo.validade_usuario_adm_processo_seletivo rename column id_usuario_adm_processo_seletivo to id_usuario_membro_processo_seletivo;
2864

    
2865
alter table
2866
    processo_seletivo.validade_usuario_adm_processo_seletivo rename constraint historico_parecer_banca_pkey to id_validade_usuario_membro_processo_seletivo_pkey;
2867

    
2868
alter table
2869
    processo_seletivo.validade_usuario_adm_processo_seletivo rename constraint id_usuario_adm_processo_seletivo_fkey to id_usuario_membro_processo_seletivo_fkey;
2870

    
2871
alter table
2872
    processo_seletivo.validade_usuario_adm_processo_seletivo rename to validade_usuario_membro_processo_seletivo;
2873

    
2874
commit;
2875

    
2876
-- ############ V4_04_00_0003
2877
CREATE TABLE IF NOT EXISTS tecnico.oferta_vagas_curso_tecnico (
2878
    id_oferta_vagas_curso_tecnico integer,
2879
    ano integer NOT NULL,
2880
    periodo integer,
2881
    total_vagas integer NOT NULL,
2882
    total_vagas_ociosas integer NOT NULL,
2883
    id_turma_entrada integer NOT NULL,
2884
    id_forma_ingresso integer NOT NULL,
2885
    CONSTRAINT oferta_vagas_curso_tecnico_pkey PRIMARY KEY (id_oferta_vagas_curso_tecnico),
2886
    CONSTRAINT oferta_vaga_id_turma_entrada_fkey FOREIGN KEY (id_turma_entrada) REFERENCES tecnico.turma_entrada_tecnico (id_turma_entrada) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID,
2887
    CONSTRAINT oferta_vaga_id_forma_ingresso_fkey FOREIGN KEY (id_forma_ingresso) REFERENCES ensino.forma_ingresso (id_forma_ingresso) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION
2888
);
2889

    
2890
ALTER TABLE
2891
    tecnico.oferta_vagas_curso_tecnico OWNER to sigaa;
2892

    
2893
GRANT ALL ON TABLE tecnico.oferta_vagas_curso_tecnico TO sigaa;
2894

    
2895
GRANT
2896
SELECT
2897
    ON TABLE tecnico.oferta_vagas_curso_tecnico TO readonly_group;
2898

    
2899
CREATE SEQUENCE IF NOT EXISTS tecnico.oferta_vagas_curso_seq;
2900

    
2901
ALTER SEQUENCE tecnico.oferta_vagas_curso_seq OWNER TO sigaa;
2902

    
2903
GRANT ALL ON SEQUENCE tecnico.oferta_vagas_curso_seq TO sigaa;
2904

    
2905
GRANT
2906
SELECT
2907
    ON SEQUENCE tecnico.oferta_vagas_curso_seq TO readonly_group;
2908

    
2909
CREATE TABLE IF NOT EXISTS tecnico.cota_oferta_vaga_curso_tecnico (
2910
    id_cota_oferta_vaga_curso_tecnico integer,
2911
    total_vagas integer NOT NULL,
2912
    total_vagas_ociosas integer NOT NULL,
2913
    id_oferta_vagas_curso_tecnico integer NOT NULL,
2914
    id_grupo_cota_vaga_curso integer NOT NULL,
2915
    CONSTRAINT id_cota_oferta_vaga_curso_tecnico_pkey PRIMARY KEY (id_cota_oferta_vaga_curso_tecnico),
2916
    CONSTRAINT cota_id_oferta_vagas_curso_tecnico_pkey FOREIGN KEY (id_oferta_vagas_curso_tecnico) REFERENCES tecnico.oferta_vagas_curso_tecnico (id_oferta_vagas_curso_tecnico) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID,
2917
    CONSTRAINT cota_id_grupo_cota_vaga_curso_pkey FOREIGN KEY (id_grupo_cota_vaga_curso) REFERENCES ensino.grupo_cota_vaga_curso (id_grupo_cota_vaga_curso) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID
2918
);
2919

    
2920
ALTER TABLE
2921
    tecnico.cota_oferta_vaga_curso_tecnico OWNER to sigaa;
2922

    
2923
GRANT ALL ON TABLE tecnico.cota_oferta_vaga_curso_tecnico TO sigaa;
2924

    
2925
GRANT
2926
SELECT
2927
    ON TABLE tecnico.cota_oferta_vaga_curso_tecnico TO readonly_group;
2928

    
2929
CREATE SEQUENCE IF NOT EXISTS tecnico.cota_oferta_vaga_curso_tecnico_seq;
2930

    
2931
ALTER SEQUENCE tecnico.cota_oferta_vaga_curso_tecnico_seq OWNER TO sigaa;
2932

    
2933
GRANT ALL ON SEQUENCE tecnico.cota_oferta_vaga_curso_tecnico_seq TO sigaa;
2934

    
2935
GRANT
2936
SELECT
2937
    ON SEQUENCE tecnico.cota_oferta_vaga_curso_tecnico_seq TO readonly_group;
2938

    
2939
-- ############ V4_04_00_0004
2940
-- Ordem para G1 
2941
INSERT INTO
2942
    ensino.ordem_chamada_cotas_remanescentes (
2943
        id_grupo_cota_vaga_curso,
2944
        id_grupo_cota_rechamada,
2945
        ordem
2946
    )
2947
VALUES
2948
    (11, 12, 1);
2949

    
2950
INSERT INTO
2951
    ensino.ordem_chamada_cotas_remanescentes (
2952
        id_grupo_cota_vaga_curso,
2953
        id_grupo_cota_rechamada,
2954
        ordem
2955
    )
2956
VALUES
2957
    (11, 13, 2);
2958

    
2959
INSERT INTO
2960
    ensino.ordem_chamada_cotas_remanescentes (
2961
        id_grupo_cota_vaga_curso,
2962
        id_grupo_cota_rechamada,
2963
        ordem
2964
    )
2965
VALUES
2966
    (11, 14, 3);
2967

    
2968
INSERT INTO
2969
    ensino.ordem_chamada_cotas_remanescentes (
2970
        id_grupo_cota_vaga_curso,
2971
        id_grupo_cota_rechamada,
2972
        ordem
2973
    )
2974
VALUES
2975
    (11, 15, 4);
2976

    
2977
INSERT INTO
2978
    ensino.ordem_chamada_cotas_remanescentes (
2979
        id_grupo_cota_vaga_curso,
2980
        id_grupo_cota_rechamada,
2981
        ordem
2982
    )
2983
VALUES
2984
    (11, 16, 5);
2985

    
2986
INSERT INTO
2987
    ensino.ordem_chamada_cotas_remanescentes (
2988
        id_grupo_cota_vaga_curso,
2989
        id_grupo_cota_rechamada,
2990
        ordem
2991
    )
2992
VALUES
2993
    (11, 17, 6);
2994

    
2995
INSERT INTO
2996
    ensino.ordem_chamada_cotas_remanescentes (
2997
        id_grupo_cota_vaga_curso,
2998
        id_grupo_cota_rechamada,
2999
        ordem
3000
    )
3001
VALUES
3002
    (11, 18, 7);
3003

    
3004
INSERT INTO
3005
    ensino.ordem_chamada_cotas_remanescentes (
3006
        id_grupo_cota_vaga_curso,
3007
        id_grupo_cota_rechamada,
3008
        ordem
3009
    )
3010
VALUES
3011
    (11, 19, 8);
3012

    
3013
-- Ordem para G2 
3014
INSERT INTO
3015
    ensino.ordem_chamada_cotas_remanescentes (
3016
        id_grupo_cota_vaga_curso,
3017
        id_grupo_cota_rechamada,
3018
        ordem
3019
    )
3020
VALUES
3021
    (12, 11, 1);
3022

    
3023
INSERT INTO
3024
    ensino.ordem_chamada_cotas_remanescentes (
3025
        id_grupo_cota_vaga_curso,
3026
        id_grupo_cota_rechamada,
3027
        ordem
3028
    )
3029
VALUES
3030
    (12, 13, 2);
3031

    
3032
INSERT INTO
3033
    ensino.ordem_chamada_cotas_remanescentes (
3034
        id_grupo_cota_vaga_curso,
3035
        id_grupo_cota_rechamada,
3036
        ordem
3037
    )
3038
VALUES
3039
    (12, 14, 3);
3040

    
3041
INSERT INTO
3042
    ensino.ordem_chamada_cotas_remanescentes (
3043
        id_grupo_cota_vaga_curso,
3044
        id_grupo_cota_rechamada,
3045
        ordem
3046
    )
3047
VALUES
3048
    (12, 15, 4);
3049

    
3050
INSERT INTO
3051
    ensino.ordem_chamada_cotas_remanescentes (
3052
        id_grupo_cota_vaga_curso,
3053
        id_grupo_cota_rechamada,
3054
        ordem
3055
    )
3056
VALUES
3057
    (12, 16, 5);
3058

    
3059
INSERT INTO
3060
    ensino.ordem_chamada_cotas_remanescentes (
3061
        id_grupo_cota_vaga_curso,
3062
        id_grupo_cota_rechamada,
3063
        ordem
3064
    )
3065
VALUES
3066
    (12, 17, 6);
3067

    
3068
INSERT INTO
3069
    ensino.ordem_chamada_cotas_remanescentes (
3070
        id_grupo_cota_vaga_curso,
3071
        id_grupo_cota_rechamada,
3072
        ordem
3073
    )
3074
VALUES
3075
    (12, 18, 7);
3076

    
3077
INSERT INTO
3078
    ensino.ordem_chamada_cotas_remanescentes (
3079
        id_grupo_cota_vaga_curso,
3080
        id_grupo_cota_rechamada,
3081
        ordem
3082
    )
3083
VALUES
3084
    (12, 19, 8);
3085

    
3086
-- Ordem para G3 
3087
INSERT INTO
3088
    ensino.ordem_chamada_cotas_remanescentes (
3089
        id_grupo_cota_vaga_curso,
3090
        id_grupo_cota_rechamada,
3091
        ordem
3092
    )
3093
VALUES
3094
    (13, 14, 1);
3095

    
3096
INSERT INTO
3097
    ensino.ordem_chamada_cotas_remanescentes (
3098
        id_grupo_cota_vaga_curso,
3099
        id_grupo_cota_rechamada,
3100
        ordem
3101
    )
3102
VALUES
3103
    (13, 11, 2);
3104

    
3105
INSERT INTO
3106
    ensino.ordem_chamada_cotas_remanescentes (
3107
        id_grupo_cota_vaga_curso,
3108
        id_grupo_cota_rechamada,
3109
        ordem
3110
    )
3111
VALUES
3112
    (13, 12, 3);
3113

    
3114
INSERT INTO
3115
    ensino.ordem_chamada_cotas_remanescentes (
3116
        id_grupo_cota_vaga_curso,
3117
        id_grupo_cota_rechamada,
3118
        ordem
3119
    )
3120
VALUES
3121
    (13, 15, 4);
3122

    
3123
INSERT INTO
3124
    ensino.ordem_chamada_cotas_remanescentes (
3125
        id_grupo_cota_vaga_curso,
3126
        id_grupo_cota_rechamada,
3127
        ordem
3128
    )
3129
VALUES
3130
    (13, 16, 5);
3131

    
3132
INSERT INTO
3133
    ensino.ordem_chamada_cotas_remanescentes (
3134
        id_grupo_cota_vaga_curso,
3135
        id_grupo_cota_rechamada,
3136
        ordem
3137
    )
3138
VALUES
3139
    (13, 17, 6);
3140

    
3141
INSERT INTO
3142
    ensino.ordem_chamada_cotas_remanescentes (
3143
        id_grupo_cota_vaga_curso,
3144
        id_grupo_cota_rechamada,
3145
        ordem
3146
    )
3147
VALUES
3148
    (13, 18, 7);
3149

    
3150
INSERT INTO
3151
    ensino.ordem_chamada_cotas_remanescentes (
3152
        id_grupo_cota_vaga_curso,
3153
        id_grupo_cota_rechamada,
3154
        ordem
3155
    )
3156
VALUES
3157
    (13, 19, 8);
3158

    
3159
-- Ordem para G4 
3160
INSERT INTO
3161
    ensino.ordem_chamada_cotas_remanescentes (
3162
        id_grupo_cota_vaga_curso,
3163
        id_grupo_cota_rechamada,
3164
        ordem
3165
    )
3166
VALUES
3167
    (14, 13, 1);
3168

    
3169
INSERT INTO
3170
    ensino.ordem_chamada_cotas_remanescentes (
3171
        id_grupo_cota_vaga_curso,
3172
        id_grupo_cota_rechamada,
3173
        ordem
3174
    )
3175
VALUES
3176
    (14, 11, 2);
3177

    
3178
INSERT INTO
3179
    ensino.ordem_chamada_cotas_remanescentes (
3180
        id_grupo_cota_vaga_curso,
3181
        id_grupo_cota_rechamada,
3182
        ordem
3183
    )
3184
VALUES
3185
    (14, 12, 3);
3186

    
3187
INSERT INTO
3188
    ensino.ordem_chamada_cotas_remanescentes (
3189
        id_grupo_cota_vaga_curso,
3190
        id_grupo_cota_rechamada,
3191
        ordem
3192
    )
3193
VALUES
3194
    (14, 15, 4);
3195

    
3196
INSERT INTO
3197
    ensino.ordem_chamada_cotas_remanescentes (
3198
        id_grupo_cota_vaga_curso,
3199
        id_grupo_cota_rechamada,
3200
        ordem
3201
    )
3202
VALUES
3203
    (14, 16, 5);
3204

    
3205
INSERT INTO
3206
    ensino.ordem_chamada_cotas_remanescentes (
3207
        id_grupo_cota_vaga_curso,
3208
        id_grupo_cota_rechamada,
3209
        ordem
3210
    )
3211
VALUES
3212
    (14, 17, 6);
3213

    
3214
INSERT INTO
3215
    ensino.ordem_chamada_cotas_remanescentes (
3216
        id_grupo_cota_vaga_curso,
3217
        id_grupo_cota_rechamada,
3218
        ordem
3219
    )
3220
VALUES
3221
    (14, 18, 7);
3222

    
3223
INSERT INTO
3224
    ensino.ordem_chamada_cotas_remanescentes (
3225
        id_grupo_cota_vaga_curso,
3226
        id_grupo_cota_rechamada,
3227
        ordem
3228
    )
3229
VALUES
3230
    (14, 19, 8);
3231

    
3232
-- Ordem para G5 
3233
INSERT INTO
3234
    ensino.ordem_chamada_cotas_remanescentes (
3235
        id_grupo_cota_vaga_curso,
3236
        id_grupo_cota_rechamada,
3237
        ordem
3238
    )
3239
VALUES
3240
    (15, 16, 1);
3241

    
3242
INSERT INTO
3243
    ensino.ordem_chamada_cotas_remanescentes (
3244
        id_grupo_cota_vaga_curso,
3245
        id_grupo_cota_rechamada,
3246
        ordem
3247
    )
3248
VALUES
3249
    (15, 11, 2);
3250

    
3251
INSERT INTO
3252
    ensino.ordem_chamada_cotas_remanescentes (
3253
        id_grupo_cota_vaga_curso,
3254
        id_grupo_cota_rechamada,
3255
        ordem
3256
    )
3257
VALUES
3258
    (15, 12, 3);
3259

    
3260
INSERT INTO
3261
    ensino.ordem_chamada_cotas_remanescentes (
3262
        id_grupo_cota_vaga_curso,
3263
        id_grupo_cota_rechamada,
3264
        ordem
3265
    )
3266
VALUES
3267
    (15, 13, 4);
3268

    
3269
INSERT INTO
3270
    ensino.ordem_chamada_cotas_remanescentes (
3271
        id_grupo_cota_vaga_curso,
3272
        id_grupo_cota_rechamada,
3273
        ordem
3274
    )
3275
VALUES
3276
    (15, 14, 5);
3277

    
3278
INSERT INTO
3279
    ensino.ordem_chamada_cotas_remanescentes (
3280
        id_grupo_cota_vaga_curso,
3281
        id_grupo_cota_rechamada,
3282
        ordem
3283
    )
3284
VALUES
3285
    (15, 17, 6);
3286

    
3287
INSERT INTO
3288
    ensino.ordem_chamada_cotas_remanescentes (
3289
        id_grupo_cota_vaga_curso,
3290
        id_grupo_cota_rechamada,
3291
        ordem
3292
    )
3293
VALUES
3294
    (15, 18, 7);
3295

    
3296
INSERT INTO
3297
    ensino.ordem_chamada_cotas_remanescentes (
3298
        id_grupo_cota_vaga_curso,
3299
        id_grupo_cota_rechamada,
3300
        ordem
3301
    )
3302
VALUES
3303
    (15, 19, 8);
3304

    
3305
-- Ordem para G6 
3306
INSERT INTO
3307
    ensino.ordem_chamada_cotas_remanescentes (
3308
        id_grupo_cota_vaga_curso,
3309
        id_grupo_cota_rechamada,
3310
        ordem
3311
    )
3312
VALUES
3313
    (16, 15, 1);
3314

    
3315
INSERT INTO
3316
    ensino.ordem_chamada_cotas_remanescentes (
3317
        id_grupo_cota_vaga_curso,
3318
        id_grupo_cota_rechamada,
3319
        ordem
3320
    )
3321
VALUES
3322
    (16, 11, 2);
3323

    
3324
INSERT INTO
3325
    ensino.ordem_chamada_cotas_remanescentes (
3326
        id_grupo_cota_vaga_curso,
3327
        id_grupo_cota_rechamada,
3328
        ordem
3329
    )
3330
VALUES
3331
    (16, 12, 3);
3332

    
3333
INSERT INTO
3334
    ensino.ordem_chamada_cotas_remanescentes (
3335
        id_grupo_cota_vaga_curso,
3336
        id_grupo_cota_rechamada,
3337
        ordem
3338
    )
3339
VALUES
3340
    (16, 13, 4);
3341

    
3342
INSERT INTO
3343
    ensino.ordem_chamada_cotas_remanescentes (
3344
        id_grupo_cota_vaga_curso,
3345
        id_grupo_cota_rechamada,
3346
        ordem
3347
    )
3348
VALUES
3349
    (16, 14, 5);
3350

    
3351
INSERT INTO
3352
    ensino.ordem_chamada_cotas_remanescentes (
3353
        id_grupo_cota_vaga_curso,
3354
        id_grupo_cota_rechamada,
3355
        ordem
3356
    )
3357
VALUES
3358
    (16, 17, 6);
3359

    
3360
INSERT INTO
3361
    ensino.ordem_chamada_cotas_remanescentes (
3362
        id_grupo_cota_vaga_curso,
3363
        id_grupo_cota_rechamada,
3364
        ordem
3365
    )
3366
VALUES
3367
    (16, 18, 7);
3368

    
3369
INSERT INTO
3370
    ensino.ordem_chamada_cotas_remanescentes (
3371
        id_grupo_cota_vaga_curso,
3372
        id_grupo_cota_rechamada,
3373
        ordem
3374
    )
3375
VALUES
3376
    (16, 19, 8);
3377

    
3378
-- Ordem para G7 
3379
INSERT INTO
3380
    ensino.ordem_chamada_cotas_remanescentes (
3381
        id_grupo_cota_vaga_curso,
3382
        id_grupo_cota_rechamada,
3383
        ordem
3384
    )
3385
VALUES
3386
    (17, 18, 1);
3387

    
3388
INSERT INTO
3389
    ensino.ordem_chamada_cotas_remanescentes (
3390
        id_grupo_cota_vaga_curso,
3391
        id_grupo_cota_rechamada,
3392
        ordem
3393
    )
3394
VALUES
3395
    (17, 11, 2);
3396

    
3397
INSERT INTO
3398
    ensino.ordem_chamada_cotas_remanescentes (
3399
        id_grupo_cota_vaga_curso,
3400
        id_grupo_cota_rechamada,
3401
        ordem
3402
    )
3403
VALUES
3404
    (17, 12, 3);
3405

    
3406
INSERT INTO
3407
    ensino.ordem_chamada_cotas_remanescentes (
3408
        id_grupo_cota_vaga_curso,
3409
        id_grupo_cota_rechamada,
3410
        ordem
3411
    )
3412
VALUES
3413
    (17, 13, 4);
3414

    
3415
INSERT INTO
3416
    ensino.ordem_chamada_cotas_remanescentes (
3417
        id_grupo_cota_vaga_curso,
3418
        id_grupo_cota_rechamada,
3419
        ordem
3420
    )
3421
VALUES
3422
    (17, 14, 5);
3423

    
3424
INSERT INTO
3425
    ensino.ordem_chamada_cotas_remanescentes (
3426
        id_grupo_cota_vaga_curso,
3427
        id_grupo_cota_rechamada,
3428
        ordem
3429
    )
3430
VALUES
3431
    (17, 15, 6);
3432

    
3433
INSERT INTO
3434
    ensino.ordem_chamada_cotas_remanescentes (
3435
        id_grupo_cota_vaga_curso,
3436
        id_grupo_cota_rechamada,
3437
        ordem
3438
    )
3439
VALUES
3440
    (17, 16, 7);
3441

    
3442
INSERT INTO
3443
    ensino.ordem_chamada_cotas_remanescentes (
3444
        id_grupo_cota_vaga_curso,
3445
        id_grupo_cota_rechamada,
3446
        ordem
3447
    )
3448
VALUES
3449
    (17, 19, 8);
3450

    
3451
-- Ordem para G8 
3452
INSERT INTO
3453
    ensino.ordem_chamada_cotas_remanescentes (
3454
        id_grupo_cota_vaga_curso,
3455
        id_grupo_cota_rechamada,
3456
        ordem
3457
    )
3458
VALUES
3459
    (18, 17, 1);
3460

    
3461
INSERT INTO
3462
    ensino.ordem_chamada_cotas_remanescentes (
3463
        id_grupo_cota_vaga_curso,
3464
        id_grupo_cota_rechamada,
3465
        ordem
3466
    )
3467
VALUES
3468
    (18, 11, 2);
3469

    
3470
INSERT INTO
3471
    ensino.ordem_chamada_cotas_remanescentes (
3472
        id_grupo_cota_vaga_curso,
3473
        id_grupo_cota_rechamada,
3474
        ordem
3475
    )
3476
VALUES
3477
    (18, 12, 3);
3478

    
3479
INSERT INTO
3480
    ensino.ordem_chamada_cotas_remanescentes (
3481
        id_grupo_cota_vaga_curso,
3482
        id_grupo_cota_rechamada,
3483
        ordem
3484
    )
3485
VALUES
3486
    (18, 13, 4);
3487

    
3488
INSERT INTO
3489
    ensino.ordem_chamada_cotas_remanescentes (
3490
        id_grupo_cota_vaga_curso,
3491
        id_grupo_cota_rechamada,
3492
        ordem
3493
    )
3494
VALUES
3495
    (18, 14, 5);
3496

    
3497
INSERT INTO
3498
    ensino.ordem_chamada_cotas_remanescentes (
3499
        id_grupo_cota_vaga_curso,
3500
        id_grupo_cota_rechamada,
3501
        ordem
3502
    )
3503
VALUES
3504
    (18, 15, 6);
3505

    
3506
INSERT INTO
3507
    ensino.ordem_chamada_cotas_remanescentes (
3508
        id_grupo_cota_vaga_curso,
3509
        id_grupo_cota_rechamada,
3510
        ordem
3511
    )
3512
VALUES
3513
    (18, 16, 7);
3514

    
3515
INSERT INTO
3516
    ensino.ordem_chamada_cotas_remanescentes (
3517
        id_grupo_cota_vaga_curso,
3518
        id_grupo_cota_rechamada,
3519
        ordem
3520
    )
3521
VALUES
3522
    (18, 19, 8);
3523

    
3524
-- Ordem para G0 
3525
INSERT INTO
3526
    ensino.ordem_chamada_cotas_remanescentes (
3527
        id_grupo_cota_vaga_curso,
3528
        id_grupo_cota_rechamada,
3529
        ordem
3530
    )
3531
VALUES
3532
    (19, 11, 1);
3533

    
3534
INSERT INTO
3535
    ensino.ordem_chamada_cotas_remanescentes (
3536
        id_grupo_cota_vaga_curso,
3537
        id_grupo_cota_rechamada,
3538
        ordem
3539
    )
3540
VALUES
3541
    (19, 12, 2);
3542

    
3543
INSERT INTO
3544
    ensino.ordem_chamada_cotas_remanescentes (
3545
        id_grupo_cota_vaga_curso,
3546
        id_grupo_cota_rechamada,
3547
        ordem
3548
    )
3549
VALUES
3550
    (19, 13, 3);
3551

    
3552
INSERT INTO
3553
    ensino.ordem_chamada_cotas_remanescentes (
3554
        id_grupo_cota_vaga_curso,
3555
        id_grupo_cota_rechamada,
3556
        ordem
3557
    )
3558
VALUES
3559
    (19, 14, 4);
3560

    
3561
INSERT INTO
3562
    ensino.ordem_chamada_cotas_remanescentes (
3563
        id_grupo_cota_vaga_curso,
3564
        id_grupo_cota_rechamada,
3565
        ordem
3566
    )
3567
VALUES
3568
    (19, 15, 5);
3569

    
3570
INSERT INTO
3571
    ensino.ordem_chamada_cotas_remanescentes (
3572
        id_grupo_cota_vaga_curso,
3573
        id_grupo_cota_rechamada,
3574
        ordem
3575
    )
3576
VALUES
3577
    (19, 16, 6);
3578

    
3579
INSERT INTO
3580
    ensino.ordem_chamada_cotas_remanescentes (
3581
        id_grupo_cota_vaga_curso,
3582
        id_grupo_cota_rechamada,
3583
        ordem
3584
    )
3585
VALUES
3586
    (19, 17, 7);
3587

    
3588
INSERT INTO
3589
    ensino.ordem_chamada_cotas_remanescentes (
3590
        id_grupo_cota_vaga_curso,
3591
        id_grupo_cota_rechamada,
3592
        ordem
3593
    )
3594
VALUES
3595
    (19, 18, 8);
3596

    
3597
-- ############ V4_04_00_0005
3598
ALTER TABLE
3599
    vestibular.processo_seletivo
3600
ADD
3601
    COLUMN IF NOT EXISTS cotista_submete_documentacao_ampla boolean NOT NULL DEFAULT false;
3602

    
3603
-- ############ V4_04_00_0006
3604
ALTER TABLE
3605
    biblioteca.solicitacao_agendamento
3606
ADD
3607
    COLUMN id_docente_externo int4;
3608

    
3609
ALTER TABLE
3610
    biblioteca.solicitacao_agendamento
3611
ADD
3612
    CONSTRAINT solicitacao_agendamento_docente_externo_fkey FOREIGN KEY (id_docente_externo) REFERENCES ensino.docente_externo (id_docente_externo);
3613

    
3614
ALTER TABLE
3615
    biblioteca.solicitacao_agendamento DROP CONSTRAINT discente_or_servidor_not_null;
3616

    
3617
ALTER TABLE
3618
    biblioteca.solicitacao_agendamento
3619
ADD
3620
    CONSTRAINT discente_or_servidor_or_docente_externo_not_null CHECK (
3621
        (id_discente IS NOT NULL)
3622
        OR (id_servidor IS NOT NULL)
3623
        OR (id_docente_externo IS NOT NULL)
3624
    );
3625

    
3626
-- ############ V4_04_02_0000
3627
ALTER TABLE
3628
    ensino.forma_ingresso
3629
ADD
3630
    COLUMN dados_discente_simplificado boolean DEFAULT FALSE;
3631

    
3632
UPDATE
3633
    ensino.forma_ingresso
3634
SET
3635
    dados_discente_simplificado = true
3636
WHERE
3637
    id_forma_ingresso = 146242722;
3638

    
3639
-- ############ V4_04_02_0001
3640
begin;
3641

    
3642
alter table
3643
    metropole_digital.dados_turma_imd
3644
add
3645
    column if not exists situacao_turma varchar(30);
3646

    
3647
alter table
3648
    metropole_digital.dados_turma_imd drop column if exists consolidado_parcialmente;
3649

    
3650
commit;
3651

    
3652
-- ############ V4_04_03_0000
3653
begin;
3654

    
3655
ALTER TABLE
3656
    ensino.turma
3657
ADD
3658
    COLUMN if not exists tipo_ambiente_virtual_utilizado int4;
3659

    
3660
commit;
3661

    
3662
-- ############ V4_05_03_0001
3663
CREATE TABLE if not exists diploma.registro_diploma_digital (
3664
    id_registro_diploma_digital integer NOT NULL,
3665
    data_registro date NOT null,
3666
    id_registro_diploma integer NOT NULL,
3667
    observacao varchar(255) NULL,
3668
    ativo bool not NULL,
3669
    tipo_documento int4 NULL,
3670
    "json" text NULL,
3671
    security_code varchar(255) NULL,
3672
    numero_documento varchar(255) NULL,
3673
    identificador_externo integer NULL,
3674
    status_documento int4 NULL,
3675
    CONSTRAINT registro_diploma_digital_pk PRIMARY KEY (id_registro_diploma_digital),
3676
    CONSTRAINT registro_diploma_digital_fk FOREIGN KEY (id_registro_diploma) REFERENCES diploma.registro_diploma(id_registro_diploma)
3677
);
3678

    
3679
ALTER TABLE
3680
    diploma.registro_diploma_digital OWNER TO sigaa_group;
3681

    
3682
GRANT ALL ON TABLE diploma.registro_diploma_digital TO sigaa_group;
3683

    
3684
GRANT
3685
SELECT
3686
    ON TABLE diploma.registro_diploma_digital TO readonly_group;
3687

    
3688
create sequence IF NOT EXISTS diploma.registro_diploma_digital_seq;
3689

    
3690
comment on sequence diploma.registro_diploma_digital_seq is 'sequencia exclusiva para registros de diplomas digitais emitidos pela instituicao';
3691

    
3692
alter sequence diploma.registro_diploma_digital_seq owner to sigaa_group;
3693

    
3694
-- ############ V4_05_04_0000
3695
CREATE TABLE IF NOT EXISTS comum.status_comprovante_vacinacao (
3696
    id_status_comprovante_vacinacao int4 NOT NULL,
3697
    denominacao varchar NOT NULL,
3698
    ativo boolean NOT NULL,
3699
    CONSTRAINT status_comprovante_vacinacao_pkey PRIMARY KEY (id_status_comprovante_vacinacao)
3700
);
3701

    
3702
ALTER TABLE
3703
    comum.status_comprovante_vacinacao OWNER to sigaa_group;
3704

    
3705
GRANT ALL ON TABLE comum.status_comprovante_vacinacao TO sigaa_group;
3706

    
3707
COMMENT ON TABLE comum.status_comprovante_vacinacao IS 'Tabela que mant?m as informa??es de tipos de vacina utilizadas no sistema.';
3708

    
3709
COMMENT ON COLUMN comum.status_comprovante_vacinacao.id_status_comprovante_vacinacao IS 'Chave prim?ria da tabela.';
3710

    
3711
COMMENT ON COLUMN comum.status_comprovante_vacinacao.denominacao IS 'Denomina??o do status de comprovante de vacina??o.';
3712

    
3713
COMMENT ON COLUMN comum.status_comprovante_vacinacao.ativo IS 'Define se o status de comprovante est? atualmente sendo utilizada no sistema.';
3714

    
3715
-- Cria??o da sequ?ncia    
3716
CREATE SEQUENCE IF NOT EXISTS comum.status_comprovante_vacinacao_seq INCREMENT 1 START 1;
3717

    
3718
ALTER SEQUENCE comum.status_comprovante_vacinacao_seq OWNER TO sigaa_group;
3719

    
3720
COMMENT ON SEQUENCE comum.status_comprovante_vacinacao_seq IS 'Sequence para a gera??o de sequ?ncias para a chave prim?ria da tabela  "comum.status_comprovante_vacinacao".';
3721

    
3722
INSERT INTO
3723
    comum.status_comprovante_vacinacao
3724
VALUES
3725
    (
3726
        nextval('comum.status_comprovante_vacinacao_seq'),
3727
        'AGUARDANDO AN?LISE',
3728
        true
3729
    ),
3730
    (
3731
        nextval('comum.status_comprovante_vacinacao_seq'),
3732
        'NEGADO',
3733
        true
3734
    ),
3735
    (
3736
        nextval('comum.status_comprovante_vacinacao_seq'),
3737
        'HOMOLOGADO',
3738
        true
3739
    ),
3740
    (
3741
        nextval('comum.status_comprovante_vacinacao_seq'),
3742
        'EXCLU?DO',
3743
        true
3744
    );
3745

    
3746
CREATE TABLE IF NOT EXISTS comum.tipo_vacina (
3747
    id_tipo_vacina int4 NOT NULL,
3748
    denominacao varchar NOT NULL,
3749
    numero_doses int4,
3750
    ativo boolean NOT NULL,
3751
    CONSTRAINT tipo_vacina_pkey PRIMARY KEY (id_tipo_vacina)
3752
);
3753

    
3754
ALTER TABLE
3755
    comum.tipo_vacina OWNER TO sigaa_group;
3756

    
3757
GRANT ALL ON TABLE comum.tipo_vacina TO sigaa_group;
3758

    
3759
COMMENT ON TABLE comum.tipo_vacina IS 'Tabela que mant?m as informa??es de tipos de vacina utilizadas no sistema.';
3760

    
3761
COMMENT ON COLUMN comum.tipo_vacina.id_tipo_vacina IS 'Chave prim?ria da tabela.';
3762

    
3763
COMMENT ON COLUMN comum.tipo_vacina.denominacao IS 'Denomina??o da vacina.';
3764

    
3765
COMMENT ON COLUMN comum.tipo_vacina.numero_doses IS 'N?mero m?ximo de doses da vacina, utilizado para sele??o do usu?rio.';
3766

    
3767
COMMENT ON COLUMN comum.tipo_vacina.ativo IS 'Define se a vacina esta atualmente sendo utilizada no sistema.';
3768

    
3769
-- Cria??o da sequ?ncia    
3770
CREATE SEQUENCE IF NOT EXISTS comum.tipo_vacina_seq INCREMENT 1 START 1;
3771

    
3772
ALTER SEQUENCE comum.tipo_vacina_seq OWNER TO sigaa_group;
3773

    
3774
COMMENT ON SEQUENCE comum.tipo_vacina_seq IS 'Sequence para a gera??o de sequ?ncias para a chave prim?ria da tabela  "comum.tipo_vacina".';
3775

    
3776
INSERT INTO
3777
    comum.tipo_vacina
3778
VALUES
3779
    (
3780
        nextval('comum.tipo_vacina_seq'),
3781
        'COVID-19',
3782
        3,
3783
        true
3784
    );
3785

    
3786
CREATE TABLE IF NOT EXISTS comum.situacao_vacinal (
3787
    id_situacao_vacinal int4 NOT NULL,
3788
    denominacao varchar NOT NULL,
3789
    ativo boolean NOT NULL,
3790
    CONSTRAINT situacao_vacinal_pkey PRIMARY KEY (id_situacao_vacinal)
3791
);
3792

    
3793
ALTER TABLE
3794
    comum.situacao_vacinal OWNER TO sigaa_group;
3795

    
3796
COMMENT ON TABLE comum.situacao_vacinal IS 'Tabela que mant?m as informa??es de tipos de situa??o vacinal utilizadas no sistema.';
3797

    
3798
COMMENT ON COLUMN comum.situacao_vacinal.id_situacao_vacinal IS 'Chave prim?ria da tabela.';
3799

    
3800
COMMENT ON COLUMN comum.situacao_vacinal.denominacao IS 'Denomina??o do tipo de situa??o vacinal.';
3801

    
3802
COMMENT ON COLUMN comum.situacao_vacinal.ativo IS 'Define se a situa??o est? atualmente sendo utilizada no sistema.';
3803

    
3804
-- Cria??o da sequ?ncia    
3805
CREATE SEQUENCE IF NOT EXISTS comum.situacao_vacinal_seq INCREMENT 1 START 1;
3806

    
3807
ALTER SEQUENCE comum.situacao_vacinal_seq OWNER TO sigaa_group;
3808

    
3809
COMMENT ON SEQUENCE comum.situacao_vacinal_seq IS 'Sequence para a gera??o de sequ?ncias para a chave prim?ria da tabela  "comum.situacao_vacinal".';
3810

    
3811
INSERT INTO
3812
    comum.situacao_vacinal
3813
VALUES
3814
    (
3815
        nextval('comum.situacao_vacinal_seq'),
3816
        'Vacinado (Importar do RN + Vacina)',
3817
        true
3818
    ),
3819
    (
3820
        nextval('comum.situacao_vacinal_seq'),
3821
        'Vacinado (Anexar comprovante)',
3822
        true
3823
    ),
3824
    (
3825
        nextval('comum.situacao_vacinal_seq'),
3826
        'n?o vacinado com justificativa m?dica ou t?cnica',
3827
        true
3828
    ),
3829
    (
3830
        nextval('comum.situacao_vacinal_seq'),
3831
        'n?o vacinado por op??o',
3832
        true
3833
    );
3834

    
3835
CREATE TABLE IF NOT EXISTS comum.comprovante_vacinacao (
3836
    id_comprovante_vacinacao int4 NOT NULL,
3837
    id_arquivo int4,
3838
    id_registro_entrada int4 NOT NULL,
3839
    id_status_comprovante_vacinacao int4 NOT NULL,
3840
    id_situacao_vacinal int4 NOT NULL,
3841
    id_tipo_vacina int4 NOT NULL,
3842
    id_pessoa int4 NOT NULL,
3843
    data_cadastro timestamp NOT NULL,
3844
    data_vacinacao date NULL,
3845
    dose int4 NULL,
3846
    justificativa TEXT NULL,
3847
    totalmente_vacinado boolean NOT NULL,
3848
    CONSTRAINT comprovante_vacinacao_pkey PRIMARY KEY (id_comprovante_vacinacao),
3849
    CONSTRAINT comprovante_vacinacao_id_registro_entrada_fkey FOREIGN KEY (id_registro_entrada) REFERENCES comum.registro_entrada (id_entrada) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID,
3850
    CONSTRAINT comprovante_vacinacao_id_status_comprovante_vacinacao_fkey FOREIGN KEY (id_status_comprovante_vacinacao) REFERENCES comum.status_comprovante_vacinacao (id_status_comprovante_vacinacao) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID,
3851
    CONSTRAINT comprovante_vacinacao_id_situacao_vacinal_fkey FOREIGN KEY (id_situacao_vacinal) REFERENCES comum.situacao_vacinal (id_situacao_vacinal) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID,
3852
    CONSTRAINT comprovante_vacinacao_id_tipo_vacina_fkey FOREIGN KEY (id_tipo_vacina) REFERENCES comum.tipo_vacina (id_tipo_vacina) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID,
3853
    CONSTRAINT comprovante_vacinacao_id_pessoa_fkey FOREIGN KEY (id_pessoa) REFERENCES comum.pessoa (id_pessoa) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID
3854
);
3855

    
3856
ALTER TABLE
3857
    comum.comprovante_vacinacao OWNER to sigaa_group;
3858

    
3859
GRANT ALL ON TABLE comum.comprovante_vacinacao TO sigaa_group;
3860

    
3861
COMMENT ON TABLE comum.comprovante_vacinacao IS 'Tabela que mant?m as informa??es de comprovante de vacina??o dos servidores.';
3862

    
3863
COMMENT ON COLUMN comum.comprovante_vacinacao.id_comprovante_vacinacao IS 'Chave prim?ria da tabela.';
3864

    
3865
COMMENT ON COLUMN comum.comprovante_vacinacao.id_situacao_vacinal IS 'Identificador da situa??o vacinal relacionada ao comprovante.';
3866

    
3867
COMMENT ON COLUMN comum.comprovante_vacinacao.justificativa IS 'Justificativa em texto para o comprovante.';
3868

    
3869
COMMENT ON COLUMN comum.comprovante_vacinacao.id_arquivo IS 'Identificador do arquivo utilizado como comprovante.';
3870

    
3871
COMMENT ON COLUMN comum.comprovante_vacinacao.id_registro_entrada IS 'Identificador do registro de entrada que cadastrou o comprovante.';
3872

    
3873
COMMENT ON COLUMN comum.comprovante_vacinacao.id_status_comprovante_vacinacao IS 'Identificador do status do comprovante.';
3874

    
3875
COMMENT ON COLUMN comum.comprovante_vacinacao.id_tipo_vacina IS 'Identificador da vacina relacionada ao comprovante.';
3876

    
3877
COMMENT ON COLUMN comum.comprovante_vacinacao.id_pessoa IS 'Identificador da pessoa relacionada ao comprovante.';
3878

    
3879
COMMENT ON COLUMN comum.comprovante_vacinacao.data_cadastro IS 'Data em que o comprovante foi cadastrado.';
3880

    
3881
COMMENT ON COLUMN comum.comprovante_vacinacao.data_vacinacao IS 'Data da vacina??o que o comprovante atesta.';
3882

    
3883
COMMENT ON COLUMN comum.comprovante_vacinacao.dose IS 'Dose da vacina mencionada no comprovante.';
3884

    
3885
COMMENT ON COLUMN comum.comprovante_vacinacao.totalmente_vacinado IS 'Indica se o comprovante atesta uma vacina??o completa.';
3886

    
3887
-- Cria??o da sequ?ncia    
3888
CREATE SEQUENCE IF NOT EXISTS comum.comprovante_vacinacao_seq INCREMENT 1 START 1;
3889

    
3890
ALTER SEQUENCE comum.comprovante_vacinacao_seq OWNER TO sigaa_group;
3891

    
3892
COMMENT ON SEQUENCE comum.comprovante_vacinacao_seq IS 'Sequence para a gera??o de sequ?ncias para a chave prim?ria da tabela  "comum.comprovante_vacinacao".';
3893

    
3894
CREATE TABLE IF NOT EXISTS comum.notificacao_vacina(
3895
    id_notificacao_vacina int4 NOT NULL,
3896
    id_pessoa int4 NOT NULL,
3897
    quantidade_ignorado int4,
3898
    data_cadastro timestamp NOT NULL,
3899
    data_atualizacao timestamp,
3900
    cadastrou_comprovante boolean NOT NULL DEFAULT FALSE,
3901
    CONSTRAINT notificao_vacina_pkey PRIMARY KEY (id_notificacao_vacina),
3902
    CONSTRAINT notificao_vacina_id_pessoa_fkey FOREIGN KEY (id_pessoa) REFERENCES comum.pessoa (id_pessoa) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION NOT VALID
3903
);
3904

    
3905
ALTER TABLE
3906
    comum.notificacao_vacina OWNER to sigaa_group;
3907

    
3908
GRANT ALL ON TABLE comum.notificacao_vacina TO sigaa_group;
3909

    
3910
COMMENT ON TABLE comum.notificacao_vacina IS 'Tabela que mant?m as informa??es das pessoas que ignoramram o aviso do passaporte vacinal.';
3911

    
3912
COMMENT ON COLUMN comum.notificacao_vacina.id_notificacao_vacina IS 'Chave prim?ria da tabela.';
3913

    
3914
COMMENT ON COLUMN comum.notificacao_vacina.id_pessoa IS 'Identificador da pessoa que ignorou a notifica??o do passaporte vacinal.';
3915

    
3916
COMMENT ON COLUMN comum.notificacao_vacina.quantidade_ignorado IS 'Quantidade de vezes que a notifica??o do passaporte vacinal foi ignorada.';
3917

    
3918
COMMENT ON COLUMN comum.notificacao_vacina.data_cadastro IS 'Data de cadastro.';
3919

    
3920
COMMENT ON COLUMN comum.notificacao_vacina.data_cadastro IS 'Data de atualiza??o.';
3921

    
3922
COMMENT ON COLUMN comum.notificacao_vacina.cadastrou_comprovante IS 'Indica se a pessoa cadastrou o comprovante de vacina??o ap?s ignorar a notifica??o do passaporte vacinal.';
3923

    
3924
CREATE SEQUENCE IF NOT EXISTS comum.notificacao_vacina_seq INCREMENT 1 START 1;
3925

    
3926
ALTER SEQUENCE comum.notificacao_vacina_seq OWNER TO sigaa_group;
3927

    
3928
-- ############ V4_05_04_0001
3929
ALTER TABLE
3930
    comum.comprovante_vacinacao
3931
ALTER COLUMN
3932
    totalmente_vacinado DROP NOT NULL;
3933

    
3934
ALTER TABLE
3935
    comum.comprovante_vacinacao
3936
ADD
3937
    COLUMN IF NOT EXISTS leu_termo_consentimento boolean DEFAULT FALSE;
3938

    
3939
ALTER TABLE
3940
    comum.comprovante_vacinacao
3941
ADD
3942
    COLUMN IF NOT EXISTS declara_dados_verdadeiros boolean DEFAULT FALSE;
3943

    
3944
UPDATE
3945
    comum.situacao_vacinal
3946
SET
3947
    denominacao = 'Vacinado Completo'
3948
WHERE
3949
    id_situacao_vacinal = 1;
3950

    
3951
UPDATE
3952
    comum.situacao_vacinal
3953
SET
3954
    denominacao = 'Vacinado Incompleto'
3955
WHERE
3956
    id_situacao_vacinal = 2;
3957

    
3958
-- ############ V4_05_04_0002
3959
ALTER TABLE
3960
    comum.situacao_vacinal
3961
ADD
3962
    COLUMN IF NOT EXISTS descricao VARCHAR;
3963

    
3964
UPDATE
3965
    comum.situacao_vacinal
3966
SET
3967
    denominacao = 'Vacinado (Importar do RN + Vacina)',
3968
    descricao = 'Autoriza??o de acesso pela UFRN aos dados vacinais constantes na plataforma RN+Vacina.'
3969
WHERE
3970
    id_situacao_vacinal = 1;
3971

    
3972
UPDATE
3973
    comum.situacao_vacinal
3974
SET
3975
    denominacao = 'Vacinado Completo (Comprovante)',
3976
    descricao = 'Totalmente vacinado sem o refor?o.'
3977
WHERE
3978
    id_situacao_vacinal = 2;
3979

    
3980
UPDATE
3981
    comum.situacao_vacinal
3982
SET
3983
    denominacao = 'Vacinado Incompleto (Comprovante)',
3984
    descricao = 'Vacinado com 1 dose (vacinas que n?o s?o dose ?nica).'
3985
WHERE
3986
    id_situacao_vacinal = 3;
3987

    
3988
UPDATE
3989
    comum.situacao_vacinal
3990
SET
3991
    denominacao = 'n?o vacinado com justificativa m?dica ou t?cnica',
3992
    descricao = 'Declara??o com a devida justificativa m?dica ou t?cnica, a qual ser? analisada pela Diretoria de Aten??o ? Sa?de do Servidor (DAS).'
3993
WHERE
3994
    id_situacao_vacinal = 4;
3995

    
3996
INSERT INTO
3997
    comum.situacao_vacinal
3998
VALUES
3999
    (
4000
        nextval('comum.situacao_vacinal_seq'),
4001
        'n?o vacinado por op??o',
4002
        TRUE,
4003
        'Registro de op??o pela n?o vacina??o contra a COVID-19.'
4004
    );
4005

    
4006
ALTER TABLE
4007
    comum.comprovante_vacinacao
4008
ADD
4009
    COLUMN IF NOT EXISTS limite_aplicacao DATE;
4010

    
4011
ALTER TABLE
4012
    comum.comprovante_vacinacao
4013
ADD
4014
    COLUMN IF NOT EXISTS data_esquema_completo DATE;
4015

    
4016
ALTER TABLE
4017
    comum.comprovante_vacinacao
4018
ALTER COLUMN
4019
    declara_dados_verdadeiros DROP DEFAULT;
4020

    
4021
-- ############ V4_05_04_0003
4022
UPDATE
4023
    comum.situacao_vacinal
4024
SET
4025
    denominacao = 'Totalmente vacinado com ou sem refor?o'
4026
WHERE
4027
    id_situacao_vacinal = 2;
(2-2/2)