Browse Source

Merge pull request 'Correções em campanhas na 1.9' (#283) from matheorb/developer:dev-1.9 into 1.9

Reviewed-on: SimplesIP/pabx-app#283
1.9-pjsip
Matheo Bonucia 2 months ago
parent
commit
19e9cdc2eb
  1. 52
      cadastros/cliente/clienteMail.php
  2. 2
      contacteFunc.php
  3. 16
      include/util/funcoesApl.php

52
cadastros/cliente/clienteMail.php

@ -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() : ''));

2
contacteFunc.php

@ -1153,7 +1153,7 @@ function GetUsuario($dbcon, $matricula)
{
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT id, nome, apelido, matricula, email FROM pbx_usuarios pu INNER JOIN pbx_organizacao_usuarios pou ON pu.id = pou.id_usuario and pou.id_organizacao = $org_id WHERE matricula = '{$matricula}'";
$query = "SELECT pu.id, nome, apelido, matricula, email FROM pbx_usuarios pu INNER JOIN pbx_organizacao_usuarios pou ON pu.id = pou.id_usuario and pou.id_organizacao = $org_id WHERE matricula = '{$matricula}'";
$result = pg_query($dbcon, $query);
$data = pg_fetch_assoc($result);
return $data;

16
include/util/funcoesApl.php

@ -3998,15 +3998,15 @@ function PaginaDados($idProg, &$sql, &$params, &$regPagina, &$offSet, &$pagMostr
* Em alguns casos o total de registros é passado direto
* na variavel $sql como um inteiro.
*/
$org_id = GetOrganizacao();
// $org_id = GetOrganizacao();
if (strpos($sql, 'org_id') === false && strpos($sql, 'id_organizacao') === false) {
if (strpos($sql, 'where') !== false) {
$sql = str_replace("where", "where org_id = {$org_id} and", $sql);
} else if (strpos($sql, 'WHERE') !== false) {
$sql = str_replace("WHERE", "WHERE org_id = {$org_id} AND", $sql);
}
}
// if (strpos($sql, 'org_id') === false && strpos($sql, 'id_organizacao') === false) {
// if (strpos($sql, 'where') !== false) {
// $sql = str_replace("where", "where org_id = {$org_id} and", $sql);
// } else if (strpos($sql, 'WHERE') !== false) {
// $sql = str_replace("WHERE", "WHERE org_id = {$org_id} AND", $sql);
// }
// }
// if (strpos($sql, 'org_id') === false && strpos($sql, 'id_organizacao') === false) {
// $org_condition = "org_id = {$org_id}";

Loading…
Cancel
Save