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.

126 lines
5.7 KiB

<?php
$tableName = 'pbx_operadoras';
$nomeTpl = 'cadastros/tarifacao/tarifacao.htm'; //Tempate
$fields = array('oper_id', 'oper_nome', 'oper_spid', 'oper_numero', 'oper_licensa', 'oper_numero_saida', 'oper_dono');
$fieldsDisplay = array('oper_id' => 'Id', 'oper_nome' => 'Nome', 'oper_spid' => 'SPID', 'oper_numero' => 'N<EFBFBD>mero', 'oper_numero_saida' => 'N<EFBFBD> Sa<EFBFBD>da', 'oper_relaciona' => 'Relacionadas', 'oper_dono' => 'Origem');
$pk = array('oper_id');
$orderBy = array('oper_nome');
$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') || (IsDelete()) || isset($_POST['pesquisa']);
$janH = 260;
$janW = 560;
$tabW = 800;
$padding = 2;
$spacing = 0;
$operNome = '';
$operNome = $_REQUEST['oper_nome'];
if (IsDelete()) {
$id = $_GET['oper_id'];
$query = " SELECT count(*)
FROM(
SELECT '' FROM pbx_tarif_contrato WHERE oper_id = '$id'
UNION ALL
SELECT ''FROM pbx_tarif_parametros WHERE oper_id = '$id'
) a";
$result = pg_query($dbcon, $query);
$rows = pg_fetch_row($result);
if ($rows[0]) {
$msg = "O registro: \"$operNome\" n<EFBFBD>o pode ser excluido! Pois j<EFBFBD> est<EFBFBD> sendo utilizado pelo sistema!";
} else {
$query = "DELETE FROM pbx_operadoras WHERE oper_id = '$id' ";
$result = pg_query($dbcon, $query);
if ($result) {
$msg = 'Registro excluido com sucesso!';
} else {
$msg = "O registro n<EFBFBD>o pode ser excluido!";
}
}
$jsStartup[] = "alert('$msg');";
$operNome = '';
}
$where = $operNome === '' ? "oper_id <> 0" : sprintf("oper_id <> 0 and oper_nome ilike %s", QuotedStr('%' . $operNome . '%'));
$acoes = HabilitaTarifacao() ? array('editar', 'apagar', 'preco', 'tarifa') : array('editar', 'apagar');
$compl = '';
if (isset($_REQUEST['paramPesquisa']) && $_REQUEST['paramPesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf(" and (oper_nome ilike %s)", $compl);
}
$query = GetQueryCadastro($tableName, $fieldsDisplay, (" oper_id <> 0 ") . $compl, $orderBy, array('oper_relaciona'));
$params = "&paramPesquisa=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$acoesDef = GetAcoes($params);
$query .= " limit $regPagina offset $offSet";
$result = pg_query($dbcon, $query);
while ($dados = pg_fetch_array($result)) {
$dados['oper_numero'] = (int) $dados['oper_numero'];
$acoes = $dados['oper_dono'] === 'R' ? array('editar', 'blok', 'relaciona') : array('editar', 'apagar', 'relaciona');
$dados['oper_relaciona'] = GetOperRelaciona($dados['oper_spid']);
$linhas .= GetLinhaDados($fieldsDisplay, $acoes, $dados, 'oper_nome');
}
$imgNovo = "<img src=\"images/novo.gif\" width=\"16\" height=\"16\" border=\"0\" title=\"Inclui novo contrato!\" align=\"absmiddle\">";
$imgNovo = "<a href=\"javaScript:NovaJanela('index.php?idProg=200&oper_id=0&acao=novo', 'cadOperTArifa', '$janW', '$janH', 'resizable=NO,scrollbars=YES');\">$imgNovo Novo Contrato</a>";
$slinhaHead = GetLinhaHead($fieldsDisplay, $acoes);
$smarty->assign('oper_nome', $operNome);
$smarty->assign('linha', $linhas);
$smarty->assign('linhaHead', $slinhaHead);
$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"]);
GetTemplate($smarty, $nomeTpl);
function GetOperRelaciona($operSpid)
{
global $dbcon;
$query = "SELECT b.oper_spid, b.oper_nome
FROM pbx_operadora_rel a, pbx_operadoras b
WHERE b.oper_spid = a.oper_spid_rel
AND a.oper_spid = '$operSpid'\n\n";
// echo $query;
$result = pg_query($dbcon, $query);
$operadoras = "";
while ($dados = pg_fetch_row($result)) {
$oper = "<span title=\"$dados[1]\">$dados[0]</span>";
$operadoras .= !$operadoras ? $oper : ", " . $oper;
}
return $operadoras;
}
function GetAcoes($params)
{
$janH = 260;
$janW = 560;
return array(
'novo' => array('acao' => 'novo', 'idProg' => '200', 'img' => 'imgSite/novoUser.png', 'title' => "Cadastro de Operadoras", 'id' => 'oper_id', 'nomeJanela' => 'cadTarifacao', 'janW' => "$janW", 'janH' => "$janH"),
'editar' => array('acao' => 'editar', 'idProg' => '200', 'img' => 'imgSite/editaUser.png', 'title' => "Edita o Registro da Operadora", 'id' => 'oper_id', 'nome' => 'oper_nome', 'nomeJanela' => 'cadTarifacao', 'janW' => "$janW", 'janH' => "$janH"),
'apagar' => array('acao' => 'apagar', 'idProg' => '199', 'img' => 'imgSite/deletaUser.png', 'title' => "Apaga o Registro da Operadora Selecionada", 'id' => 'oper_id;oper_nome', 'nome' => 'oper_nome', 'nomeJanela' => 'cadTarifacao', 'janW' => "$janW", 'janH' => "$janH", 'params' => $params),
'blok' => array('acao' => 'blok', 'idProg' => '199', 'img' => 'imgSite/lock12.png', 'title' => "Registro remoto n<EFBFBD>o pode ser excluido!"),
'relaciona' => array('acao' => 'relaciona', 'idProg' => '269', 'img' => 'imgSite/monitorar.png', 'title' => "Seleciona Operadoras Relacionadas", 'id' => 'oper_spid;oper_nome', 'nomeJanela' => 'tarifacaoOperadoraRel', 'janW' => "$janW", 'janH' => "$janH"),
);
}