Last active
August 29, 2015 14:23
-
-
Save lucassch/2085fd7124ecae1790af to your computer and use it in GitHub Desktop.
atualiza_migracoes_portabilis
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
echo -e "\n** Rodando migração mytdt/1_adiciona_campo_secao_em_area_conhecimento.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
ALTER TABLE modules.area_conhecimento ADD COLUMN secao character varying(50);" | |
echo -e "\n** Rodando migração 53_cria_campo_observacao_matricula.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c "ALTER TABLE pmieducar.matricula ADD COLUMN observacao character varying(300); | |
UPDATE pmieducar.matricula set observacao = 'Não Informado' where aprovado= 6;" | |
echo -e "\n** Rodando migração 54_retira_obrigatoriedade_de_campos_hora_em_escola_serie.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
ALTER TABLE pmieducar.escola_serie ALTER COLUMN hora_inicial drop not null; | |
ALTER TABLE pmieducar.escola_serie ALTER COLUMN hora_final drop not null; | |
ALTER TABLE pmieducar.escola_serie ALTER COLUMN hora_inicio_intervalo drop not null; | |
ALTER TABLE pmieducar.escola_serie ALTER COLUMN hora_fim_intervalo drop not null;" | |
echo -e "\n** Rodando migração 55_controle_de_empresas_transporte_escolar.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE SEQUENCE modules.empresa_transporte_escolar_seq | |
INCREMENT 1 | |
MINVALUE 1 | |
MAXVALUE 9223372036854775807 | |
START 1 | |
CACHE 1; | |
ALTER TABLE modules.empresa_transporte_escolar_seq | |
OWNER TO ieducar; | |
CREATE TABLE modules.empresa_transporte_escolar | |
( | |
cod_empresa_transporte_escolar integer NOT NULL DEFAULT nextval('modules.empresa_transporte_escolar_seq'::regclass), | |
ref_idpes integer NOT NULL, | |
ref_resp_idpes integer NOT NULL, | |
observacao character varying(255), | |
CONSTRAINT empresa_transporte_escolar_cod_empresa_transporte_escolar_pkey PRIMARY KEY (cod_empresa_transporte_escolar ), | |
CONSTRAINT empresa_transporte_escolar_ref_idpes_fkey FOREIGN KEY (ref_idpes) | |
REFERENCES cadastro.juridica (idpes) MATCH SIMPLE, | |
CONSTRAINT empresa_transporte_escolar_ref_resp_idpes_fkey FOREIGN KEY (ref_resp_idpes) | |
REFERENCES cadastro.fisica (idpes) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
); | |
CREATE SEQUENCE modules.motorista_seq | |
INCREMENT 1 | |
MINVALUE 1 | |
MAXVALUE 9223372036854775807 | |
START 1 | |
CACHE 1; | |
ALTER TABLE modules.motorista_seq | |
OWNER TO ieducar; | |
CREATE TABLE modules.motorista | |
( | |
cod_motorista integer NOT NULL DEFAULT nextval('modules.motorista_seq'::regclass), | |
ref_idpes integer NOT NULL, | |
cnh character varying(15) NOT NULL, | |
tipo_cnh character varying(2) NOT NULL, | |
dt_habilitacao date, | |
vencimento_cnh date, | |
ref_cod_empresa_transporte_escolar integer NOT NULL, | |
observacao character varying(255), | |
CONSTRAINT motorista_pkey PRIMARY KEY (cod_motorista), | |
CONSTRAINT motorista_ref_idpes_fkey FOREIGN KEY (ref_idpes) | |
REFERENCES cadastro.fisica (idpes) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT, | |
CONSTRAINT motorista_ref_cod_empresa_transporte_escolar_fkey FOREIGN KEY (ref_cod_empresa_transporte_escolar) | |
REFERENCES modules.empresa_transporte_escolar(cod_empresa_transporte_escolar) MATCH SIMPLE ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
); | |
CREATE SEQUENCE modules.tipo_veiculo_seq | |
INCREMENT 1 | |
MINVALUE 1 | |
MAXVALUE 9223372036854775807 | |
START 1 | |
CACHE 1; | |
ALTER TABLE modules.tipo_veiculo_seq | |
OWNER TO ieducar; | |
CREATE TABLE modules.tipo_veiculo | |
( | |
cod_tipo_veiculo integer NOT NULL DEFAULT nextval('modules.tipo_veiculo_seq'::regclass), | |
descricao character varying(60), | |
CONSTRAINT tipo_veiculo_pkey PRIMARY KEY (cod_tipo_veiculo) | |
) | |
WITH ( | |
OIDS=TRUE | |
); | |
CREATE SEQUENCE modules.veiculo_seq | |
INCREMENT 1 | |
MINVALUE 1 | |
MAXVALUE 9223372036854775807 | |
START 1 | |
CACHE 1; | |
ALTER TABLE modules.veiculo_seq | |
OWNER TO ieducar; | |
CREATE TABLE modules.veiculo | |
( | |
cod_veiculo integer NOT NULL DEFAULT nextval('modules.veiculo_seq'::regclass), | |
descricao character varying(255) NOT NULL, | |
placa character varying(10) NOT NULL, | |
renavam character varying(15) NOT NULL, | |
chassi character varying(30), | |
marca character varying(50), | |
ano_fabricacao integer, | |
ano_modelo integer, | |
passageiros integer NOT NULL, | |
malha char(1) NOT NULL, | |
ref_cod_tipo_veiculo integer NOT NULL, | |
exclusivo_transporte_escolar char(1) NOT NULL, | |
adaptado_necessidades_especiais char(1) NOT NULL, | |
ativo char(1), | |
descricao_inativo char(155), | |
ref_cod_empresa_transporte_escolar integer NOT NULL, | |
ref_cod_motorista integer NOT NULL, | |
observacao character varying(255), | |
CONSTRAINT veiculo_pkey PRIMARY KEY (cod_veiculo), | |
CONSTRAINT veiculo_ref_cod_empresa_transporte_escolar_fkey FOREIGN KEY (ref_cod_empresa_transporte_escolar) | |
REFERENCES modules.empresa_transporte_escolar(cod_empresa_transporte_escolar) MATCH SIMPLE, | |
CONSTRAINT veiculo_ref_cod_tipo_veiculo_fkey FOREIGN KEY (ref_cod_tipo_veiculo) | |
REFERENCES modules.tipo_veiculo(cod_tipo_veiculo) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (1,'Vans/Kombis'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (2,'Microônibus'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (3,'Ônibus'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (4,'Bicicleta'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (5,'Tração Animal'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (6,'Outro'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (7,'Capacidade de até 5 Alunos'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (8,'Capacidade entre 5 a 15 Alunos'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (9,'Capacidade entre 15 a 35 Alunos'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (10,'Capacidade acima de 35 Alunos'); | |
INSERT INTO modules.tipo_veiculo (cod_tipo_veiculo,descricao) values (11,'Trem/Metrô');" | |
echo -e "\n** Rodando migração 56_controle_das_rotas_transporte_escolar.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE SEQUENCE modules.rota_transporte_escolar_seq | |
INCREMENT 1 | |
MINVALUE 1 | |
MAXVALUE 9223372036854775807 | |
START 1 | |
CACHE 1; | |
ALTER TABLE modules.rota_transporte_escolar_seq | |
OWNER TO ieducar; | |
CREATE TABLE modules.rota_transporte_escolar | |
( | |
cod_rota_transporte_escolar integer NOT NULL DEFAULT nextval('modules.rota_transporte_escolar_seq'::regclass), | |
ref_idpes_destino integer NOT NULL, | |
descricao character varying(50) NOT NULL, | |
ano integer NOT NULL, | |
tipo_rota char(1) NOT NULL, | |
km_pav float, | |
km_npav float, | |
ref_cod_empresa_transporte_escolar integer, | |
tercerizado character(1) not null, | |
CONSTRAINT rota_transporte_escolar_cod_rota_transporte_escolar_pkey PRIMARY KEY (cod_rota_transporte_escolar ), | |
CONSTRAINT rota_transporte_escolar_ref_idpes_destino_fkey FOREIGN KEY (ref_idpes_destino) | |
REFERENCES cadastro.juridica (idpes) MATCH SIMPLE, | |
CONSTRAINT rota_transporte_escolar_ref_cod_empresa_transporte_escolar_fkey FOREIGN KEY (ref_cod_empresa_transporte_escolar) | |
REFERENCES modules.empresa_transporte_escolar (cod_empresa_transporte_escolar) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
); | |
CREATE SEQUENCE modules.itinerario_transporte_escolar_seq | |
INCREMENT 1 | |
MINVALUE 1 | |
MAXVALUE 9223372036854775807 | |
START 1 | |
CACHE 1; | |
ALTER TABLE modules.itinerario_transporte_escolar_seq | |
OWNER TO ieducar; | |
CREATE TABLE modules.itinerario_transporte_escolar | |
( | |
cod_itinerario_transporte_escolar integer NOT NULL DEFAULT nextval('modules.itinerario_transporte_escolar_seq'::regclass), | |
ref_cod_rota_transporte_escolar integer not null, | |
seq integer not null, | |
ref_cod_ponto_transporte_escolar integer not null, | |
ref_cod_veiculo integer, | |
hora time without time zone, | |
tipo character(1) not null, | |
CONSTRAINT itinerario_transporte_escolar_cod_itinerario_transporte_escolar_pkey PRIMARY KEY (cod_itinerario_transporte_escolar), | |
CONSTRAINT itinerario_transporte_escolar_ref_cod_rota_transporte_escolar_fkey FOREIGN KEY (ref_cod_rota_transporte_escolar) | |
REFERENCES modules.rota_transporte_escolar (cod_rota_transporte_escolar) MATCH SIMPLE, | |
CONSTRAINT ponto_transporte_escolar_ref_cod_veiculo_fkey FOREIGN KEY (ref_cod_veiculo) | |
REFERENCES modules.veiculo (cod_veiculo) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
); | |
CREATE SEQUENCE modules.ponto_transporte_escolar_seq | |
INCREMENT 1 | |
MINVALUE 1 | |
MAXVALUE 9223372036854775807 | |
START 1 | |
CACHE 1; | |
ALTER TABLE modules.ponto_transporte_escolar_seq | |
OWNER TO ieducar; | |
CREATE TABLE modules.ponto_transporte_escolar | |
( | |
cod_ponto_transporte_escolar integer NOT NULL DEFAULT nextval('modules.ponto_transporte_escolar_seq'::regclass), | |
descricao varchar(70) not null, | |
CONSTRAINT ponto_transporte_escolar_cod_ponto_transporte_escolar_pkey PRIMARY KEY (cod_ponto_transporte_escolar ) | |
) | |
WITH ( | |
OIDS=TRUE | |
); | |
CREATE SEQUENCE modules.pessoa_transporte_seq | |
INCREMENT 1 | |
MINVALUE 1 | |
MAXVALUE 9223372036854775807 | |
START 1 | |
CACHE 1; | |
ALTER TABLE modules.pessoa_transporte_seq | |
OWNER TO ieducar; | |
CREATE TABLE modules.pessoa_transporte | |
( | |
cod_pessoa_transporte integer NOT NULL DEFAULT nextval('modules.pessoa_transporte_seq'::regclass), | |
ref_idpes integer not null, | |
ref_cod_rota_transporte_escolar integer not null, | |
ref_cod_ponto_transporte_escolar integer, | |
ref_idpes_destino integer, | |
observacao varchar(255), | |
CONSTRAINT pessoa_transporte_cod_pessoa_transporte_pkey PRIMARY KEY (cod_pessoa_transporte ), | |
CONSTRAINT pessoa_transporte_ref_cod_rota_transporte_escolar_fkey FOREIGN KEY (ref_cod_rota_transporte_escolar) | |
REFERENCES modules.rota_transporte_escolar (cod_rota_transporte_escolar) MATCH SIMPLE, | |
CONSTRAINT pessoa_transporte_ref_cod_ponto_transporte_escolar_fkey FOREIGN KEY (ref_cod_ponto_transporte_escolar) | |
REFERENCES modules.ponto_transporte_escolar (cod_ponto_transporte_escolar) MATCH SIMPLE, | |
CONSTRAINT pessoa_transporte_ref_idpes_destino_fkey FOREIGN KEY (ref_idpes_destino) | |
REFERENCES cadastro.juridica (idpes) MATCH SIMPLE, | |
CONSTRAINT pessoa_transporte_ref_idpes_fkey FOREIGN KEY (ref_idpes) | |
REFERENCES cadastro.fisica (idpes) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
); | |
" | |
echo -e "\n** Rodando migração 57_menus_sql_modulo_transporte_escolar.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
INSERT INTO portal.menu_menu (cod_menu_menu, nm_menu) | |
VALUES (69,'Transporte Escolar'); | |
INSERT INTO portal.menu_submenu (cod_menu_submenu, ref_cod_menu_menu, cod_sistema, nm_submenu, arquivo, nivel) | |
VALUES (21234, 69, 2, 'Apresentação', 'transporte_index.php', '2'); | |
INSERT INTO pmicontrolesis.tutormenu (cod_tutormenu,nm_tutormenu) | |
VALUES (17,'Transporte Escolar'); | |
INSERT INTO pmicontrolesis.menu (cod_menu,tt_menu,ord_menu,alvo,suprime_menu,ref_cod_tutormenu,ref_cod_ico) | |
VALUES(20710,'Cadastros',1,'_self',1,17,1); | |
INSERT INTO pmicontrolesis.menu (cod_menu,tt_menu,ord_menu,alvo,suprime_menu,ref_cod_tutormenu,ref_cod_ico) | |
VALUES(20711,'Movimentação',2,'_self',1,17,1); | |
INSERT INTO pmicontrolesis.menu (cod_menu,tt_menu,ord_menu,alvo,suprime_menu,ref_cod_tutormenu,ref_cod_ico) | |
VALUES(20712,'Relatórios',3,'_self',1,17,1); | |
INSERT INTO portal.menu_submenu | |
VALUES (21235, 69, 2, 'Empresas', 'transporte_empresa_lst.php',null,3); | |
INSERT INTO portal.menu_submenu | |
VALUES (21236, 69, 2, 'Motoristas', 'transporte_motorista_lst.php',null,3); | |
INSERT INTO portal.menu_submenu | |
VALUES (21237, 69, 2, 'Veículos', 'transporte_veiculo_lst.php',null,3); | |
INSERT INTO portal.menu_submenu | |
VALUES (21238, 69, 2, 'Rotas', 'transporte_rota_lst.php',null,3); | |
INSERT INTO portal.menu_submenu | |
VALUES (21239, 69, 2, 'Pontos', 'transporte_ponto_lst.php',null,3); | |
INSERT INTO portal.menu_submenu | |
VALUES (21240, 69, 2, 'Usuários de Transporte', 'transporte_pessoa_lst.php',null,3); | |
INSERT INTO pmicontrolesis.menu | |
VALUES(21235,21235,20710,'Empresas',1,'transporte_empresa_lst.php','_self',1,17,192); | |
INSERT INTO pmicontrolesis.menu | |
VALUES(21236,21236,20710,'Motoristas',2,'transporte_motorista_lst.php','_self',1,17,192); | |
INSERT INTO pmicontrolesis.menu | |
VALUES(21237,21237,20710,'Veículos',3,'transporte_veiculo_lst.php','_self',1,17,192); | |
INSERT INTO pmicontrolesis.menu | |
VALUES(21238,21238,20710,'Pontos',4,'transporte_ponto_lst.php','_self',1,17,192); | |
INSERT INTO pmicontrolesis.menu | |
VALUES(21239,21239,20710,'Rotas',5,'transporte_rota_lst.php','_self',1,17,192); | |
INSERT INTO pmicontrolesis.menu | |
VALUES(21240,21240,20711,'Usuários de Transporte',5,'transporte_pessoa_lst.php','_self',1,17,192);" | |
echo -e "\n** Rodando migração 58_insere_permissoes_admin_modulo_transporte.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
INSERT INTO portal.menu_funcionario (ref_ref_cod_pessoa_fj, cadastra, exclui, ref_cod_menu_submenu) VALUES (1, 1, 1, 21235); | |
INSERT INTO portal.menu_funcionario (ref_ref_cod_pessoa_fj, cadastra, exclui, ref_cod_menu_submenu) VALUES (1, 1, 1, 21236); | |
INSERT INTO portal.menu_funcionario (ref_ref_cod_pessoa_fj, cadastra, exclui, ref_cod_menu_submenu) VALUES (1, 1, 1, 21237); | |
INSERT INTO portal.menu_funcionario (ref_ref_cod_pessoa_fj, cadastra, exclui, ref_cod_menu_submenu) VALUES (1, 1, 1, 21238); | |
INSERT INTO portal.menu_funcionario (ref_ref_cod_pessoa_fj, cadastra, exclui, ref_cod_menu_submenu) VALUES (1, 1, 1, 21239); | |
INSERT INTO portal.menu_funcionario (ref_ref_cod_pessoa_fj, cadastra, exclui, ref_cod_menu_submenu) VALUES (1, 1, 1, 21240); | |
" | |
echo -e "\n** Rodando migração 59_altera_nome_menu_corrige_bug_pessoa.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
UPDATE portal.menu_menu SET nm_menu = 'Pessoa FJ' WHERE cod_menu_menu = 7;" | |
echo -e "\n** Rodando migração 60_cria_funcao_copia_notas_trasnf.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE OR REPLACE FUNCTION modules.copia_notas_transf(old_matricula_id integer, new_matricula_id integer) | |
RETURNS VARCHAR AS | |
\$BODY\$ | |
DECLARE | |
cur_comp RECORD; | |
cur_comp_media RECORD; | |
cur_falta_geral RECORD; | |
cur_falta_comp RECORD; | |
cur_parecer_geral RECORD; | |
cur_parecer_comp RECORD; | |
v_tipo_nota integer; | |
v_tipo_parecer integer; | |
v_tipo_falta integer; | |
v_nota_id integer; | |
v_old_nota_id integer; | |
v_falta_id integer; | |
v_old_falta_id integer; | |
v_parecer_id integer; | |
v_old_parecer_id integer; | |
begin | |
/* VERIFICA SE AS MATRICULAS FAZEM PARTE DO MESMO ANO LETIVO*/ | |
IF ((SELECT eal.ano FROM pmieducar.escola_ano_letivo eal | |
INNER JOIN pmieducar.matricula mat ON (mat.ref_ref_cod_escola = eal.ref_cod_escola) | |
WHERE mat.cod_matricula = old_matricula_id and eal.andamento = 1 limit 1) = (SELECT eal.ano FROM pmieducar.escola_ano_letivo eal | |
INNER JOIN pmieducar.matricula mat ON (mat.ref_ref_cod_escola = eal.ref_cod_escola) | |
WHERE mat.cod_matricula = new_matricula_id and eal.andamento = 1 limit 1) ) THEN | |
IF ( | |
( CASE WHEN (select padrao_ano_escolar from pmieducar.curso | |
where cod_curso = (select ref_cod_curso from pmieducar.matricula | |
where cod_matricula = new_matricula_id)) = 1 | |
THEN (select max(sequencial) as qtd_etapa from pmieducar.ano_letivo_modulo mod | |
inner join pmieducar.matricula mat on (mat.ref_ref_cod_escola = mod.ref_ref_cod_escola) | |
where mat.cod_matricula = new_matricula_id) | |
ELSE (select count(ref_cod_modulo) from pmieducar.turma_modulo | |
where ref_cod_turma = (select ref_cod_turma from pmieducar.matricula_turma | |
where ref_cod_matricula = new_matricula_id)) | |
END | |
) = (CASE WHEN (select padrao_ano_escolar from pmieducar.curso | |
where cod_curso = (select ref_cod_curso from pmieducar.matricula | |
where cod_matricula = old_matricula_id)) = 1 | |
THEN (select max(sequencial) as qtd_etapa from pmieducar.ano_letivo_modulo mod | |
inner join pmieducar.matricula mat on (mat.ref_ref_cod_escola = mod.ref_ref_cod_escola) | |
where mat.cod_matricula = old_matricula_id) | |
ELSE (select count(ref_cod_modulo) from pmieducar.turma_modulo | |
where ref_cod_turma = (select ref_cod_turma from pmieducar.matricula_turma | |
where ref_cod_matricula = old_matricula_id)) | |
END | |
) | |
) THEN | |
-- IF (TRUE) THEN | |
/* VERIFICA SE UTILIZAM A MESMA REGRA DE AVALIAÇÃO*/ | |
IF ((SELECT id FROM modules.regra_avaliacao rg | |
INNER JOIN pmieducar.serie s ON (rg.id = s.regra_avaliacao_id) | |
INNER JOIN pmieducar.matricula m ON (s.cod_serie = m.ref_ref_cod_serie) | |
where m.cod_matricula = old_matricula_id ) = | |
(SELECT id FROM modules.regra_avaliacao rg | |
INNER JOIN pmieducar.serie s ON (rg.id = s.regra_avaliacao_id) | |
INNER JOIN pmieducar.matricula m ON (s.cod_serie = m.ref_ref_cod_serie) | |
where m.cod_matricula = new_matricula_id ) ) THEN | |
v_tipo_nota := (SELECT tipo_nota FROM modules.regra_avaliacao rg | |
INNER JOIN pmieducar.serie s ON (rg.id = s.regra_avaliacao_id) | |
INNER JOIN pmieducar.matricula m ON (s.cod_serie = m.ref_ref_cod_serie) | |
where m.cod_matricula = old_matricula_id); | |
v_tipo_falta := (SELECT tipo_presenca FROM modules.regra_avaliacao rg | |
INNER JOIN pmieducar.serie s ON (rg.id = s.regra_avaliacao_id) | |
INNER JOIN pmieducar.matricula m ON (s.cod_serie = m.ref_ref_cod_serie) | |
where m.cod_matricula = old_matricula_id); | |
v_tipo_parecer := (SELECT parecer_descritivo FROM modules.regra_avaliacao rg | |
INNER JOIN pmieducar.serie s ON (rg.id = s.regra_avaliacao_id) | |
INNER JOIN pmieducar.matricula m ON (s.cod_serie = m.ref_ref_cod_serie) | |
where m.cod_matricula = old_matricula_id); | |
/* SE A REGRA UTILIZAR NOTA, COPIA AS NOTAS*/ | |
IF (v_tipo_nota >0) THEN | |
INSERT INTO modules.nota_aluno (matricula_id)VALUES (new_matricula_id); | |
v_nota_id := (SELECT max(id) FROM modules.nota_aluno WHERE matricula_id = new_matricula_id); | |
v_old_nota_id := (SELECT max(id) FROM modules.nota_aluno WHERE matricula_id = old_matricula_id); | |
FOR cur_comp IN (SELECT * FROM modules.nota_componente_curricular where nota_aluno_id = v_old_nota_id) LOOP | |
INSERT INTO modules.nota_componente_curricular (nota_aluno_id,componente_curricular_id,nota,nota_arredondada,etapa) | |
VALUES(v_nota_id,cur_comp.componente_curricular_id,cur_comp.nota,cur_comp.nota_arredondada,cur_comp.etapa); | |
END LOOP; | |
FOR cur_comp_media IN (SELECT * FROM modules.nota_componente_curricular_media where nota_aluno_id = v_old_nota_id) LOOP | |
INSERT INTO modules.nota_componente_curricular_media (nota_aluno_id,componente_curricular_id,media,media_arredondada,etapa) | |
VALUES(v_nota_id,cur_comp_media.componente_curricular_id,cur_comp_media.media,cur_comp_media.media_arredondada,cur_comp_media.etapa); | |
END LOOP; | |
END IF; | |
IF (v_tipo_falta = 1) THEN | |
INSERT INTO modules.falta_aluno (matricula_id, tipo_falta) VALUES (new_matricula_id,1); | |
v_falta_id = (SELECT max(id) FROM modules.falta_aluno WHERE matricula_id = new_matricula_id); | |
v_old_falta_id := (SELECT max(id) FROM modules.falta_aluno WHERE matricula_id = old_matricula_id); | |
FOR cur_falta_geral IN (SELECT * FROM modules.falta_geral where falta_aluno_id = v_old_falta_id) LOOP | |
INSERT INTO modules.falta_geral (falta_aluno_id,quantidade,etapa) | |
VALUES(v_falta_id,cur_falta_geral.quantidade, cur_falta_geral.etapa); | |
END LOOP; | |
END IF; | |
IF (v_tipo_falta = 2) THEN | |
INSERT INTO modules.falta_aluno (matricula_id, tipo_falta) VALUES (new_matricula_id,2); | |
v_falta_id = (SELECT max(id) FROM modules.falta_aluno WHERE matricula_id = new_matricula_id); | |
v_old_falta_id := (SELECT max(id) FROM modules.falta_aluno WHERE matricula_id = old_matricula_id); | |
FOR cur_falta_comp IN (SELECT * FROM modules.falta_componente_curricular where falta_aluno_id = v_old_falta_id) LOOP | |
INSERT INTO modules.falta_componente_curricular (falta_aluno_id,componente_curricular_id,quantidade,etapa) | |
VALUES(v_falta_id,cur_falta_comp.componente_curricular_id,cur_falta_comp.quantidade, cur_falta_comp.etapa); | |
END LOOP; | |
END IF; | |
IF (v_tipo_parecer = 2) THEN | |
INSERT INTO modules.parecer_aluno (matricula_id, parecer_descritivo)VALUES (new_matricula_id,2); | |
v_parecer_id := (SELECT max(id) FROM modules.parecer_aluno WHERE matricula_id = new_matricula_id); | |
v_old_parecer_id := (SELECT max(id) FROM modules.parecer_aluno WHERE matricula_id = old_matricula_id); | |
FOR cur_parecer_comp IN (SELECT * FROM modules.parecer_componente_curricular where parecer_aluno_id = v_old_parecer_id) LOOP | |
INSERT INTO modules.parecer_componente_curricular (parecer_aluno_id,componente_curricular_id,parecer,etapa) | |
VALUES(v_parecer_id,cur_parecer_comp.componente_curricular_id,cur_parecer_comp.parecer, cur_parecer_comp.etapa); | |
END LOOP; | |
END IF; | |
IF (v_tipo_parecer = 3) THEN | |
INSERT INTO modules.parecer_aluno (matricula_id, parecer_descritivo)VALUES (new_matricula_id,3); | |
v_parecer_id := (SELECT max(id) FROM modules.parecer_aluno WHERE matricula_id = new_matricula_id); | |
v_old_parecer_id := (SELECT max(id) FROM modules.parecer_aluno WHERE matricula_id = old_matricula_id); | |
FOR cur_parecer_geral IN (SELECT * FROM modules.parecer_geral where parecer_aluno_id = v_old_parecer_id) LOOP | |
INSERT INTO modules.parecer_geral (parecer_aluno_id,parecer,etapa) | |
VALUES(v_parecer_id,cur_parecer_geral.parecer, cur_parecer_geral.etapa); | |
END LOOP; | |
END IF; | |
ELSE RETURN 'REGRA AVALIACAO DIFERENTE'; END IF; | |
ELSE RETURN 'ETAPA DIFERENTE'; END IF; | |
RETURN ''; | |
END IF; | |
end;\$BODY\$ | |
LANGUAGE plpgsql VOLATILE; | |
ALTER FUNCTION modules.copia_notas_transf(integer, integer) | |
OWNER TO ieducar;" | |
echo -e "\n** Rodando migração 61_cria_ficha_medica_aluno.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE TABLE modules.ficha_medica_aluno | |
( | |
ref_cod_aluno integer NOT NULL, | |
altura character(4), | |
peso character(7), | |
grupo_sanguineo character(2), | |
fator_rh character(1), | |
alergia_medicamento character(1), | |
desc_alergia_medicamento character varying(100), | |
alergia_alimento character(1), | |
desc_alergia_alimento character varying(100), | |
doenca_congenita character(1), | |
desc_doenca_congenita character varying(100), | |
fumante character(1), | |
doenca_caxumba character(1), | |
doenca_sarampo character(1), | |
doenca_rubeola character(1), | |
doenca_catapora character(1), | |
doenca_escarlatina character(1), | |
doenca_coqueluche character(1), | |
doenca_outras character varying(100), | |
epiletico character(1), | |
epiletico_tratamento character(1), | |
hemofilico character(1), | |
hipertenso character(1), | |
asmatico character(1), | |
diabetico character(1), | |
insulina character(1), | |
tratamento_medico character(1), | |
desc_tratamento_medico character varying(100), | |
medicacao_especifica character(1), | |
desc_medicacao_especifica character varying(100), | |
acomp_medico_psicologico character(1), | |
desc_acomp_medico_psicologico character varying(100), | |
restricao_atividade_fisica character(1), | |
desc_restricao_atividade_fisica character varying(100), | |
fratura_trauma character(1), | |
desc_fratura_trauma character varying(100), | |
plano_saude character(1), | |
desc_plano_saude character varying(50), | |
hospital_clinica character varying(100), | |
hospital_clinica_endereco character varying(50), | |
hospital_clinica_telefone character varying(20), | |
responsavel character varying(50), | |
responsavel_parentesco character varying(20), | |
responsavel_parentesco_telefone character varying(20), | |
responsavel_parentesco_celular character varying(20), | |
observacao character varying(255), | |
CONSTRAINT ficha_medica_cod_aluno_pkey PRIMARY KEY (ref_cod_aluno), | |
CONSTRAINT ficha_medica_aluno_fkey FOREIGN KEY (ref_cod_aluno) | |
REFERENCES pmieducar.aluno(cod_aluno) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
);" | |
echo -e "\n** Rodando migração 62_cria_uniforme_escolar.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE TABLE modules.uniforme_aluno | |
( | |
ref_cod_aluno integer NOT NULL, | |
recebeu_uniforme character(1), | |
quantidade_camiseta integer, | |
tamanho_camiseta character(2), | |
quantidade_blusa_jaqueta integer, | |
tamanho_blusa_jaqueta character(2), | |
quantidade_bermuda integer, | |
tamanho_bermuda character(2), | |
quantidade_calca integer, | |
tamanho_calca character(2), | |
quantidade_saia integer, | |
tamanho_saia character(2), | |
quantidade_calcado integer, | |
tamanho_calcado character(2), | |
quantidade_meia integer, | |
tamanho_meia character(2), | |
CONSTRAINT uniforme_aluno_pkey PRIMARY KEY (ref_cod_aluno), | |
CONSTRAINT uniforme_aluno_fkey FOREIGN KEY (ref_cod_aluno) | |
REFERENCES pmieducar.aluno(cod_aluno) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
);" | |
echo -e "\n** Rodando migração 63_cria_tabela_moradia_aluno.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE TABLE modules.moradia_aluno | |
( | |
ref_cod_aluno integer NOT NULL, | |
moradia character(1), | |
material character(1) DEFAULT ('A'), | |
casa_outra character varying(20), | |
moradia_situacao integer, | |
quartos integer, | |
sala integer, | |
copa integer, | |
banheiro integer, | |
garagem integer, | |
empregada_domestica character(1), | |
automovel character(1), | |
motocicleta character(1), | |
computador character(1), | |
geladeira character(1), | |
fogao character(1), | |
maquina_lavar character(1), | |
microondas character(1), | |
video_dvd character(1), | |
televisao character(1), | |
celular character(1), | |
telefone character(1), | |
quant_pessoas integer, | |
renda double precision, | |
agua_encanada character(1), | |
poco character(1), | |
energia character(1), | |
esgoto character(1), | |
fossa character(1), | |
lixo character(1), | |
CONSTRAINT moradia_aluno_pkei PRIMARY KEY (ref_cod_aluno), | |
CONSTRAINT moradia_aluno_fkey FOREIGN KEY (ref_cod_aluno) | |
REFERENCES pmieducar.aluno(cod_aluno) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
);" | |
echo -e "\n** Rodando migração 64_cria_function_frequencia_geral.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE OR REPLACE FUNCTION modules.frequencia_da_matricula(p_matricula_id integer) | |
RETURNS FLOAT AS | |
\$BODY\$ | |
DECLARE | |
v_regra_falta integer; | |
v_falta_aluno_id integer; | |
v_qtd_dias_letivos_serie integer; | |
v_total_faltas integer; | |
v_qtd_horas_serie integer; | |
v_hora_falta FLOAT; | |
begin | |
/* | |
regra_falta: | |
1- Global | |
2- Por componente | |
*/ | |
v_regra_falta:= (SELECT rg.tipo_presenca FROM modules.regra_avaliacao rg | |
INNER JOIN pmieducar.serie s ON (rg.id = s.regra_avaliacao_id) | |
INNER JOIN pmieducar.matricula m ON (s.cod_serie = m.ref_ref_cod_serie) | |
where m.cod_matricula = p_matricula_id); | |
v_falta_aluno_id := ( SELECT id FROM modules.falta_aluno WHERE matricula_id = p_matricula_id ORDER BY id DESC LIMIT 1 ); | |
IF (v_regra_falta = 1) THEN | |
v_qtd_dias_letivos_serie := (SELECT s.dias_letivos | |
FROM pmieducar.serie s | |
INNER JOIN pmieducar.matricula m ON (m.ref_ref_cod_serie = s.cod_serie) | |
WHERE m.cod_matricula = p_matricula_id); | |
v_total_faltas := ( SELECT SUM(quantidade) FROM falta_geral WHERE falta_aluno_id = v_falta_aluno_id); | |
RETURN (((v_qtd_dias_letivos_serie - v_total_faltas) * 100 ) / v_qtd_dias_letivos_serie ); | |
ELSE | |
v_qtd_horas_serie := ( SELECT s.carga_horaria | |
FROM pmieducar.serie s | |
INNER JOIN pmieducar.matricula m ON (m.ref_ref_cod_serie = s.cod_serie) | |
WHERE m.cod_matricula = p_matricula_id); | |
v_total_faltas := ( SELECT SUM(quantidade) FROM falta_componente_curricular WHERE falta_aluno_id = v_falta_aluno_id); | |
v_hora_falta := (SELECT hora_falta FROM pmieducar.curso c | |
INNER JOIN pmieducar.matricula m ON (c.cod_curso = m.ref_cod_curso) | |
WHERE m.cod_matricula = p_matricula_id); | |
RETURN (100 - ((v_total_faltas * (v_hora_falta*100))/v_qtd_horas_serie)); | |
END IF; | |
end;\$BODY\$ | |
LANGUAGE 'plpgsql' VOLATILE;" | |
echo -e "\n** Rodando migração 65_altera_menu_lancamento_notas.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
DELETE FROM pmicontrolesis.menu WHERE cod_menu IN (643,644); | |
DELETE FROM menu_tipo_usuario WHERE ref_cod_menu_submenu IN (643,644); | |
DELETE FROM menu_funcionario WHERE ref_cod_menu_submenu IN (643,644); | |
DELETE FROM portal.menu_submenu WHERE cod_menu_submenu IN (644,643); | |
UPDATE portal.menu_submenu SET arquivo = 'module/Avaliacao/diario' WHERE cod_menu_submenu = 642; | |
UPDATE pmicontrolesis.menu SET caminho = 'module/Avaliacao/diario' WHERE cod_menu = 21152;" | |
echo -e "\n** Rodando migração 66_cria_colunas_data_processos_matricula.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
ALTER TABLE pmieducar.matricula ADD COLUMN data_matricula timestamp without time zone; | |
ALTER TABLE pmieducar.matricula ADD COLUMN data_cancel timestamp without time zone; | |
CREATE OR REPLACE FUNCTION retira_data_cancel_matricula_fun() | |
RETURNS trigger AS | |
\$func\$ | |
BEGIN | |
UPDATE pmieducar.matricula | |
SET data_cancel = NULL | |
WHERE cod_matricula = new.cod_matricula | |
AND data_cancel IS DISTINCT FROM NULL | |
AND aprovado = 3 | |
AND (SELECT 1 FROM pmieducar.transferencia_solicitacao WHERE ativo = 1 AND ref_cod_matricula_saida = new.cod_matricula limit 1) is null; | |
RETURN NULL; | |
END | |
\$func\$ LANGUAGE plpgsql; | |
CREATE TRIGGER retira_data_cancel_matricula_trg | |
AFTER UPDATE ON pmieducar.matricula | |
FOR EACH ROW | |
EXECUTE PROCEDURE retira_data_cancel_matricula_fun();" | |
echo -e "\n** Rodando migração 67_cria_coluna_data_enturmacao.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
ALTER TABLE pmieducar.matricula_turma | |
add COLUMN data_enturmacao date; | |
UPDATE pmieducar.matricula_turma set data_enturmacao = data_cadastro;" | |
echo -e "\n** Rodando migração 68_cria_processo_fechamento_turma.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
ALTER TABLE pmieducar.matricula_turma ALTER COLUMN data_enturmacao SET NOT NULL; | |
ALTER TABLE pmieducar.matricula_turma | |
add COLUMN sequencial_fechamento INTEGER NOT NULL default 0; | |
ALTER TABLE pmieducar.turma | |
add COLUMN data_fechamento date;" | |
echo -e "\n** Rodando migração 69_cria_function_calcular_data_prevista_emprestimo.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE OR REPLACE FUNCTION modules.preve_data_emprestimo(biblioteca_id integer, data_prevista date) | |
RETURNS date AS | |
\$BODY\$ | |
DECLARE | |
begin | |
IF (( select 1 from pmieducar.biblioteca_dia WHERE ref_cod_biblioteca = biblioteca_id AND dia = ((SELECT EXTRACT(DOW FROM data_prevista))+1) limit 1) IS NOT null) THEN | |
IF ((SELECT 1 FROM pmieducar.biblioteca_feriados WHERE ref_cod_biblioteca = biblioteca_id and data_feriado = data_prevista) IS NULL) THEN | |
RETURN data_prevista; | |
ELSE | |
RETURN modules.preve_data_emprestimo(biblioteca_id, data_prevista+1); | |
END IF; | |
ELSE | |
RETURN modules.preve_data_emprestimo(biblioteca_id, data_prevista+1); | |
END IF; | |
end;\$BODY\$ | |
LANGUAGE 'plpgsql' VOLATILE;" | |
echo -e "\n** Rodando migração 70_retira_deficiencia_nenhuma.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
UPDATE pmieducar.servidor SET ref_cod_deficiencia = NULL where ref_cod_deficiencia = 1; | |
DELETE FROM cadastro.fisica_deficiencia WHERE ref_cod_deficiencia = 1; | |
DELETE FROM cadastro.deficiencia WHERE cod_deficiencia = 1;" | |
echo -e "\n** Rodando migração 71_cria_tabela_nota_exame.sql" | |
~/.pgvm/environments/8.2.23/bin/psql -d ieducar -p 5433 -c " | |
CREATE TABLE modules.nota_exame | |
( | |
ref_cod_matricula integer NOT NULL, | |
ref_cod_componente_curricular integer NOT NULL, | |
nota_exame numeric(5,3), | |
CONSTRAINT moradia_aluno_fkey FOREIGN KEY (ref_cod_matricula) | |
REFERENCES pmieducar.matricula(cod_matricula) MATCH SIMPLE | |
ON UPDATE RESTRICT ON DELETE RESTRICT | |
) | |
WITH ( | |
OIDS=TRUE | |
); " |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment