|
|
<?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; |
|
|
|
|
|
$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("¶mPesquisa%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 "; |
|
|
|
|
|
$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 .= "a.cmp_status IN('1', '2', '3') $compl"; |
|
|
} else { |
|
|
$query .= "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"; |
|
|
|
|
|
/* |
|
|
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(COALESCE(c.cont_discado,0)) AS quantidade_discados, (SELECT COUNT(*) FROM pbx_campanha_operacao WHERE cmp_id = a.cmp_id AND list_id = b.list_id AND cmpo_status = 0) 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 (list_status = 1 or 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.cmp_status IN('1', '2', '3') |
|
|
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 = '405') |
|
|
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 |
|
|
*/ |
|
|
// if(IsAdmin()){ echo $query; exit; } |
|
|
|
|
|
$linhas = ''; |
|
|
$count = 0; |
|
|
$params = "¶mPesquisa=$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 = GetLinkFormInsert("jnArqCampanha", 'images/novo.gif', $filtroNovo, ' Nova Campanha'); |
|
|
//$imgNovo = GetOperacoes('arqCampanha', 'jnArqCampanha,images/novo.gif,cmp_id,113,700,500,Insere uma nova campanha!', 0); |
|
|
$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); |
|
|
?>
|
|
|
|