PABX da Simples IP
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

172 lines
9.1 KiB

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_pa_fixo 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 DEFAULT 0;
ALTER TABLE IF EXISTS pbx_grupo
ADD COLUMN gp_descricao varchar(255);
--insere os grupos e sua descricao
INSERT INTO pbx_grupo (gp_id, gp_nome, gp_status, user_id, gp_user, gp_system, gp_descricao)
VALUES ('-2', 'SMART', 1, 0, 0, 1, 'Linha com baixo custo e e recursos basicos para pequenos negocios.'),
('-3', 'ISP', 1, 0, 0, 1, 'Atende o nicho de provedores de internet e possui alguns recursos exclusivos para o setor.'),
('-4', 'CORP', 1, 0, 0, 1, 'Perfil desenhado para atender o segmento corporativo com exigencia de alta disponibilidade e recursos avancados.'),
('-5', 'SX', 1, 0, 0, 1, 'A linha de melhor custo beneficio do mercado, flexivel adapta-se a qualquer modelo de negocio.'),
('-6', 'ALGAR', 1, 0, 0, 1, 'Perfil criado para atender a parceria Algar, utilizado em sua revendas.'),
('-7', 'GOV', 1, 0, 0, 1, 'Desenvolvido para clientes governamentais com altos requisitos de seguran<EFBFBD>a.'),
('-8', '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[]);