img {vertical-align: bottom; border: 0}'; $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 = ""; $imgStatus = "$imgStatus"; $imgEdit = ""; $imgEdit = "$imgEdit"; $descMostra = "$desc"; $imgUser = ""; $imgUser = "$imgUser"; $linhas .= " $id $data $descMostra $idDac-$nomeDac $qtContatos $qtDiscado $qtPendente $imgStatus $imgEdit $imgUser "; $count++; } } else { $linhas .= "Nenhum registro encontrado!"; } //$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); ?>