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.
 
 
 
 
 
 

632 lines
26 KiB

<?php
$tpLayout = 1;
$cloid = isset($_GET['clo_id']) ? $_GET['clo_id'] : $_SESSION['SSCloId'];
/**
* Variavel de sessao para manter os status da requisicao
*/
$_SESSION['SSCloId'] = $cloid;
$input = filter_input_array(INPUT_POST, FILTER_SANITIZE_SPECIAL_CHARS);
// var_dump($input); exit;
try {
if (!$cloid) {
throw new Exception('Não foi possível encontrar a lista informada!');
}
###########################
## BOTAO RESET ##
###########################
/**
* RESET DAS CONFIGURACOES DA MATRICULA
*/
if (isset($input['btReset'])) {
if (!resetMatriculaCliente($_SESSION['SSCloId'])) {
throw new Exception("Não foi possível resetar o cadastros dos clientes!");
} else {
$message = "Os clientes foram resetados com configuração default!";
}
}
/**
* COLETA OS DADOS DA LISTA
*/
$listClient = getClienteOrigem($cloid);
/**
* COLETA INFORMACOES DE REGISTROS
*/
$reg = getRegistrosMatricula($cloid);
$regDisponivel = $reg['registros'] - $reg['registros_matricula'];
/**
* INFORMACOES DA LISTA SELECIONADA
*/
$lstdados = '';
foreach ($listClient as $value) {
$lstdados .= "<td>{$value['clo_id']}</td>";
$lstdados .= "<td>{$value['clo_titulo']}</td>";
$lstdados .= "<td>{$value['clo_descricao']}</td>";
$lstdados .= "<td>{$value['cfr_razao_social']}</td>";
$lstdados .= "<td>{$value['nome']} - {$value['apelido']}</td>";
$lstdados .= sprintf("<td align='center' style='font-size:14px;color: %s'><strong>%s</strong></td>", $regDisponivel ? '#33cc33' : 'red', $regDisponivel);
$lstdados .= "<td align='center' style='font-size:14px;'><strong>{$reg['registros']}</strong></td>";
$lstdados .= sprintf("<td>%s</td>", date('d/m/Y H:i:s', strtotime($value['data_reg'])));
}
/**
* INFORMACOES DE INSERCAO DOS USUARIOS PERMITIDOS
*/
$lstUsuario = getClienteAgentes();
foreach ($lstUsuario as $value) {
$dadosAgente = ___buscaDadosAgente(getUsuariosRegistros($_SESSION['SSCloId']), 'apelido', $value['apelido']);
$lstAgente .= "<tr>";
$lstAgente .= "<td>{$value['nome']} - {$value['apelido']}</td>";
$lstAgente .= sprintf("<td><input type='number' min='0' max='9999' name='input_{$value['apelido']}' size='4' value='%s'/></td>", $dadosAgente['registros'] ? $dadosAgente['registros'] : 0);
$lstAgente .= "</tr>";
}
###########################
## BOTAO SALVAR ##
###########################
/**
* REGISTRA OS CLIENTES PARA AS MATRICULAS
*/
$agentes = array();
$quantidade = 0;
if ($input['btConfigurar']) {
/**
* COLETA OS DADOS DA REQUISICAO E TRANSFORMA EM ARRAY AS INFORMACOES COMPLEMENTARES
*/
foreach ($input as $key => $value) {
if (strpos($key, 'input_') !== false && $value) {
$stragente = str_replace('input_', '', $key);
$agente = str_replace('_', '.', $stragente);
$agentes[] = array('apelido' => $agente, 'cliente' => $value, 'matricula' => __getMatriculaAgente($agente));
$quantidade += $value;
}
}
/**
* VERIFICA A DISPONIBILIDADE DE REGISTROS
*/
$reg = getRegistrosMatricula($cloid);
$regDisponivel = $reg['registros'] - $reg['registros_matricula'];
if ($quantidade > getClienteOrigem($cloid)[0]['registros'] || $quantidade < 0 || $quantidade > $regDisponivel) {
throw new Exception("A quantidade de registros não pode ser 0 (Zero) ou ultrapassar a quantidade de 'Clientes Disponíveis'!");
}
if (!$agentes) {
throw new Exception("É necessário informar o pelo menos um agente para a campanha!");
}
/**
* ADICIONA AS MATRICULAS NOS CLIENTES
*/
__transaction('BEGIN;');
foreach ($agentes as $value) {
if ($value['cliente'] > 0) {
setMatriculaCliente($value['matricula'], $_SESSION['SSCloId'], $value['cliente']);
}
}
__transaction('COMMIT;');
$message = "Os clientes foram referenciados para as matriculas!";
}
###########################
## BOTAO GERAR ##
###########################
/**
* RESET DAS CONFIGURACOES DA MATRICULA
*/
if (isset($input['btFinalizar'])) {
$registro = getRegistrosMatricula($_SESSION['SSCloId']);
if (!$registro['registros_matricula']) {
throw new Exception("É preciso configurar os registros de clientes antes de finalizar!");
}
if ($input['campanha'] && $input['listaDacs'] && !$input['cmp_id']) {
__createCamp($input['campanha'], $input['listaDacs']);
$message = "A campanha foi gerada com sucesso!";
} else if ($input['cmp_id']) {
if (verificaListaCampanha($input['cmp_id'])) {
throw new Exception("Ainda existe uma lista ativa para essa campanha!");
}
$resp = __createListaCamp($input['cmp_id']);
if ($resp['status']) {
$message = "A lista foi gerada com sucesso!";
} else {
$message = $resp['message'];
}
} else {
throw new Exception("É preciso inserir as informações da campanha para gerar uma nova lista ou campanha!");
}
}
$smarty->assign('color', 'darkgreen');
$smarty->assign('message', $message);
} catch (Exception $ex) {
/**
* EM CASO DE ERROS COM TRASACAO TODAS SERAM FINALIZADAS
*/
__transaction('ROLLBACK;');
$smarty->assign('color', 'red');
$smarty->assign('message', $ex->getMessage());
echo $ex->getMessage();
}
$smarty->assign('liberaCamp', LiberaCriarCampanha($cloid));
$smarty->assign('camp', __getSelectCamp($input['cmp_id']));
$smarty->assign('dacs', GetDac($dbcon, $input['listaDacs'], "", 0, 1, 0, 0, 0));
$smarty->assign('lstAgente', $lstAgente);
$smarty->assign('lstdados', $lstdados);
$templateName = 'cadastros/prevenda/listacampanhacliente.tpl';
GetTemplate($smarty, $templateName);
/**
* Consulta as informacoes de uma lista de acordo com o clo_id
* @param int $clo_id
* @return type
* @throws Exception
*/
function getClienteOrigem($clo_id) {
$query = "SELECT clo_id,clo_titulo,clo_descricao,a.cfr_id,cfr_razao_social,nome,apelido, (SELECT count(clo_id) FROM pbx_cliente WHERE clo_id = a.clo_id) AS registros, a.data_reg
FROM pbx_cliente_origem a
INNER JOIN pbx_cliente_fornecedor b ON a.cfr_id = b.cfr_id
INNER JOIN pbx_usuarios c ON c.matricula = a.user_reg::VARCHAR
WHERE clo_id = {$clo_id}; ";
$result = pg_query($query);
if (!$result) {
throw new Exception("[Exception in " . __FUNCTION__ . "] - Não foi possível localizar a lista informada.");
}
$data = pg_fetch_all($result);
return $data;
}
/**
* Busca os agentes que tem permissao para operar na campanha
* @param int $cfr_id
* @return type
* @throws Exception
*/
function getClienteAgentes() {
$query = "SELECT DISTINCT id, nome, apelido, matricula FROM pbx_usuarios a
INNER JOIN pbx_grupo_usuario b ON a.id = b.user_id
INNER JOIN pbx_grupo_funcoes c ON c.gp_id = b.gp_id
WHERE b.gp_id IN(SELECT gp_id FROM (SELECT CASE WHEN(COUNT(gp_id) > 1) THEN gp_id END AS gp_id
FROM pbx_grupo_funcoes WHERE fun_id = 209 OR fun_id = 2
GROUP BY gp_id
ORDER BY 1) AS DATA)";
$result = pg_query($query);
if (!$result) {
throw new Exception("[Exception in " . __FUNCTION__ . "] - Não foi possível localizar os Agentes da lista informada.");
}
$data = pg_fetch_all($result);
return $data;
}
/**
* Busca a matricula pelo apelido do usuario
* @param string $apelido
* @return boolean
*/
function __getMatriculaAgente($apelido) {
$query = "SELECT matricula FROM pbx_usuarios WHERE apelido = '{$apelido}';";
$result = pg_query($query);
$data = pg_fetch_assoc($result);
if ($data) {
return $data['matricula'];
}
return false;
}
/**
* Retorna todos os cliente referentes a Cliente Origem.
* Váriavel de parametro $apenasMatricula para buscar somente registros com o agente.
* @param type $cloid
* @param bool $apenasMatricula
* @return boolean
*/
function __getClientesPorCloid($cloid) {
$query = "SELECT * FROM pbx_cliente WHERE clo_id = '{$cloid}' AND client_user_contato <> '' AND list_id IS NULL AND cmp_id IS NULL and client_status <> '999'; ";
$result = pg_query($query);
if (!$result) {
throw new Exception("[Exception in " . __FUNCTION__ . "] - Não foi possível buscar os clientes por origem.");
}
$data = pg_fetch_all($result);
return $data;
}
/**
* Realiza um update nos registros buscados de acordo com a quantidade de limit
* @param string $matricula
* @param int $cloid
* @param int $reg
* @return boolean
*/
function setMatriculaCliente($matricula, $cloid, $reg) {
$query = "UPDATE pbx_cliente SET client_user_contato = '{$matricula}' WHERE client_id IN (SELECT client_id FROM pbx_cliente WHERE clo_id = $cloid AND list_id IS NULL AND cmp_id IS NULL AND client_user_contato IS NULL and client_status <> '999' LIMIT $reg);";
$result = pg_query($query);
if (!$result) {
throw new Exception("[Exception in " . __FUNCTION__ . "] - Não foi possível atribuir a matricula no registros de cliente.");
}
return true;
}
/**
* Realiza o resete das matriculas cadastradas
* @param int $cloid
* @return boolean
*/
function resetMatriculaCliente($cloid) {
$query = "UPDATE pbx_cliente SET client_user_contato = NULL WHERE client_id IN (SELECT client_id FROM pbx_cliente WHERE clo_id = {$cloid}) AND list_id IS NULL AND cmp_id IS NULL and client_status <> '999';";
$result = pg_query($query);
if (!$result) {
throw new Exception("[Exception in " . __FUNCTION__ . "] - Não foi possível resetar os dados referente a matricula referente aos registros de cliente.");
}
return true;
}
/**
* Verifica a se a campanha possui os registros de matriculas
* @param int $cloid
* @return boolean
*/
function getRegistrosMatricula($cloid) {
$query = "SELECT COUNT(client_id) AS registros, SUM(CASE WHEN(client_user_contato <> '')THEN 1 ELSE 0 END) AS registros_matricula FROM pbx_cliente WHERE clo_id = {$cloid} and client_status <> '999'";
$result = pg_query($query);
if (!$result) {
throw new Exception("[Exception in " . __FUNCTION__ . "] - Não foi possível localizar os dados referente a lista.");
}
$data = pg_fetch_assoc($result);
return $data;
}
/**
* Retorna a quantidade de registros para cada agente
*/
function getUsuariosRegistros($cloid) {
$query = "SELECT apelido, matricula, count(client_user_contato) AS registros
FROM pbx_cliente a
INNER JOIN pbx_usuarios b ON b.matricula = a.client_user_contato
WHERE clo_id = {$cloid}
AND list_id IS NULL AND cmp_id IS NULL
GROUP BY 1,2";
$result = pg_query($query);
if (!$result) {
throw new Exception("[Exception in " . __FUNCTION__ . "] - Não foi possível localizar os registros dos Agentes.");
}
$data = pg_fetch_all($result);
return $data;
}
function __getSelectCamp($id = null) {
$query = "SELECT cmp_id, cmp_descricao FROM pbx_campanha WHERE cmp_status IN (2,3) ";
$result = pg_query($query);
if (!$result) {
throw new Exception("[Exception in " . __FUNCTION__ . "] - Não foi possível localizar as campanhas.");
}
$data = pg_fetch_all($result);
if ($data) {
foreach ($data as $value) {
$select = $id == $value['cmp_id'] ? 'selected' : '';
$opt .= "<option value='{$value['cmp_id']}' $select>{$value['cmp_descricao']}</option>";
}
return $opt;
}
}
/**
* Possibilidade de criar/voltar/commitar uma transação
* @param type $type
*/
function __transaction($type) {
pg_query($type);
}
############################################################################
#### CAMPANHA ####
############################################################################
/**
* Cria uma nova campanha
* > Esse evento é executado quando o operador fornece dados para um nova campanha a ser gerada.
*
* > cmp_tipo_campanha = Deve ser referencia a tabela pbx_campanha_tipo
* - O número 9 é para o tipo Pré-Venda
* @param type $descricao
* @param type $dac
* @throws Exception
*/
function __createCamp($descricao, $dac) {
__transaction('BEGIN;');
$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','9','1') RETURNING cmp_id;";
$query = sprintf($query, QuotedStr(trim($descricao)), QuotedStr($dac), QuotedStr('Inserido: listacampanhacliente Data: ' . date('Y-m-d H:i:s')));
$result = pg_query($query);
if (!$result) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR CAMPANHA 001] - Não foi possível criar a campanha! [$query]");
}
$data = pg_fetch_assoc($result);
/**
* CRIA OS STATUS DEFINIDO NAS REFERENCIAS
*/
$queryRef = "SELECT * FROM pbx_campanha_referencia_status";
$resultRef = pg_query($queryRef);
$dataRef = pg_fetch_all($resultRef);
$queryRefinc = "";
foreach ($dataRef as $ref) {
$queryRefinc .= "INSERT INTO pbx_status_contato_campanha(ctst_id,cmp_id) VALUES({$ref['ctst_id']},{$data['cmp_id']}); ";
}
if (!pg_query($queryRefinc)) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR CAMPANHA 007] - Não foi possível criar os status da campanha informado!");
}
/**
* Table: pbx_campanha_usuarios
* PERMISSAO AOS USUARIOS A CAMPANHA CRIADA.
*/
$userPerm = getUsuariosRegistros($_SESSION['SSCloId']);
foreach ($userPerm as $value) {
$queryPerm .= " INSERT INTO pbx_campanha_usuarios (cmp_id, matricula) VALUES('{$data['cmp_id']}','{$value['matricula']}'); ";
}
if (!pg_query($queryPerm)) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR LIST 005] - Não foi possível inserir a permissao para os agentes! ");
}
$status = __createListaCamp($data['cmp_id'], true);
if (!$status['status']) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR CAMPANHA 002] - Não foi possível criar a campanha. {$status['message']}.");
}
__transaction('COMMIT;');
}
/**
* Cria as listas com as informacoes dos clientes e suas expecificacoes, como, display de agente, contatos, lista de telefone e permissoes de campanha.
* Tabelas:
* > pbx_campanha
* > pbx_campanha_lista
* > pbx_campanha_contato_display
* > pbx_campanha_contato
* > pbx_campanha_contato_fone
* > pbx_campanha_usuarios
* @param type $cmp_id
* @throws Exception
*/
function __createListaCamp($cmp_id, $crateCmp = false) {
/**
* variavel para retornar o status da lista
*/
$return = array('status' => false, 'message' => "");
try {
__transaction('BEGIN;');
$userReg = GetIdUser();
/**
* VERIFICA SE A CAMPANHA SELECIONADA ESTA COM STATUS ATIVA OU EXCLUIDA
*/
$statusCamp = verificaStatusCampanha($cmp_id);
if ($statusCamp == 1 || $statusCamp == 0) {
__transaction('ROLLBACK;');
// logger(__FILE__)->debug('[ERROR LIST 001] - A campanha não pode estar ativa!');
throw new Exception("[ERROR LIST 001] - A campanha não pode estar ativa! ");
}
/**
* Table: pbx_campanha && pbx_campanha_lista
* VERIFICA SE EXISTE UMA LISTA NA CAMPANHA
*/
$query = "SELECT COUNT(cmp_id), (SELECT cmp_descricao FROM pbx_campanha WHERE cmp_id = {$cmp_id} ORDER BY 1 DESC LIMIT 1) AS list_name FROM pbx_campanha_lista WHERE cmp_id = {$cmp_id} GROUP BY 2;";
$result = pg_query($query);
if (!$result) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR LIST 002] - Não foi possível buscar as informações da campanha!");
}
$data = pg_fetch_assoc($result);
/**
* SE NÃO HOUVER LISTA CRIADA, BUSCA OS DADOS DA CAMPANHA PARA COMPLEMENTAR
*/
if (!$data) {
$data['count'] = '1';
$data['list_name'] = 'LISTA_INI';
}
/**
* 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) VALUES('$cmp_id', '{$data['count']}_{$data['list_name']}', 'CMP_CLIENTE_{$data['list_name']}', '1', '{$userReg}') RETURNING list_id;";
$result = pg_query($sql);
if (!$result) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR LIST 003] - Não foi possível criar a lista para campanha!");
}
$lstCamp = pg_fetch_assoc($result);
/**
* Table: pbx_campanha_contato_display
* CRIA OS DADOS DO CONTATO DISPLAY
*/
$query = "INSERT INTO pbx_campanha_contato_display(cmp_id, list_id, disp_param1, disp_param2, disp_param3, disp_param4) VALUES('$cmp_id', '{$lstCamp['list_id']}', 'NOME', 'EMPRESA', 'CNPJ', 'REGIAO')";
pg_query($query);
if (!pg_query($query)) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR LIST 004] - Não foi possível criar os campos de display a lista para campanha!");
}
/**
* Table: pbx_campanha_contato
* BUSCA TODOS OS CLIENTE PARA INSERIR NA LISTA DE CONTATO
*/
$clientesLista = __getClientesPorCloid($_SESSION['SSCloId'], true);
$queryContato = "";
$queryContatoFone = "";
foreach ($clientesLista as $value) {
if ($value['client_telefone'] || $value['client_celular']) {
$nomeContato = $value['client_nome_contato'] ? $value['client_nome_contato'] : '-';
$municipio = str_replace("'", '', $value['client_municipio']);
$queryContato = 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('{$cmp_id}','{$lstCamp['list_id']}','{$value['client_id']}',%s,%s,%s,%s, '0', %s) RETURNING cont_id; ", QuotedStr($nomeContato), QuotedStr($value['client_razao_social']), QuotedStr($value['client_documento']), QuotedStr($municipio . '-' . $value['client_uf']), QuotedStr($value['client_user_contato']));
$result = pg_query($queryContato);
$cont_id = pg_fetch_assoc($result)['cont_id'];
/**
* Table: pbx_campanha_contato_fone
* PERMITE A INSERCAO DE VARIOS CONTATOS PARA O MESMO CLIENTE DE ACORDO COM O ARRAY $contats
*/
$contats = array($value['client_telefone'], $value['client_celular']);
foreach ($contats as $fone) {
if ($fone) {
$queryContatoFone .= sprintf(" INSERT INTO pbx_campanha_contato_fone(cmp_id, list_id, cont_id, conf_fone, conf_status, conf_status_lista, conf_discado) "
. "VALUES(%s, %s, %s, %s, '0', '1', '0'); ", QuotedStr($cmp_id), QuotedStr($lstCamp['list_id']), QuotedStr($cont_id), QuotedStr($fone));
}
}
$queryClient .= " UPDATE pbx_cliente SET list_id = '{$lstCamp['list_id']}', cmp_id = '{$cmp_id}', cont_id = '{$cont_id}', user_reg = '{$userReg}' WHERE client_id = {$value['client_id']}; ";
} else {
/** CLIENTE STATUS 10 -> INVALIDO */
$queryClient .= " UPDATE pbx_cliente SET list_id = '{$lstCamp['list_id']}', user_reg = '{$userReg}', client_status = '10' WHERE client_id = {$value['client_id']}; ";
}
}
if (!pg_query($queryClient)) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR LIST 005] - Não foi possível inserir os clientes na lista de campanha!");
}
if (!$res = pg_query($queryContatoFone)) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR LIST 006] - Não foi possível inserir o fone na lista de campanha contato!");
}
/**
* Table: pbx_campanha_usuarios
* PERMISSAO AOS USUARIOS A CAMPANHA CRIADA.
*/
if ($crateCmp) {
$userPerm = getUsuariosRegistros($_SESSION['SSCloId']);
} else {
$userPerm = getClienteCampanha($cmp_id);
}
if ($userPerm) {
foreach ($userPerm as $value) {
$queryPerm .= " INSERT INTO pbx_campanha_usuarios (cmp_id, matricula) VALUES('{$cmp_id}','{$value['matricula']}'); ";
}
if (!pg_query($queryPerm)) {
__transaction('ROLLBACK;');
throw new Exception("[ERROR LIST 007] - Não foi possível inserir o fone na lista de campanha contato! Error: " . $queryPerm);
}
}
__transaction('COMMIT;');
$return['status'] = true;
$return['message'] = 'A lista da campanha foi gerada com sucesso!';
} catch (Exception $ex) {
__transaction('ROLLBACK;');
$return['message'] = $ex->getMessage();
}
return $return;
}
function verificaListaCampanha($cmp_id) {
$query = "SELECT * FROM pbx_campanha_lista WHERE cmp_id = {$cmp_id} AND list_status = 1;";
$result = pg_query($query);
$data = pg_fetch_all($result);
if ($data) {
$query = "UPDATE pbx_campanha_lista SET list_status = 2 WHERE cmp_id = {$cmp_id};";
$result = pg_query($query);
}
return false;
}
function verificaStatusCampanha($cmp_id) {
$query = "SELECT cmp_status FROM pbx_campanha WHERE cmp_id = {$cmp_id};";
$result = pg_query($query);
$data = pg_fetch_assoc($result);
if ($data) {
return $data;
}
return false;
}
/**
* Busca os usuários que não estão na permissão da campanha
* @param type $cmp_id
* @return type
*/
function getClienteCampanha($cmp_id) {
$query = "SELECT DISTINCT client_user_contato AS matricula FROM pbx_cliente WHERE cmp_id = {$cmp_id} "
. "AND client_user_contato NOT IN (SELECT matricula FROM pbx_campanha_usuarios WHERE cmp_id = {$cmp_id})";
$result = pg_query($query);
return pg_fetch_all($result);
}
############################################################################
#### FUNCOES PARA CONTROLAR DADOS E ARQUIVOS ####
############################################################################
/**
* Funcao para buscar dados em Array Multidimencional.
*/
function ___buscaDadosAgente($data, $chave, $valor) {
foreach ($data as $value) {
if ($value[$chave] == $valor) {
return $value;
}
}
return false;
}
function __reloadPage() {
header("Location: index.php?idProg=341&clo_id={$_SESSION['SSCloId']}&window=1");
}
function __messageFlash($message = null) {
if ($_SESSION['SSMessageFlash']) {
$message = $_SESSION['SSMessageFlash'];
unset($_SESSION['SSMessageFlash']);
} else {
$_SESSION['SSMessageFlash'] = $message;
}
return $message;
}
function LiberaCriarCampanha($id) {
$query = "SELECT * FROM pbx_cliente WHERE client_id IN (SELECT client_id FROM pbx_cliente WHERE clo_id = {$id}) AND list_id IS NULL AND cmp_id IS NULL AND client_user_contato <> '';";
$result = pg_query($query);
$dados = pg_fetch_all($result);
if ($dados) {
return true;
}
return false;
}