/* ********************************************************************************** * * * @package URBEM CNM - Soluções em Gestão Pública * * @copyright (c) 2013 Confederação Nacional de Municípos * * @author Confederação Nacional de Municípios * * * * O URBEM CNM é um software livre; você pode redistribuí-lo e/ou modificá-lo sob * * os termos da Licença Pública Geral GNU conforme publicada pela Fundação do * * Software Livre (FSF - Free Software Foundation); na versão 2 da Licença. * * * * Este programa é distribuído na expectativa de que seja útil, porém, * * SEM NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU * * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral do GNU * * para mais detalhes. * * * * Você deve ter recebido uma cópia da Licença Pública Geral do GNU "LICENCA.txt" * * com este programa; se não, escreva para a Free Software Foundation Inc., * * no endereço 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * * * ********************************************************************************** */ /* * Script de DDL e DML * * URBEM Soluções de Gestão Pública Ltda * www.urbem.cnm.org.br * * $Revision: 28350 $ * $Name$ * $Author: gris $ * $Date: 2008-03-05 09:57:44 -0300 (Qua, 05 Mar 2008) $ * * Versão 002. */ /*----------- VERSÃO 1.51.0 */ --Versão 1.51.0 -- -- -- -- Inclusão de link para a nova ação de configuração do banrisul. -- Ticket #11224 Ticket #11225 Ticket #11226 Update administracao.acao set ordem = ordem + 1 WHERE cod_funcionalidade = 354 AND ordem > 5; INSERT INTO administracao.acao ( cod_acao , cod_funcionalidade , nom_arquivo , parametro , ordem , complemento_acao , nom_acao) VALUES ( 2177 , 354 , 'FMExportacaoBancoBanrisul.php' , 'configurar' , 6 , '' , 'Exportação Banco Banrisul'); INSERT INTO administracao.acao (cod_acao , cod_funcionalidade , nom_arquivo , parametro , ordem , complemento_acao , nom_acao) VALUES (2178 , 353 , 'FLExportarRemessaBanrisul.php' , 'exportar' , 4 , '' , 'Remessa Banco Banrisul'); select atualizarBanco(' CREATE TABLE ima.configuracao_convenio_banrisul ( cod_convenio INTEGER NOT NULL, cod_banco INTEGER NOT NULL, cod_agencia INTEGER NOT NULL, cod_conta_corrente INTEGER NOT NULL, cod_convenio_banco VARCHAR(20) NOT NULL, CONSTRAINT pk_configuracao_convenio_banrisul_1 PRIMARY KEY(cod_convenio), CONSTRAINT fk_configuracao_convenio_banrisul_1 FOREIGN KEY(cod_conta_corrente, cod_agencia, cod_banco) REFERENCES monetario.conta_corrente(cod_conta_corrente, cod_agencia, cod_banco) ); GRANT INSERT, DELETE, UPDATE, SELECT ON ima.configuracao_convenio_banrisul TO GROUP urbem; '); -- -- Ticket #11238 - Incluir parametro na tabela administracao.configuracao parametro: num_sequencial_arquivo_banrisul e dt_num_sequencial_arquivo_banrisul -- Insert Into administracao.configuracao ( exercicio, cod_modulo, parametro, valor) VALUES ( '2008', 40, 'num_sequencial_arquivo_banrisul' , '1'); INSERT INTO administracao.configuracao ( exercicio, cod_modulo, parametro, valor) VALUES ( '2008', 40, 'dt_num_sequencial_arquivo_banrisul', '2008-01-01'); -- -- -- CREATE OR REPLACE FUNCTION public.manutencao() RETURNS VOID AS $$ DECLARE recRecno RECORD; varSchema VARCHAR; varNum_sequencial_arquivo_banrisul VARCHAR; varDt_num_sequencial_arquivo_banrisul VARCHAR; BEGIN FOR recRecno IN SELECT entidade.cod_entidade, schema_rh.schema_nome FROM orcamento.entidade , administracao.entidade_rh , administracao.schema_rh WHERE entidade.exercicio = entidade_rh.exercicio AND entidade.cod_entidade = entidade_rh.cod_entidade AND entidade_rh.schema_cod = schema_rh.schema_cod AND entidade.exercicio = '2008' AND entidade.cod_entidade != (SELECT valor FROM administracao.configuracao WHERE parametro = 'cod_entidade_prefeitura' AND exercicio = '2008' AND cod_modulo = 8 ) GROUP BY entidade.cod_entidade, schema_rh.schema_nome ORDER BY 2, 1 LOOP varNum_sequencial_arquivo_banrisul := 'num_sequencial_arquivo_banrisul_' || BTRIM( TO_CHAR(recRecno.cod_entidade, '99')); varDt_num_sequencial_arquivo_banrisul := 'dt_num_sequencial_arquivo_banrisul_' || BTRIM( TO_CHAR(recRecno.cod_entidade, '99')); INSERT INTO administracao.configuracao ( exercicio, cod_modulo, valor, parametro ) SELECT '2008' , 40, '1', varNum_sequencial_arquivo_banrisul WHERE 0 = ( SELECT COALESCE( count(1), 0) FROM administracao.configuracao WHERE exercicio = '2008' AND cod_modulo = 40 AND parametro = varNum_sequencial_arquivo_banrisul ) ; INSERT INTO administracao.configuracao ( exercicio, cod_modulo, valor, parametro ) SELECT '2008' , 40, '2008-01-01', varDt_num_sequencial_arquivo_banrisul WHERE 0 = ( SELECT COALESCE( count(1), 0) FROM administracao.configuracao WHERE exercicio = '2008' AND cod_modulo = 40 AND parametro = varDt_num_sequencial_arquivo_banrisul ) ; END LOOP; RETURN; END; $$ LANGUAGE 'plpgsql' ; Select public.manutencao(); DROP FUNCTION public.manutencao(); -- -- Ticket #11461 - Criado Link Exportação Banco BanPara. -- INSERT INTO administracao.acao ( cod_acao, cod_funcionalidade, nom_arquivo, parametro, ordem, complemento_acao, nom_acao) VALUES ( 2213, 353, 'FMExportarRemessaBanPara.php', 'exportar', 4, '', 'Remessa BanPará'); -- -- Ticket #11462 - Criado Link Para Configuração Exportação Banco BanPará -- INSERT INTO administracao.acao ( cod_acao, cod_funcionalidade, nom_arquivo, parametro, ordem, complemento_acao, nom_acao) VALUES ( 2186, 354, 'FMExportarRemessaBanPara.php', 'incluir', 13, '', 'Incluir Configuracao BanPará'); INSERT INTO administracao.acao ( cod_acao, cod_funcionalidade, nom_arquivo, parametro, ordem, complemento_acao, nom_acao) VALUES ( 2187, 354, 'FLExportarRemessaBanPara.php', 'alterar', 14, '', 'Alterar Configuracao BanPará'); INSERT INTO administracao.acao ( cod_acao, cod_funcionalidade, nom_arquivo, parametro, ordem, complemento_acao, nom_acao) VALUES ( 2188, 354, 'FLExportarRemessaBanPara.php', 'excluir', 15, '', 'Excluir Configuracao BanPará'); -- -- Ticket #11468 - Criação Configuração exportação bancária BanPara. -- select atualizarBanco(' CREATE TABLE ima.banpara_empresa ( cod_empresa INTEGER NOT NULL , codigo INTEGER NOT NULL , vigencia DATE NOT NULL , CONSTRAINT pk_empresa_banpara PRIMARY KEY(cod_empresa)); '); select atualizarBanco(' CREATE TABLE ima.banpara_orgao ( cod_empresa INTEGER NOT NULL , cod_orgao INTEGER NOT NULL , codigo INTEGER NOT NULL , descricao VARCHAR(40) NOT NULL , CONSTRAINT pk_banpara_orgao PRIMARY KEY(cod_empresa, cod_orgao)) '); select atualizarBanco(' CREATE TABLE ima.banpara_lotacao ( cod_empresa INTEGER NOT NULL , cod_orgao INTEGER NOT NULL , cod_lotacao INTEGER NOT NULL , CONSTRAINT pk_banpara_lotacao PRIMARY KEY(cod_empresa, cod_orgao, cod_lotacao), CONSTRAINT fk_banpara_lotacao_1 FOREIGN KEY(cod_empresa, cod_orgao) REFERENCES ima.banpara_orgao(cod_empresa, cod_orgao), CONSTRAINT fk_banpara_lotacao_2 FOREIGN KEY(cod_lotacao) REFERENCES organograma.orgao(cod_orgao)) '); select atualizarBanco(' CREATE TABLE ima.banpara_local ( cod_empresa INTEGER NOT NULL , cod_orgao INTEGER NOT NULL , cod_local INTEGER NOT NULL , CONSTRAINT pk_banpara_local PRIMARY KEY(cod_empresa, cod_orgao, cod_local), CONSTRAINT fk_banpara_local_1 FOREIGN KEY(cod_empresa, cod_orgao) REFERENCES ima.banpara_orgao(cod_empresa, cod_orgao), CONSTRAINT fk_banpara_local_2 FOREIGN KEY(cod_local) REFERENCES organograma.local(cod_local)) '); select atualizarBanco('GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE ima.banpara_empresa TO GROUP urbem;'); select atualizarBanco('GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE ima.banpara_orgao TO GROUP urbem;'); select atualizarBanco('GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE ima.banpara_lotacao TO GROUP urbem;'); select atualizarBanco('GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE ima.banpara_local TO GROUP urbem;'); -- -- Ticket #11634 - Criação d tabela ima.categoria_sefip. -- select atualizarBanco(' CREATE TABLE ima.categoria_sefip ( cod_categoria INTEGER NOT NULL , cod_modalidade INTEGER NOT NULL , CONSTRAINT pk_categoria_sefip PRIMARY KEY(cod_categoria, cod_modalidade), CONSTRAINT fk_categoria_sefip_1 FOREIGN KEY(cod_categoria) REFERENCES pessoal.categoria(cod_categoria), CONSTRAINT fk_categoria_sefip_2 FOREIGN KEY(cod_modalidade)REFERENCES ima.modalidade_recolhimento(cod_modalidade)); '); select atualizarBanco('GRANT SELECT, INSERT, UPDATE, DELETE ON TABLE ima.categoria_sefip TO GROUP urbem;'); -- -- Ticket #11686 - Alterado o tipo de retorno da função pega0DataContagemTempoContrato para varchar -- -- -- Insere a função. -- CREATE OR REPLACE function public.manutencao_funcao( intCodmodulo INTEGER , intCodBiblioteca INTEGER , varNomeFunc VARCHAR , intCodTiporetorno INTEGER) RETURNS integer as $$ DECLARE intCodFuncao INTEGER := 0; varAux VARCHAR; BEGIN SELECT cod_funcao INTO intCodFuncao FROM administracao.funcao WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND Lower(Btrim(nom_funcao)) = Lower(Btrim(varNomeFunc)) ; IF FOUND THEN DELETE FROM administracao.corpo_funcao_externa WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND cod_funcao = intCodFuncao; DELETE FROM administracao.funcao_externa WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND cod_funcao = intCodFuncao; DELETE FROM administracao.funcao_referencia WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND cod_funcao = intCodFuncao; DELETE FROM administracao.parametro WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND cod_funcao = intCodFuncao; DELETE FROM administracao.variavel WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND cod_funcao = intCodFuncao; DELETE FROM administracao.funcao WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND cod_funcao = intCodFuncao; END IF; -- Raise Notice ' Entrou 1 '; SELECT (max(cod_funcao)+1) INTO intCodFuncao FROM administracao.funcao WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca ; --varAux := varNomeFunc || ' - ' || To_Char( intCodFuncao, '999999') ; --RAise Notice '=> % ', varAux; IF intCodFuncao IS NULL OR intCodFuncao = 0 THEN intCodFuncao := 1; END IF; INSERT INTO administracao.funcao ( cod_modulo , cod_biblioteca , cod_funcao , cod_tipo_retorno , nom_funcao) VALUES ( intCodmodulo , intCodBiblioteca , intCodFuncao , intCodTiporetorno , varNomeFunc); RETURN intCodFuncao; END; $$ LANGUAGE 'plpgsql'; -- -- Inclusão de Váriaveis. -- CREATE OR REPLACE function public.manutencao_variavel( intCodmodulo INTEGER , intCodBiblioteca INTEGER , intCodFuncao INTEGER , varNomVariavel VARCHAR , intTipoVariavel INTEGER) RETURNS integer as $$ DECLARE intCodVariavel INTEGER := 0; BEGIN If intCodFuncao != 0 THEN SELECT COALESCE((max(cod_variavel)+1),1) INTO intCodVariavel FROM administracao.variavel WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND cod_funcao = intCodFuncao ; INSERT INTO administracao.variavel ( cod_modulo , cod_biblioteca , cod_funcao , cod_variavel , nom_variavel , cod_tipo ) VALUES ( intCodmodulo , intCodBiblioteca , intCodFuncao , intCodVariavel , varNomVariavel , intTipoVariavel ); END IF; RETURN intCodVariavel; END; $$ LANGUAGE 'plpgsql'; -- -- Inclusão de parametro. -- CREATE OR REPLACE function public.manutencao_parametro( intCodmodulo INTEGER , intCodBiblioteca INTEGER , intCodFuncao INTEGER , intCodVariavel INTEGER) RETURNS VOID as $$ DECLARE intOrdem INTEGER := 0; BEGIN If intCodFuncao != 0 THEN SELECT COALESCE((max(ordem)+1),1) INTO intOrdem FROM administracao.parametro WHERE cod_modulo = intCodmodulo AND cod_biblioteca = intCodBiblioteca AND cod_funcao = intCodFuncao ; INSERT INTO administracao.parametro ( cod_modulo , cod_biblioteca , cod_funcao , cod_variavel , ordem) VALUES ( intCodmodulo , intCodBiblioteca , intCodFuncao , intCodVariavel , intOrdem ); End If; RETURN; END; $$ LANGUAGE 'plpgsql'; -- -- Função principal de inclusão no Gerador de Calculo. -- CREATE OR REPLACE function public.manutencao() RETURNS VOID as $$ DECLARE intCodFuncao INTEGER; intCodVariavel INTEGER; BEGIN -- 1 | INTEIRO -- 2 | TEXTO -- 3 | BOOLEANO -- 4 | NUMERICO -- 5 | DATA intCodFuncao := public.manutencao_funcao ( 27, 1, 'pega0DataContagemTempoContrato', 2); RETURN; END; $$ LANGUAGE 'plpgsql'; -- -- Execuçao função. -- Select public.manutencao(); Drop Function public.manutencao(); Drop Function public.manutencao_funcao(integer, integer, varchar, integer ); Drop Function public.manutencao_variavel( integer, integer, integer, varchar, integer ); Drop Function public.manutencao_parametro( integer, integer, integer, integer ); -- -- Ticket #11678 - Alteração de dado na tabela ima.modalidade_recolhimento -- select atualizarBanco(' update ima.modalidade_recolhimento set descricao = \'Confirmação Informações anteriores - Rec/Decl ao FGTS e Decl à Previdência\' where cod_modalidade = 5 '); select atualizarBanco(' alter table folhapagamento.evento_calculado_dependente add column desdobramento char(1); ');