-- select * from pbx_funcoes_internas where id_prog in(112, 113, 115, 116); /** * @author Amarildo Pereira * @copyright (c) 2020, Simples IP. * @data 2020-08-11 * Descricao: Modificar campanha do discador para suportar multiplos tipos de campanha, * com e-mail, sms, app, ura, power dial. * O arquivo da campanha sofrera alteracoes para suportar os multiplos tipos de registro, * o primeiro campo do registro indicara o tipo de campanha, sendo: * 1 -> Campanha discador semi-automatico; * 3 -> Campanha de e-mail; * 4 -> Campanha de SMS; * 5 -> Campanha de discador URA; * 6 -> Campanha de discador Power Dial; * 7 -> Campanha de discador Preditivo; * 8 -> Campanha para App, um campo indicara o tipo do app e a API de envio devera fazer o tratamento; * 2 -> Indica registros da campanha, ou alvos com as devidas configuracoes para cada tipo de envio. */ --select * from pbx_dacs; Select * from pbx_campanha; Select * from pbx_campanha_contato; Select * from pbx_campanha_contato_display; Select * from pbx_campanha_contato_fone; Select * from pbx_campanha_contato_status; Select * from pbx_campanha_lista; select * from pbx_campanha_operacao; Select * from pbx_campanha_status; Select * from pbx_campanha_usuarios; delete from pbx_campanha where cmp_id = 72; delete from pbx_campanha_contato where cmp_id = 72; delete from pbx_campanha_contato_display where cmp_id = 72; delete from pbx_campanha_contato_fone where cmp_id = 72; delete from pbx_campanha_lista where cmp_id = 72; delete from pbx_campanha_operacao where cmp_id = 72; delete from pbx_campanha_usuarios where cmp_id = 72; -- Configuracao do status da campanha. /** * Status da campanha. * 0 -> Excluida * 1 -> Ativa * 2 -> Inativa * 3 -> Cocluida * A tabela "pbx_campanha_status armazena" estes status. * select cpst_id, cpst_nome, cpst_status from pbx_campanha_status; * Valores iniciais: insert into pbx_campanha_status values(0,'Excluida', 1); insert into pbx_campanha_status values(1,'ATIVA', 1); insert into pbx_campanha_status values(2,'INATIVA',1); insert into pbx_campanha_status values(3,'CONCLUIDA',1); * * Metadata da tabela: * -- DROP TABLE pbx_campanha_status; CREATE TABLE pbx_campanha_status( cpst_id integer NOT NULL, cpst_nome character varying(60), cpst_status integer NOT NULL DEFAULT 1, CONSTRAINT pbx_campanha_status_pkey PRIMARY KEY (cpst_id) ); * */ ----------------------------------------------------------------------------------------------------------------------------------------- | ID | DESCRICAO | ARQUIVO | ----------------------------------------------------------------------------------------------------------------------------------------- |112 | Lista campanhas e seus status | discador/campanha/campanha.php; | ----------------------------------------------------------------------------------------------------------------------------------------- |113 | Insere nova campanha ou adciona listas a campanha existente | discador/campanha/campanhaLista.php | ----------------------------------------------------------------------------------------------------------------------------------------- |115 | Permite associar usuários as campanhas | discador/campanha/campanhaUsuario.php | ----------------------------------------------------------------------------------------------------------------------------------------- |116 | Alterar os status das campanhas | discador/campanha/campanhaAtivacao.php | ----------------------------------------------------------------------------------------------------------------------------------------- |||| |||| |||| |||| |||| ----------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------- /* * Alteracoes necessarias */ alter table pbx_campanha_contato_fone alter column conf_fone type varchar(128); alter table pbx_campanha add cmp_dados_envio text; alter table pbx_campanha_lista add list_dados_envio text; /* * Tabelas removidas do projeto CAMPANHAS. * Tabelas: * pbx_campanha_agendamento; * pbx_campanha_audio; * pbx_chamadas_internas; * pbx_campanha_canais_discando; * pbx_campanha_complemento; * pbx_campanha_modelos; * pbx_campanha_troncos; * pbx_campanha_grupos; -- DROP TABLE pbx_campanha_agendamento; CREATE TABLE pbx_campanha_agendamento ( agd_matricula character varying(4) NOT NULL, agd_data timestamp without time zone NOT NULL, agd_fone character varying(30) NOT NULL, agd_tipo integer, agd_status character varying(50), conf_id integer NOT NULL, cmp_id integer NOT NULL, list_id integer NOT NULL, cont_id integer NOT NULL, data_reg timestamp without time zone NOT NULL DEFAULT now(), agd_agendado integer NOT NULL DEFAULT 0, agd_id serial NOT NULL, agd_callfile character varying(255), CONSTRAINT "pkCampanhaComplemento" PRIMARY KEY (agd_matricula, agd_fone, agd_data, agd_id) ); -- DROP TABLE pbx_campanha_audio; CREATE TABLE pbx_campanha_audio ( uniqueid character varying(32) NOT NULL, aud_nome character varying(100), matricula character varying(4), aud_data date, data_inicio timestamp without time zone NOT NULL DEFAULT now(), data_fim timestamp without time zone, cmp_id integer ); -- DROP VIEW pbx_chamadas_internas; CREATE OR REPLACE VIEW pbx_chamadas_internas AS SELECT 'interna'::character varying AS tipo, 0 AS iddac, '-'::character varying AS fila, '-'::character varying AS apelido, '0'::character varying AS matricula, a.calldate, a.src, b.destino, a.billsec AS duration, COALESCE(a.userfield::text, c.aud_nome::text) AS userfield, 0 AS protocolo FROM pbx_bilhetes a JOIN pbx_bilhetes_complemento b ON b.uniqueid2::text = a.uniqueid::text LEFT JOIN pbx_campanha_audio c ON c.uniqueid::text = a.uniqueid::text WHERE rtrim(a.userfield::text) <> ''::text AND b.direcao::text = 'interna'::text AND a.billsec > 0; -- DROP TABLE pbx_campanha_canais_discando; CREATE TABLE pbx_campanha_canais_discando ( id_canais serial NOT NULL, id_cliente integer, canal character varying(200), data timestamp without time zone, status integer NOT NULL DEFAULT 0, CONSTRAINT pbx_campanha_canais_discando_pkey PRIMARY KEY (id_canais) ); -- DROP TABLE pbx_campanha_complemento; CREATE TABLE pbx_campanha_complemento ( id bigserial NOT NULL, uniqueid character varying(32) NOT NULL, matricula character varying(10) NOT NULL, login_id integer, ramal character varying(10), cmp_id bigint, list_id bigint, cont_id bigint, conf_id bigint, data_reg timestamp without time zone NOT NULL DEFAULT now(), CONSTRAINT pbx_campanha_complemento_pkey PRIMARY KEY (id) );; -- Index: "idxCmpCompConfId" -- DROP INDEX "idxCmpCompConfId"; CREATE INDEX "idxCmpCompConfId" ON pbx_campanha_complemento USING btree (conf_id); -- Index: "idxCmpCompMatricula" -- DROP INDEX "idxCmpCompMatricula"; CREATE INDEX "idxCmpCompMatricula" ON pbx_campanha_complemento USING btree (matricula); -- Index: "idxCmpComplLoginId" -- DROP INDEX "idxCmpComplLoginId"; CREATE INDEX "idxCmpComplLoginId" ON pbx_campanha_complemento USING btree (login_id); -- Index: "idxCmpComplUnqid" -- DROP INDEX "idxCmpComplUnqid"; CREATE INDEX "idxCmpComplUnqid" ON pbx_campanha_complemento USING btree (uniqueid); -- DROP TABLE pbx_campanha_modelos; -- select * from pbx_campanha_modelos CREATE TABLE pbx_campanha_modelos ( cpmd_id serial NOT NULL, cmp_id integer NOT NULL, cpmd_modelo character varying(100), cpmd_nome_modelo character varying(100), cpmd_recorte character varying(10), cpmd_acrescenta character varying(10), id_usuario integer, data_registro timestamp without time zone NOT NULL DEFAULT now(), ident_proc character varying(255), CONSTRAINT pbx_campanha_modelos_pkey PRIMARY KEY (cpmd_id) ); -- DROP TABLE pbx_campanha_troncos; CREATE TABLE pbx_campanha_troncos ( cptr_id serial NOT NULL, cmp_id integer, cpmd_id integer, cptr_tronco integer, cptr_nome_tronco character varying(100), id_usuario integer, data_registro timestamp without time zone NOT NULL DEFAULT now(), ident_proc character varying(255), cpmd_modelo character varying(100), CONSTRAINT pbx_campanha_troncos_pkey PRIMARY KEY (cptr_id) ); -- DROP TABLE pbx_campanha_grupos; CREATE TABLE pbx_campanha_grupos ( cmp_id integer NOT NULL, gp_id integer NOT NULL, CONSTRAINT pbx_campanha_grupos_pkey PRIMARY KEY (cmp_id, gp_id) ); */