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.
 
 
 
 
 
 

125 lines
6.9 KiB

<?php
require_once('funcoesFormulario.php');
$cssBlock = '<style type="text/css"> img {vertical-align: bottom; border: 0}</style>';
$txtConsulta = '';
$templateName = 'discador/conCampanha.htm';
$fieldImg = array(0 => 'imgSite/campanha16cancelada.png', 1 => 'imgSite/campanha16on.png', 2 => 'imgSite/campanha16supensa.png', 3 => 'imgSite/campanha16concluida.png');
$colspan = 10;
$org_id = GetOrganizacao();
$tipoCancelada = isset($_REQUEST["tipoCancelada"]) ? $_REQUEST["tipoCancelada"] : null;
$tipoAtiva = isset($_REQUEST["tipoAtiva"]) ? $_REQUEST["tipoAtiva"] : null;
$tipoSuspensa = isset($_REQUEST["tipoSuspensa"]) ? $_REQUEST["tipoSuspensa"] : null;
$tipoConcluida = isset($_REQUEST["tipoConcluida"]) ? $_REQUEST["tipoConcluida"] : null;
$paramPesquisa = isset($_REQUEST['paramPesquisa']) ? $_REQUEST['paramPesquisa'] : '';
$filtro = isset($_REQUEST["paramPesquisa"]) ? trim($_REQUEST["paramPesquisa"]) : '';
$filtroNovo = !isset($_REQUEST["pgn"]) ? '' : sprintf("&paramPesquisa%s&pgn=%s&bloco=%s&pg=%s", $_REQUEST["paramPesquisa"], $_REQUEST["pgn"], $_REQUEST["bloco"], $_REQUEST["pg"]);
$recontaPag = ($acao == 'inseri') || (GetFormAcao() == FORM_DELETE) || isset($_POST['pesquisa']);
$dataIni = isset($_REQUEST["dataIni"]) ? $_REQUEST["dataIni"] : '';
$dataFim = isset($_REQUEST["dataFim"]) ? $_REQUEST["dataFim"] : '';
$idUser = GetIdUser();
$compl = '';
if (isset($_REQUEST['paramPesquisa']) && $_REQUEST['paramPesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("AND (a.cmp_descricao ILIKE %s OR d.nome ILIKE %s OR a.id_dac::TEXT ILIKE %s )", $compl, $compl, $compl);
}
$query = "SELECT a.cmp_id, a.cmp_descricao, b.list_id, a.id_dac, d.nome AS nome_dac, a.cmp_status,
a.data_registro, COUNT(c.cont_id) AS quantidade_contatos,
SUM(c.cont_discado) AS quantidade_discados, SUM(case when(c.cont_discado = 1)then 0 else 1 end) AS quantidade_pendente
FROM pbx_campanha a
INNER JOIN pbx_dacs d ON d.id = a.id_dac
INNER JOIN pbx_campanha_lista b ON b.cmp_id = a.cmp_id AND b.list_id = (select max(list_id) from pbx_campanha_lista where cmp_id = a.cmp_id)
INNER JOIN pbx_campanha_contato c ON c.list_id = b.list_id
WHERE a.org_id = $org_id";
$tipoCancelada ? $status .= '0,' : $status .= "null,";
$tipoAtiva ? $status .= '1,' : $status .= "null,";
$tipoSuspensa ? $status .= '2,' : $status .= "null,";
$tipoConcluida ? $status .= '3' : $status .= "null";
if (!$tipoCancelada && !$tipoAtiva && !$tipoSuspensa && !$tipoConcluida) {
$query .= " AND a.cmp_status IN('1', '2', '3') $compl";
} else {
$query .= " AND a.cmp_status IN($status) $compl";
}
$query .= !IsAdmin() ? " AND exists(SELECT '' FROM pbx_fila_grupos f, pbx_grupo_usuario u where u.gp_id = f.gp_id and f.id = a.id_dac and u.user_id = '{$idUser}')" : '';
if ($dataIni && $dataFim) {
$query .= sprintf("AND data_registro::DATE >= '%s' ", FormatDtMssql($dataIni));
$query .= sprintf("AND data_registro::DATE <= '%s' ", FormatDtMssql($dataFim));
}
$query .= "GROUP BY a.cmp_id, a.cmp_descricao, b.list_id, a.id_dac, d.nome, a.cmp_status, a.data_registro
ORDER BY a.cmp_id DESC";
$linhas = '';
$count = 0;
$params = "&paramPesquisa=$filtro&dataIni=$dataIni&dataFim=$dataFim";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " LIMIT $regPagina OFFSET $offSet";
//if(IsAdmin()){echo $query; exit;}
$result = pg_query($dbcon, $query);
if (pg_fetch_all($result)) {
while ($dados = pg_fetch_array($result, null, PGSQL_ASSOC)) {
$id = $dados["cmp_id"];
$desc = $dados["cmp_descricao"];
$idDac = $dados["id_dac"];
$nomeDac = $dados["nome_dac"];
$status = $dados["cmp_status"];
$data = FormataDataDbDataDisplay($dados["data_registro"]);
$qtContatos = $dados["quantidade_contatos"];
$qtDiscado = $dados["quantidade_discados"];
$qtPendente = $dados["quantidade_pendente"];
$imgStatus = $fieldImg[$status];
$imgStatus = "<img src=\"$imgStatus\" width=\"16\" height=\"16\" border=\"0\" title=\"Modifica o status da campanha!\">";
$imgStatus = "<a href=\"javaScript:NovaJanela('index.php?idProg=116&formAction=0&cmp_id=$id', 'jnArqCampanha', '400', '150', 'resizable=NO,scrollbars=NO');\">$imgStatus</a>";
$imgEdit = "<img src=\"imgSite/editaUser.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Insere listas a campanhas existentes!\">";
$imgEdit = "<a href=\"javaScript:NovaJanela('index.php?idProg=113&formAction=0&cmp_id=$id', 'jnArqCampanha', '1000', '500', 'resizable=NO,scrollbars=NO');\">$imgEdit</a>";
$descMostra = "<a style=\"color: #000;\" href=\"javaScript:NovaJanela('index.php?idProg=113&formAction=0&cmp_id=$id', 'jnArqCampanha', '1000', '500', 'resizable=NO,scrollbars=NO');\">$desc</a>";
$imgUser = "<img src=\"imgSite/clienteParc16.gif\" width=\"16\" height=\"16\" border=\"0\" title=\"Configura Usu<EFBFBD>rios da Campanha!\">";
$imgUser = "<a href=\"javaScript:NovaJanela('index.php?idProg=115&formAction=0&cmp_id=$id', 'jnUsrCampanha', '610', '275', 'resizable=NO,scrollbars=NO');\">$imgUser</a>";
$linhas .= "<tr>
<td align=\"center\">$id</td>
<td align=\"center\">$data</td>
<td>$descMostra</td>
<td>$idDac-$nomeDac</td>
<td align=\"right\">$qtContatos</td>
<td align=\"right\">$qtDiscado</td>
<td align=\"right\">$qtPendente</td>
<td width=\"20\" align=\"center\" style=\"border-right: 0\">$imgStatus</td>
<td width=\"20\" align=\"center\" style=\"border-left: 0; border-right: 0\">$imgEdit</td>
<td width=\"20\" align=\"center\" style=\"border-left: 0\">$imgUser</td>
</tr>";
$count++;
}
} else {
$linhas .= "<tr><td align=\"center\" colspan=\"8\"><b>Nenhum registro encontrado!</b></td><t/r>";
}
$imgNovo = GetLinkForm('&cmp_id=0' . $filtroNovo, 113, 'arqCampanha', "Nova Campanha", 700, 500, 'images/novo.gif', ' Nova Campanha');
$smarty->assign('linhas', $linhas);
$smarty->assign("paramPesquisa", $paramPesquisa);
$smarty->assign("imgNovo", $imgNovo);
$smarty->assign("links", $links);
$smarty->assign("pagMostra", $pagMostra);
$smarty->assign("totalReg", $totalReg);
$smarty->assign("pgn", $_REQUEST["pgn"]);
$smarty->assign("bloco", $_REQUEST["bloco"]);
$smarty->assign("pg", $_REQUEST["pg"]);
$smarty->assign("dataIni", $dataIni);
$smarty->assign("dataFim", $dataFim);
$smarty->assign("cancelada", $tipoCancelada ? "checked" : '');
$smarty->assign("ativa", $tipoAtiva ? "checked" : '');
$smarty->assign("concluida", $tipoConcluida ? "checked" : '');
$smarty->assign("suspensa", $tipoSuspensa ? "checked" : '');
GetTemplate($smarty, $templateName);