@ -181,18 +181,19 @@
*/
function __createCamp() {
global $dbcon;
$org_id = $_SESSION['SSEmpresaPadrao'];
try {
__transaction('BEGIN;');
$query = "SELECT cmp_id FROM pbx_campanha WHERE cmp_descricao = 'CAMPANHA_SERVICE_MAIL'";
$query = "SELECT cmp_id FROM pbx_campanha pc WHERE cmp_descricao = 'CAMPANHA_SERVICE_MAIL' AND pc.org_id = $org_id ";
$result = pg_query($dbcon, $query);
$res = pg_fetch_assoc($result);
if (!$res['cmp_id']) {
$query = "INSERT INTO pbx_campanha(cmp_descricao, cmp_ramal, id_dac, cmp_aguarda_agente, cmp_numero_ligacoes_agente, ident_proc, cmp_status, cmp_tipo_campanha, cmp_seletiva)
VALUES(%s,'-1',%s,'1','1',%s,'2','3','1') RETURNING cmp_id;";
$query = sprintf($query, QuotedStr('CAMPANHA_SERVICE_MAIL'), QuotedStr('00'), QuotedStr('Inserido: listacampanhaemail Data: ' . date('Y-m-d H:i:s')));
$query = "INSERT INTO pbx_campanha(cmp_descricao, cmp_ramal, id_dac, cmp_aguarda_agente, cmp_numero_ligacoes_agente, ident_proc, cmp_status, cmp_tipo_campanha, cmp_seletiva, org_id )
VALUES(%s,'-1',%s,'1','1',%s,'2','3','1', %d ) RETURNING cmp_id;";
$query = sprintf($query, QuotedStr('CAMPANHA_SERVICE_MAIL'), QuotedStr('00'), QuotedStr('Inserido: listacampanhaemail Data: ' . date('Y-m-d H:i:s')), $org_id );
$result = pg_query($dbcon, $query);
$res = pg_fetch_assoc($result);
@ -229,6 +230,7 @@
global $dbcon;
$regfail = 0;
$regsuccess = 0;
$org_id = $_SESSION['SSEmpresaPadrao'];
try {
__transaction('BEGIN;');
@ -238,7 +240,7 @@
* Table: pbx_campanha_lista
* CRIA UM LISTA PARA A CAMPANHA
*/
$sql = "INSERT INTO pbx_campanha_lista(cmp_id, list_nome, list_file, list_status, id_usuario, list_id_tpl) VALUES('{$cmp_id}', '{$nomelist}', '{$nomelist}', '1', '{$user['id']}', {$temp}) RETURNING list_id;";
$sql = "INSERT INTO pbx_campanha_lista(cmp_id, list_nome, list_file, list_status, id_usuario, list_id_tpl, org_id ) VALUES('{$cmp_id}', '{$nomelist}', '{$nomelist}', '1', '{$user['id']}', {$temp}, {$org_id }) RETURNING list_id;";
$result = pg_query($dbcon, $sql);
if (!$result) {
@ -264,8 +266,8 @@
/** LOCAL PARA CRIAR REGRAS DE ENVIOS */
/** FIM DA REGRA */
/** @pbx_campanha_contato */
$query1 = sprintf(" INSERT INTO pbx_campanha_contato(cmp_id, list_id, cont_identificador, cont_param1, cont_param2, cont_param3, cont_param4, cont_status, conf_matricula_exclusiva) "
. "VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s) RETURNING cont_id; ",
$query1 = sprintf(" INSERT INTO pbx_campanha_contato(cmp_id, list_id, cont_identificador, cont_param1, cont_param2, cont_param3, cont_param4, cont_status, conf_matricula_exclusiva, org_id ) "
. "VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %d ) RETURNING cont_id; ",
QuotedStr($cmp_id),
QuotedStr($lstCamp['list_id']),
QuotedStr($value['client_id']),
@ -274,7 +276,8 @@
QuotedStr($value['client_documento']),
QuotedStr($telefone),
QuotedStr(0),
QuotedStr($value['client_user_contato']));
QuotedStr($value['client_user_contato']),
$org_id);
$result = pg_query($dbcon, $query1);
if (!$result) {
@ -284,7 +287,7 @@
$cont_id = pg_fetch_assoc($result)['cont_id'];
/** @pbx_campanha_contato_fone */
$query2 = sprintf(" INSERT INTO pbx_campanha_contato_fone(cmp_id, list_id, cont_id, conf_fone, conf_status, conf_status_lista, conf_discado) "
$query2 = sprintf(" INSERT INTO pbx_campanha_contato_fone(cmp_id, list_id, cont_id, conf_fone, conf_status, conf_status_lista, conf_discado, org_id ) "
. "VALUES(%s, %s, %s, %s, %s, %s, %s) RETURNING conf_id;",
QuotedStr($cmp_id),
QuotedStr($lstCamp['list_id']),
@ -292,7 +295,8 @@
QuotedStr($value['client_email']),
QuotedStr(0),
QuotedStr(1),
QuotedStr(0)
QuotedStr(0),
$org_id
);
$result = pg_query($dbcon, $query2);
@ -304,7 +308,7 @@
$conf_id = pg_fetch_assoc($result)['conf_id'];
/** @pbx_campanha_registro */
$query3 = "INSERT INTO pbx_campanha_registro (list_id, cont_id, conf_id, ctp_id, matricula_exclusiva, contato_cmpr, status_cmpr, inicio_cmpr, user_reg) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s)";
$query3 = "INSERT INTO pbx_campanha_registro (list_id, cont_id, conf_id, ctp_id, matricula_exclusiva, contato_cmpr, status_cmpr, inicio_cmpr, user_reg, org_id ) VALUES(%s, %s, %s, %s, %s, %s, %s, %s, %s, %d )";
$query = sprintf($query3,
QuotedStr($lstCamp['list_id']),
QuotedStr($cont_id),
@ -314,7 +318,8 @@
QuotedStr($value['client_email']),
'0',
QuotedStr(date('Y-m-d H:i:s')),
QuotedStr($user['id']));
QuotedStr($user['id']),
$org_id);
$result = pg_query($dbcon, $query);
if (!$result) {
@ -332,7 +337,7 @@
if ($regsuccess) {
flash("A campanha foi registrado com sucesso! Criados: {$regsuccess} Regeitados: {$regfail}.", 'green');
} else {
$query = "DELETE FROM pbx_campanha_lista WHERE list_id = {$lstCamp['list_id']};";
$query = "DELETE FROM pbx_campanha_lista WHERE list_id = {$lstCamp['list_id']} AND org_id = $org_id ;";
pg_query($dbcon, $query);
flash("Nenhum registro foi adicionado a campanha! Criados: {$regsuccess} Regeitados: {$regfail}", 'red');
}
@ -342,7 +347,9 @@
}
function __GetAdminCampanha($matricula) {
$query = "SELECT * FROM pbx_fornecedor_permissao WHERE matricula_permissao = '$matricula'";
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT * FROM pbx_fornecedor_permissao WHERE matricula_permissao = '$matricula' AND org_id = $org_id";
$result = pg_query($query);
$resp = pg_fetch_assoc($result);
return $resp;
@ -361,14 +368,16 @@
function __GetParam() {
global $dbcon;
$query = "SELECT * FROM pbx_campanha_parametros";
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT * FROM pbx_campanha_parametros WHERE org_id = $org_id";
$result = pg_query($dbcon, $query);
return pg_fetch_assoc($result);
}
function __SetFinalizarLista($listId) {
global $dbcon;
$query = "UPDATE pbx_campanha_lista SET list_status = 2 WHERE list_id = {$listId};";
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "UPDATE pbx_campanha_lista SET list_status = 2 WHERE list_id = {$listId} AND org_id = $org_id;";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception('Não foi possível para a campanha em execução!');
@ -377,17 +386,18 @@
function __GetCampanhaList() {
global $dbcon;
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = sprintf("SELECT b.list_id, b.data_reg, list_status, SUM(CASE WHEN(conf_discado = 1)THEN 1 ELSE 0 END) AS enviados, count(*) AS total
FROM pbx_campanha a
INNER JOIN pbx_campanha_lista b ON b.cmp_id = a.cmp_id
INNER JOIN pbx_campanha_contato c ON b.list_id = c.list_id
INNER JOIN pbx_campanha_contato_fone d ON c.cont_id = d.cont_id
INNER JOIN pbx_cliente e ON e.client_id = c.cont_identificador::INT
INNER JOIN pbx_campanha_lista b ON b.cmp_id = a.cmp_id AND b.org_id = a.org _id
INNER JOIN pbx_campanha_contato c ON b.list_id = c.list_id AND b.org_id = c.org_id
INNER JOIN pbx_campanha_contato_fone d ON c.cont_id = d.cont_id AND c.org_id = d.org_id
INNER JOIN pbx_cliente e ON e.client_id = c.cont_identificador::INT AND e.org_id = c.org_id
LEFT JOIN pbx_usuarios f ON f.matricula = e.client_user_contato
WHERE list_id_tpl IS NOT NULL
AND conf_status_lista = '1'
AND cmp_tipo_campanha = 3
AND a.org_id = $org_id
%s
GROUP BY b.list_id, b.data_reg, list_status
ORDER BY list_id DESC", (!IsAdmin() ? "AND b.id_usuario = " . GetIdUser() : ''));