|
|
|
|
CREATE TABLE pbx_organizacao
|
|
|
|
|
(
|
|
|
|
|
id serial NOT NULL PRIMARY KEY,
|
|
|
|
|
nome VARCHAR(128) NOT NULL,
|
|
|
|
|
status INTEGER NOT NULL DEFAULT 1,
|
|
|
|
|
master int not null DEFAULT 0,
|
|
|
|
|
updated_at timestamp without time zone,
|
|
|
|
|
created_at timestamp without time zone NOT NULL DEFAULT now()
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE pbx_organizacao_usuarios
|
|
|
|
|
(
|
|
|
|
|
id SERIAL not null primary key,
|
|
|
|
|
id_usuario INTEGER not null,
|
|
|
|
|
id_organizacao INTEGER not null,
|
|
|
|
|
updated_at timestamp without time zone,
|
|
|
|
|
created_at timestamp without time zone NOT NULL DEFAULT now()
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_organizacao_usuarios ADD CONSTRAINT id_usuario FOREIGN KEY (id_usuario)
|
|
|
|
|
REFERENCES pbx_usuarios(id) ON DELETE CASCADE;
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_organizacao_usuarios ADD CONSTRAINT id_organizacao FOREIGN KEY (id_organizacao)
|
|
|
|
|
REFERENCES pbx_organizacao(id) ON DELETE CASCADE;
|
|
|
|
|
|
|
|
|
|
CREATE OR REPLACE FUNCTION public.tipoligacao(numfone character varying, entrada boolean DEFAULT true, organizacao int default 0)
|
|
|
|
|
RETURNS integer
|
|
|
|
|
LANGUAGE plpgsql
|
|
|
|
|
AS $function$
|
|
|
|
|
declare tam integer;
|
|
|
|
|
declare dddfone integer;
|
|
|
|
|
declare ddddef integer;
|
|
|
|
|
declare nonoDigito integer;
|
|
|
|
|
declare numerofone varchar(18);
|
|
|
|
|
BEGIN
|
|
|
|
|
if(length(numfone) > 18)then
|
|
|
|
|
numerofone = substring(numfone, '..................$');
|
|
|
|
|
else
|
|
|
|
|
numerofone = numfone;
|
|
|
|
|
end if;
|
|
|
|
|
|
|
|
|
|
ddddef = (select prm_ddd_padrao from pbx_parametros where org_id = organizacao);
|
|
|
|
|
|
|
|
|
|
tam = length(strtoint(numerofone)::text);
|
|
|
|
|
nonoDigito = strtoint( substring(substring(numerofone, '.........$'), 1, 1) );
|
|
|
|
|
|
|
|
|
|
if((tam = 3) and (numerofone in('100', '128', '190', '191', '192', '193', '194', '197', '198', '199')))then
|
|
|
|
|
return 4;
|
|
|
|
|
elsif((tam >= 8) and (substring(numerofone,1,4) in('0300','0500','0900','4000','4001','4002','4003','4004', '4005', '4006','4007','4008','4009','0800')))then
|
|
|
|
|
return 5;
|
|
|
|
|
elsif(tam = 8)then
|
|
|
|
|
return (case when(entrada)then 21 else 31 end);
|
|
|
|
|
elsif(tam < 8)then
|
|
|
|
|
return 1;
|
|
|
|
|
elsif((nonoDigito = 9) and (tam < 11))then /* Celular local */
|
|
|
|
|
return (case when(entrada)then 23 else 33 end);
|
|
|
|
|
elseif((not entrada) and (substring(numerofone,1,2) = '00'))then
|
|
|
|
|
return 35;
|
|
|
|
|
end if;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(nonoDigito = 9)then
|
|
|
|
|
dddfone = substring(substring(numerofone, '...........$'), 1, 2);
|
|
|
|
|
else
|
|
|
|
|
dddfone = substring(substring(numerofone, '..........$'), 1, 2);
|
|
|
|
|
|
|
|
|
|
end if;
|
|
|
|
|
|
|
|
|
|
if((nonoDigito = 9) and (dddfone <> ddddef))then
|
|
|
|
|
return (case when(entrada)then 24 else 34 end);
|
|
|
|
|
elsif((nonoDigito = 9) and (dddfone = ddddef))then
|
|
|
|
|
return (case when(entrada)then 23 else 33 end);
|
|
|
|
|
elsif(dddfone <> ddddef)then
|
|
|
|
|
return (case when(entrada)then 22 else 32 end);
|
|
|
|
|
elsif(dddfone = ddddef)then
|
|
|
|
|
return (case when(entrada)then 21 else 31 end);
|
|
|
|
|
end if;
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
|
|
|
|
|
END;
|
|
|
|
|
$function$
|
|
|
|
|
;
|
|
|
|
|
|
|
|
|
|
------------------------------------------
|
|
|
|
|
----- ADICAO DE ID NAS TABELAS -----
|
|
|
|
|
------------------------------------------
|
|
|
|
|
DROP INDEX "idxSipRamaisNome";
|
|
|
|
|
DROP INDEX "pbx_usuarios_matricula_key";
|
|
|
|
|
DROP INDEX "idxUsuariosApelido";
|
|
|
|
|
DROP INDEX "idxGrupNome";
|
|
|
|
|
DROP INDEX "idxSiteNome";
|
|
|
|
|
DROP INDEX "idxUnqBase";
|
|
|
|
|
-----------------
|
|
|
|
|
ALTER TABLE pbx_grupo DROP CONSTRAINT "idxGrupNome";
|
|
|
|
|
ALTER TABLE pbx_usuarios DROP CONSTRAINT pbx_usuarios_new_matricula_key;
|
|
|
|
|
ALTER TABLE pbx_grupo_usuario DROP CONSTRAINT "pkGpUserId";
|
|
|
|
|
ALTER TABLE pbx_grupo ADD CONSTRAINT gp_id PRIMARY KEY (gp_id);
|
|
|
|
|
-----------------
|
|
|
|
|
-- AUTOMATIZADO NO IMPORTAEMPRESA.PHP
|
|
|
|
|
-- ALTER TABLE pbx_workflow_parametros DROP COLUMN wkf_id;
|
|
|
|
|
-- ALTER TABLE pbx_parametros DROP COLUMN id;
|
|
|
|
|
-- ALTER TABLE pbx_sip_general ADD COLUMN id SERIAL PRIMARY KEY;
|
|
|
|
|
-- ALTER TABLE pbx_iax_general ADD COLUMN id SERIAL PRIMARY KEY;
|
|
|
|
|
-- ALTER TABLE pbx_facilidades ADD COLUMN id SERIAL PRIMARY KEY;
|
|
|
|
|
-- ALTER TABLE pbx_features_general ADD COLUMN id SERIAL PRIMARY KEY;
|
|
|
|
|
-- ALTER TABLE pbx_features_featuremap ADD COLUMN id SERIAL PRIMARY KEY;
|
|
|
|
|
-- ALTER TABLE pbx_voicemail_general ADD COLUMN id SERIAL PRIMARY KEY;
|
|
|
|
|
-- ALTER TABLE pbx_workflow_parametros ADD COLUMN wkf_id SERIAL PRIMARY KEY;
|
|
|
|
|
-- ALTER TABLE pbx_parametros ADD COLUMN id SERIAL PRIMARY KEY;
|
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------
|
|
|
|
|
---------Correcao do tipo da senha do Conta e Senha------------
|
|
|
|
|
---------------------------------------------------------------
|
|
|
|
|
ALTER TABLE pbx_cs_usuarios
|
|
|
|
|
ALTER COLUMN senha TYPE VARCHAR(100);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------
|
|
|
|
|
---------Remocao do conflito entre nomes de status-------------
|
|
|
|
|
---------------------------------------------------------------
|
|
|
|
|
ALTER TABLE pbx_campanha_contato_status
|
|
|
|
|
DROP CONSTRAINT idxcontstatusnome;
|
|
|
|
|
|
|
|
|
|
---------------------------------------------------------------
|
|
|
|
|
--Troca de posicao da coluna ID para retirar conflitos do IAX--
|
|
|
|
|
---------------------------------------------------------------
|
|
|
|
|
ALTER TABLE pbx_iax_general
|
|
|
|
|
ADD COLUMN id SERIAL PRIMARY key;
|
|
|
|
|
|
|
|
|
|
CREATE TABLE pbx_tokens (
|
|
|
|
|
id serial NOT NULL PRIMARY KEY,
|
|
|
|
|
"token" varchar(255) NOT NULL,
|
|
|
|
|
id_usuario int4 NOT NULL,
|
|
|
|
|
refresh_token varchar(255) NOT NULL,
|
|
|
|
|
expired_at timestamp NULL,
|
|
|
|
|
updated_at timestamp NULL,
|
|
|
|
|
created_at timestamp NULL DEFAULT now()
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE pbx_meet (
|
|
|
|
|
id SERIAL NOT NULL PRIMARY KEY,
|
|
|
|
|
meet_id VARCHAR(255) NOT NULL,
|
|
|
|
|
nome VARCHAR(255) NOT NULL,
|
|
|
|
|
token VARCHAR(255) NOT NULL,
|
|
|
|
|
status INT NOT NULL default(1),
|
|
|
|
|
data_reg TIMESTAMP WITHOUT TIME ZONE DEFAULT(NOW())
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
CREATE TABLE pbx_meet_people (
|
|
|
|
|
id SERIAL NOT NULL PRIMARY KEY,
|
|
|
|
|
meet_id VARCHAR(255) NOT NULL,
|
|
|
|
|
nome VARCHAR(255) NOT NULL,
|
|
|
|
|
people_id VARCHAR(50) NOT NULL,
|
|
|
|
|
left_meet TIMESTAMP WITHOUT TIME ZONE,
|
|
|
|
|
join_meet TIMESTAMP WITHOUT TIME ZONE DEFAULT(NOW())
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_parametros DROP COLUMN prm_chat_api_supervisor;
|
|
|
|
|
ALTER TABLE pbx_parametros DROP COLUMN prm_media_simultaneo;
|
|
|
|
|
ALTER TABLE pbx_parametros ADD COLUMN prm_url_meet VARCHAR(250);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Alteracao da view pbx_ramais, foi acrescentada a bina e removido os ramais pbx.
|
|
|
|
|
|
|
|
|
|
CREATE OR REPLACE VIEW public.pbx_ramais
|
|
|
|
|
AS
|
|
|
|
|
SELECT a.id,
|
|
|
|
|
'SIP'::text AS tipo_ramal,
|
|
|
|
|
a.nome,
|
|
|
|
|
a.callerid as bina,
|
|
|
|
|
a.dispositivo,
|
|
|
|
|
a.context AS contexto,
|
|
|
|
|
a.habilita_prepago,
|
|
|
|
|
a.saldo_prepago,
|
|
|
|
|
a.ramalsecretaria,
|
|
|
|
|
a.sigame_interno,
|
|
|
|
|
a.sigame_externo,
|
|
|
|
|
a.sigame_naoatende,
|
|
|
|
|
a.sigame_ocupado,
|
|
|
|
|
a.extranet,
|
|
|
|
|
a.org_id
|
|
|
|
|
FROM pbx_sip_ramais a
|
|
|
|
|
UNION ALL
|
|
|
|
|
SELECT b.id,
|
|
|
|
|
'IAX2'::text AS tipo_ramal,
|
|
|
|
|
b.nome,
|
|
|
|
|
b.identificador as bina,
|
|
|
|
|
b.dispositivo,
|
|
|
|
|
b.context AS contexto,
|
|
|
|
|
b.habilita_prepago,
|
|
|
|
|
b.saldo_prepago,
|
|
|
|
|
b.ramalsecretaria,
|
|
|
|
|
b.sigame_interno,
|
|
|
|
|
b.sigame_externo,
|
|
|
|
|
b.sigame_naoatende,
|
|
|
|
|
b.sigame_ocupado,
|
|
|
|
|
''::character varying(256) AS extranet,
|
|
|
|
|
b.org_id
|
|
|
|
|
FROM pbx_iax_pbx b
|
|
|
|
|
ORDER BY 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
update pbx_usuarios set user_system = 1, email = apelido || '@system.cloud' where id in(341,342,462,467);
|
|
|
|
|
alter table pbx_usuarios alter column email set not null;
|
|
|
|
|
|
|
|
|
|
-- Indices para tabela de usuarios para garantir unicidade de login no sistema e apelido por organizadao.
|
|
|
|
|
drop index if exists idxPbxUsuariosApelido;
|
|
|
|
|
drop index if exists "PbxUsuariosEmail";
|
|
|
|
|
create unique index "idxPbxUsuariosEmail" on pbx_usuarios(email);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-- Removendo a chave prim<EFBFBD>ria existente
|
|
|
|
|
ALTER TABLE pbx_usuarios DROP CONSTRAINT if exists "pbx_usuarios_pkey";
|
|
|
|
|
ALTER TABLE pbx_usuarios DROP CONSTRAINT if exists "pkPbxUsuarios";
|
|
|
|
|
|
|
|
|
|
-- Adicionando nova chave prim<EFBFBD>ria
|
|
|
|
|
ALTER TABLE pbx_usuarios ADD CONSTRAINT "pkPbxUsuarios" PRIMARY KEY (id);
|
|
|
|
|
|
|
|
|
|
-- Recolocando protecao contra sql injection que foi removida.git
|
|
|
|
|
update pbx_usuarios set check_vl = md5(email);
|
|
|
|
|
|
|
|
|
|
-- Garante a unicidade do nome do grupo por organizacao.
|
|
|
|
|
create unique index "idxPbxGrupoNome" on pbx_grupo(gp_nome, org_id);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_sip_ramais
|
|
|
|
|
ADD COLUMN registro varchar(105);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_queues_grupos
|
|
|
|
|
ADD COLUMN numero_asterisk varchar(25);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_queues_grupos
|
|
|
|
|
ADD COLUMN nome_asterisk varchar(105);
|
|
|
|
|
|
|
|
|
|
-- Colunas para o asterisk do pbx_anuncios
|
|
|
|
|
ALTER TABLE pbx_anuncios
|
|
|
|
|
ADD COLUMN id_asterisk varchar(35) default NULL;
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_anuncios
|
|
|
|
|
ADD COLUMN acao_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
ALTER table pbx_anuncios
|
|
|
|
|
ADD COLUMN teste_asterisk varchar(30);
|
|
|
|
|
|
|
|
|
|
-- Colunas para o asterisk do pbx_callback
|
|
|
|
|
Alter table pbx_callback
|
|
|
|
|
ADD COLUMN id_asterisk varchar(35) default NULL;
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_callback
|
|
|
|
|
ADD COLUMN ramal_saida_asterisk varchar(40);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_callback
|
|
|
|
|
ADD COLUMN acao_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_callback
|
|
|
|
|
ADD COLUMN acao1_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o asterisk do disa
|
|
|
|
|
Alter table pbx_disa
|
|
|
|
|
ADD COLUMN numero_asterisk varchar(30);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_disa
|
|
|
|
|
ADD COLUMN acao_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_disa
|
|
|
|
|
ADD COLUMN ramal_saida_asterisk varchar(40);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o asterisk do pbx_rotas_entrada
|
|
|
|
|
Alter table pbx_rotas_entrada
|
|
|
|
|
ADD COLUMN limite_ligacao_pos_acao_asterisk varchar(160);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_rotas_entrada
|
|
|
|
|
ADD COLUMN opcao_asterisk VARCHAR(110);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_rotas_entrada
|
|
|
|
|
ADD COLUMN acao_asterisk VARCHAR(110);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o asterisk do pbx_horarios
|
|
|
|
|
Alter table pbx_horarios
|
|
|
|
|
ADD COLUMN id_asterisk varchar(40);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_horarios
|
|
|
|
|
ADD COLUMN discar_asterisk varchar(40);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_horarios
|
|
|
|
|
ADD COLUMN acao_nao_asterisk VARCHAR(110);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_horarios
|
|
|
|
|
ADD COLUMN acao_ok_asterisk VARCHAR(110);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o asterisk do pbx_iax_pbx
|
|
|
|
|
Alter table pbx_iax_pbx
|
|
|
|
|
ADD COLUMN nome_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_iax_pbx
|
|
|
|
|
ADD COLUMN registro varchar(260);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o pbx_troncos_iax
|
|
|
|
|
Alter table pbx_troncos_iax
|
|
|
|
|
ADD COLUMN nome_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_troncos_iax
|
|
|
|
|
ADD Column context_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
-- coluna para o pbx_troncos_khomp
|
|
|
|
|
Alter table pbx_troncos_khomp
|
|
|
|
|
ADD Column contexto_asterisk varchar(40);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_troncos_khomp
|
|
|
|
|
ADD Column descricao_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o asterisk do pbx_ura
|
|
|
|
|
Alter table pbx_ura
|
|
|
|
|
ADD COLUMN acao_asterisk VARCHAR(110);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o asterisk do pbx_ura_destino
|
|
|
|
|
Alter table pbx_ura_destino
|
|
|
|
|
ADD COLUMN comando_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_ramais_pbx
|
|
|
|
|
ADD COLUMN registro varchar(260);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o asterisk do
|
|
|
|
|
Alter table pbx_voicemail_usuarios
|
|
|
|
|
ADD COLUMN caixa_postal_asterisk varchar(20);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_voicemail_usuarios
|
|
|
|
|
ADD COLUMN numero_ramal_asterisk varchar(110);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_rotas_saida
|
|
|
|
|
ADD COLUMN id_asterisk varchar(30);
|
|
|
|
|
|
|
|
|
|
-- Coluna para o asterisk pbx_horarios_itens
|
|
|
|
|
Alter table pbx_horarios_itens
|
|
|
|
|
ADD COLUMN acao_asterisk varchar(115);
|
|
|
|
|
|
|
|
|
|
--Sempre que iniciar um banco, sera setado o org_id como 1 para master
|
|
|
|
|
|
|
|
|
|
UPDATE pbx_grupo SET org_id = 1 WHERE gp_id IN (28, 29, 30);
|
|
|
|
|
|
|
|
|
|
Alter table pbx_callback
|
|
|
|
|
ADD COLUMN ramal_saida_asterisk varchar(40);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_supervisor_agentes ADD COLUMN registro varchar(105);
|
|
|
|
|
|
|
|
|
|
ALTER TABLE pbx_troncos_sip
|
|
|
|
|
ADD COLUMN context_asterisk VARCHAR(110);
|
|
|
|
|
|
|
|
|
|
ALTER table pbx_troncos_sip
|
|
|
|
|
ADD COLUMN nome_asterisk VARCHAR(110);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|