|
|
ALTER TABLE pbx_queues_grupos ADD COLUMN libera_pausa VARCHAR(255) DEFAULT(0); |
|
|
ALTER TABLE pbx_usuarios ADD COLUMN perm_licenca INT DEFAULT(0); |
|
|
|
|
|
CREATE TABLE pbx_controle_licenciamento( |
|
|
clto_cnpj varchar(14) not null, |
|
|
clto_contrato_numero varchar(32) not null, |
|
|
clto_razao_social varchar(128) not null, |
|
|
clto_nome_fantasia varchar(128), |
|
|
clto_atividade_empresa varchar(64), |
|
|
clto_cidade_empresa varchar(64), |
|
|
clto_uf_empresa varchar(2), |
|
|
clto_contato_id varchar(64), |
|
|
clto_contato_nome varchar(64), |
|
|
clto_contato_email varchar(64), |
|
|
clto_contato_fone varchar(32), |
|
|
clto_perfil_aplicacao_id int not null, |
|
|
clto_contrato_assinatura date, |
|
|
clto_contrato_inicio date, |
|
|
clto_contrato_fim date, |
|
|
clto_licenca_pa int not null default 0, |
|
|
clto_licenca_ramal int not null default 0, |
|
|
clto_licenca_supervisor int not null default 0, |
|
|
clto_licenca_discador_preview int not null default 0, |
|
|
clto_licenca_discador_powerdial int not null default 0, |
|
|
clto_licenca_discador_predictive int not null default 0, |
|
|
clto_licenca_pesquisa int not null default 0, |
|
|
clto_licenca_tarifador int not null default 0, |
|
|
clto_licenca_whatsapp int not null default 0, |
|
|
clto_licenca_workflow int not null default 0, |
|
|
clto_licenca_mesaoperadora int not null default 0, |
|
|
clto_mult_channel int not null default 0, |
|
|
clto_licenca_helpdesk int not null default 0, |
|
|
clto_licenca_crm int not null default 0, |
|
|
clto_licenca_manager_one int not null default 0, |
|
|
clto_licenca_help_custom int not null default 0, |
|
|
clto_licenca_chat int not null default 0, |
|
|
clto_data_registro date not null, |
|
|
clto_user_registro varchar(64), |
|
|
clto_server_registro varchar(255), |
|
|
clto_confirma_registro date, |
|
|
clto_data_log varchar(1024), |
|
|
constraint "pkPbxControleLicenciamento" primary key(clto_cnpj, clto_contrato_numero) |
|
|
); |
|
|
|
|
|
|
|
|
-- Criar a tabela pbx_licenca_pa_fixo |
|
|
CREATE TABLE IF NOT EXISTS public.pbx_licenca_pa_fixo |
|
|
( |
|
|
id SERIAL PRIMARY KEY, |
|
|
licenca varchar(255) NOT NULL, |
|
|
id_user varchar(10), |
|
|
last_update timestamp NOT NULL DEFAULT NOW(), |
|
|
limit_update timestamp NOT NULL DEFAULT (NOW() + INTERVAL '5 MINUTES') |
|
|
); |
|
|
|
|
|
-- Definir o propriet<EFBFBD>rio da tabela |
|
|
ALTER TABLE IF EXISTS public.pbx_licenca_pa_fixo |
|
|
OWNER TO contacte; |
|
|
|
|
|
--cria as colunas necess<EFBFBD>rias |
|
|
ALTER TABLE IF EXISTS pbx_grupo |
|
|
ADD COLUMN gp_system int; |
|
|
|
|
|
ALTER TABLE IF EXISTS pbx_grupo |
|
|
ADD COLUMN gp_descricao varchar(255); |
|
|
|
|
|
--insere os grupos e sua descricao |
|
|
INSERT INTO pbx_grupo (gp_nome, gp_status, user_id, gp_user, gp_system, gp_descricao) |
|
|
VALUES ('SMART', 1, 0, 0, 1, 'Linha com baixo custo e e recursos basicos para pequenos negocios.'), |
|
|
('ISP', 1, 0, 0, 1, 'Atende o nicho de provedores de internet e possui alguns recursos exclusivos para o setor.'), |
|
|
('CORP', 1, 0, 0, 1, 'Perfil desenhado para atender o segmento corporativo com exigencia de alta disponibilidade e recursos avancados.'), |
|
|
('SX', 1, 0, 0, 1, 'A linha de melhor custo beneficio do mercado, flexivel adapta-se a qualquer modelo de negocio.'), |
|
|
('ALGAR', 1, 0, 0, 1, 'Perfil criado para atender a parceria Algar, utilizado em sua revendas.'), |
|
|
('GOV', 1, 0, 0, 1, 'Desenvolvido para clientes governamentais com altos requisitos de seguran<EFBFBD>a.'), |
|
|
('SMART+', 1, 0, 0, 1, 'Linha com baixo custo e uma gama de recursos avan<EFBFBD>ados para pequenos negocios.'); |
|
|
|
|
|
|
|
|
-- Cria a fun<EFBFBD><EFBFBD>o para facilitar a inser<EFBFBD><EFBFBD>o dos dados do grupo das licen<EFBFBD>as. |
|
|
CREATE OR REPLACE FUNCTION inserir_dados_licenca_grupos(grupo_nome text, funcao_ids integer[]) |
|
|
RETURNS VOID AS |
|
|
$$ |
|
|
DECLARE |
|
|
grupo_id integer; |
|
|
BEGIN |
|
|
SELECT gp_id INTO grupo_id |
|
|
FROM pbx_grupo |
|
|
WHERE gp_nome = grupo_nome; |
|
|
|
|
|
IF grupo_id IS NOT NULL THEN |
|
|
INSERT INTO pbx_grupo_funcoes (gp_id, fun_id) |
|
|
SELECT grupo_id, unnest(funcao_ids); |
|
|
ELSE |
|
|
RAISE EXCEPTION 'Grupo n<EFBFBD>o encontrado: %', grupo_nome; |
|
|
END IF; |
|
|
END; |
|
|
$$ |
|
|
LANGUAGE plpgsql; |
|
|
|
|
|
|
|
|
-- Chama a fun<EFBFBD><EFBFBD>o passando o nome do grupo e a lista de fun<EFBFBD><EFBFBD>es associadas. |
|
|
-- "SMART" |
|
|
SELECT inserir_dados_licenca_grupos('SMART', ARRAY[3, 1, 4, 168, 5, 13, 10, 16, 41, 42, 43, 44, 45, 46, 47, 48, 108, 122, 163, |
|
|
49, 52, 53, 54, 193, 55, 21, 56, 58, 125, 199, 17, 160, 161, 186, 187, 200, |
|
|
61, 62, 64, 65, 66, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 141, |
|
|
84, 86, 89, 90, 91, 92, 93, 94, 107, 96, 97, 98, 99, 100, 101, 102, 105, 114, |
|
|
115, 116, 189, 190, 127, 106, 137, 138, 140, 167, 194, 112] |
|
|
); |
|
|
|
|
|
-- "ISP" |
|
|
SELECT inserir_dados_licenca_grupos('ISP', ARRAY[1, 2, 3, 4, 5, 7, 8, 9, 120, 168, 175, 214, 217, 218, 219, 220, 10, 11, 13, 15, |
|
|
16, 172, 17, 18, 19, 22, 23, 24, 25, 27, 28, 29, 31, 118, 166, 33, 34, 36, 39, 40, |
|
|
117, 119, 126, 162, 169, 188, 202, 213, 41, 42, 43, 44, 45, 46, 47, 48, 108, 122, 163, |
|
|
49, 52, 53, 54, 193, 55, 21, 56, 58, 125, 199, 142, 143, 144, 145, 146, 147, 148, 149, |
|
|
160, 161, 186, 187, 200, 61, 62, 63, 64, 65, 66, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, |
|
|
81, 82, 83, 141, 84, 86, 89, 90, 91, 92, 93, 94, 107, 96, 97, 98, 99, 100, 101, 102, 103, |
|
|
105, 109, 110, 111, 113, 170, 204, 205, 114, 115, 116, 127, 106, 129, 130, 131, 132, 135, |
|
|
137, 138, 140, 167, 150, 151, 152, 189, 190, 191, 194, 112] |
|
|
); |
|
|
|
|
|
--"CORP" |
|
|
SELECT inserir_dados_licenca_grupos('CORP', ARRAY[1, 2, 3, 4, 5, 7, 8, 9, 168, 214, 217, 218, 219, 220, 10, 11, 13, 15, 16, 172, 17, 18, 19, 22, |
|
|
23, 24, 25, 27, 28, 29, 31, 118, 166, 33, 34, 36, 39, 40, 117, 119, 126, 162, 169, 188, 202, 213, |
|
|
41, 42, 43, 44, 45, 46, 47, 48, 108, 122, 163, 49, 52, 53, 54, 193, 55, 21, 56, 58, 125, 199, 142, |
|
|
143, 144, 145, 146, 147, 148, 149, 160, 161, 186, 187, 200, 61, 62, 63, 64, 65, 66, 69, 70, 71, 72, |
|
|
73, 75, 76, 77, 78, 80, 81, 82, 83, 141, 84, 86, 89, 90, 91, 92, 93, 94, 107, 96, 97, 98, 99, 100, 101, |
|
|
102, 103, 105, 109, 110, 111, 113, 170, 204, 205, 114, 115, 116, 127, 106, 129, 130, 131, 132, 135, 137, |
|
|
138, 140, 167, 150, 151, 152, 189, 190, 191, 194, 120, 175, 209, 12, 208, 210, 211, 212, 112] |
|
|
); |
|
|
|
|
|
|
|
|
-- "SX" |
|
|
SELECT inserir_dados_licenca_grupos('SX', ARRAY[1, 2, 3, 4, 5, 7, 8, 9, 168, 175, 214, 217, 218, 220, 10, 11, 13, 15, 16, 172, 17, 18, 19, 22, 23, |
|
|
24, 25, 27, 28, 29, 31, 118, 166, 33, 34, 36, 39, 40, 117, 119, 126, 162, 169, 188, 202, 213, 41, 42, |
|
|
43, 44, 45, 46, 47, 48, 108, 122, 163, 49, 52, 53, 54, 193, 55, 21, 56, 58, 125, 199, 142, 143, 144, 145, |
|
|
146, 147, 148, 149, 160, 161, 186, 187, 200, 61, 62, 63, 64, 65, 66, 69, 70, 71, 72, 73, 75, 76, 77, 78, |
|
|
80, 81, 82, 83, 141, 84, 86, 89, 90, 91, 92, 93, 94, 107, 96, 97, 98, 99, 100, 101, 102, 103, 105, 109, |
|
|
110, 111, 113, 170, 204, 205, 114, 115, 116, 127, 106, 129, 130, 131, 132, 135, 137, 138, 140, 167, 150, |
|
|
151, 152, 189, 190, 191, 194, 219, 112] |
|
|
); |
|
|
|
|
|
-- "ALGAR" |
|
|
SELECT inserir_dados_licenca_grupos('ALGAR', ARRAY[1, 2, 3, 4, 5, 7, 8, 9, 168, 214, 217, 218, 219, 220, 10, 11, 13, 15, 16, 172, 17, 18, 19, 22, 23, 24, |
|
|
25, 27, 28, 29, 31, 118, 166, 33, 34, 36, 39, 40, 117, 119, 126, 162, 169, 188, 202, 213, 41, 42, 43, |
|
|
44, 45, 46, 47, 48, 108, 122, 163, 49, 52, 53, 54, 193, 55, 21, 56, 58, 125, 199, 142, 143, 144, 145, |
|
|
146, 147, 148, 149, 160, 161, 186, 187, 200, 61, 62, 63, 64, 65, 66, 69, 70, 71, 72, 73, 75, 76, 77, |
|
|
78, 80, 81, 82, 83, 141, 84, 86, 89, 90, 91, 92, 93, 94, 107, 96, 97, 98, 99, 100, 101, 102, 103, 105, |
|
|
109, 110, 111, 113, 170, 204, 205, 114, 115, 116, 127, 106, 129, 130, 131, 132, 135, 137, 138, 140, 167, |
|
|
150, 151, 152, 189, 190, 191, 194, 112] |
|
|
); |
|
|
|
|
|
-- "GOV" |
|
|
SELECT inserir_dados_licenca_grupos('GOV', ARRAY[3, 1, 4, 168, 5, 13, 10, 16, 41, 42, 43, 44, 45, 46, 47, 48, 108, 122, 163, |
|
|
49, 52, 53, 54, 193, 55, 21, 56, 58, 125, 199, 17, 160, 161, 186, 187, 200, |
|
|
61, 62, 64, 65, 66, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 141, |
|
|
84, 86, 89, 90, 91, 92, 93, 94, 107, 96, 97, 98, 99, 100, 101, 102, 105, 114, |
|
|
115, 116, 189, 190, 127, 106, 137, 138, 140, 167, 194, 112] |
|
|
); |
|
|
|
|
|
-- "SMART+" |
|
|
SELECT inserir_dados_licenca_grupos('SMART+', ARRAY[2, 1, 3, 4, 5, 8, 9, 7, 220, 10, 11, 13, 15, 16, 172, 18, 19, 22, 23, 24, 25, |
|
|
27, 28, 29, 31, 118, 166, 33, 34, 36, 39, 40, 117, 119, 126, 162, 169, 188, 202, |
|
|
213, 17, 160, 161, 41, 42, 43, 44, 45, 46, 47, 48, 108, 122, 163, 49, 52, 53, 54, |
|
|
193, 55, 21, 56, 58, 125, 199, 142, 143, 144, 145, 61, 62, 64, 65, 66, 69, 70, 71, |
|
|
72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 141, 84, 86, 89, 90, 91, 92, 93, 94, 107, |
|
|
96, 97, 98, 99, 100, 101, 102, 103, 105, 114, 115, 116, 189, 190, 127, 137, 138, |
|
|
140, 167, 129, 112, 194] |
|
|
); |
|
|
|
|
|
|
|
|
-- exclui a funcao do banco |
|
|
DROP FUNCTION IF EXISTS inserir_dados_licenca_grupos(text, integer[]); |