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.

111 lines
5.5 KiB

<?php
include_once 'funcoesFormulario.php';
$tpl = 'cadastros/ServicosChamadas/servicosChamadas.tpl';
$acao = isset($_REQUEST['acao']) ? $_REQUEST['acao'] : 'select';
$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 == 'novo') || (GetFormAcao() == 'apagar') || isset($_POST['pesquisa']);
$imgNovo = sprintf('<a href="#" onclick="ServicosChmadasIncluir(%s);" ><img src="images/novo.gif" width="16" height="16" border="0" title="Inclui novo Status" align="absmiddle">Novo Servi<EFBFBD>o</a>', QuotedStr($filtroNovo));
if ($acao == 'apagar') {
$serv_id = strtoupper(trim($_REQUEST['serv_id']));
$status = trim($_REQUEST['serv_status']);
try {
if (!$serv_id) {
GeraExcept("Informe um indentificador v<EFBFBD>lido para o \"Servi<EFBFBD>o\"!");
} else if (RegistroInc($dbcon, sprintf(' select count(*) from pbx_rotas_entrada where serv_id = %s', QuotedStr($serv_id)))) {
GeraExcept("Desvincule o servi<EFBFBD>o das rotas de entrada para desativa-lo!");
}
$query = sprintf("update pbx_servicos set serv_status = $status where serv_id = %s", QuotedStr($serv_id));
$result = pg_query($query);
if (!$result)
GeraExcept("Erro ao realizar a opera<EFBFBD><EFBFBD>o!");
$jsStartup[] = sprintf("alert('%s');", 'Opera<EFBFBD><EFBFBD>o realizada com sucesso!');
} catch (Exception $ex) {
$jsStartup[] = sprintf("alert('%s');", $ex->getMessage());
}
} else if ($acao == 'novo') {
$serv_id = strtoupper(trim($_REQUEST['serv_id']));
try {
if (!$serv_id) {
GeraExcept("Informe um indentificador v<EFBFBD>lido para o \"Servi<EFBFBD>o\"!");
} else if (RegistroInc($dbcon, sprintf('select count(*) from pbx_servicos where serv_id = %s', QuotedStr($serv_id)))) {
GeraExcept("Servi<EFBFBD>o j<EFBFBD> cadastrado!");
}
$query = sprintf("insert into pbx_servicos(serv_id)values(%s)", QuotedStr($serv_id));
$result = pg_query($query);
if (!$result)
GeraExcept("Erro ao realizar a opera<EFBFBD><EFBFBD>o!");
$jsStartup[] = sprintf("alert('%s');", 'Opera<EFBFBD><EFBFBD>o realizada com sucesso!');
} catch (Exception $ex) {
$jsStartup[] = sprintf("alert('%s');", $ex->getMessage());
}
}
$compl = '';
if (isset($_REQUEST['paramPesquisa']) && $_REQUEST['paramPesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.serv_id ilike %s)", $compl);
}
$query = "select serv_id, serv_status from pbx_servicos a where 1=1 $compl order by 1";
$linha = "";
$params = "&paramPesquisa=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " limit $regPagina offset $offSet";
$result = pg_query($dbcon, $query);
while ($dados = @pg_fetch_array($result)) {
$serv_id = $dados["serv_id"];
$serv_status = $dados["serv_status"];
$rotas = ServicosRotas($serv_id);
$msgDelete = ($serv_status ? 'Desativa o registro selecionado!' : 'Ativa o registro selecionado!');
$imgEdit = "<img src=\"imgSite/editaUser.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Edita o registro: $serv_id\" onclick=\"ServicosChmadasAtualizar('$serv_id');\">";
$serv = sprintf("<a href=\"#\" style=\"color: %s;\" title=\"%s o Servi<EFBFBD>o Selecionado: $serv_id\" onclick=\"DeletaCadastro('278', '&serv_id=$serv_id&serv_status=%s$params', '$serv_id','%s');\">$serv_id</a>", ($serv_status ? '#000' : '#f00'), ($serv_status ? 'Desativa' : 'Ativa'), ($serv_status ? 0 : 1), $msgDelete);
$imgDelete = sprintf("<img src=\"imgSite/%s\" width=\"16\" height=\"16\" border=\"0\" title=\"%s o Servi<EFBFBD>o Selecionado: $serv_id\" onclick=\"DeletaCadastro('278', '&serv_id=$serv_id&serv_status=%s$params', '$serv_id','%s');\">", ($serv_status ? 'deletaUser.png' : 'volta16.gif'), ($serv_status ? 'Desativa' : 'Ativa'), ($serv_status ? 0 : 1), $msgDelete);
$imgRotas = sprintf("<img src=\"imgSite/%s\" width=\"12\" height=\"12\ border=\"0\" title=\"%s\">", ($rotas ? 'troncoOn16.png' : 'troncoOff16.png'), ($rotas ? $rotas : 'N<EFBFBD>o existem rotas dependentes!'));
$imgStatus = sprintf("<img src=\"imgSite/%s\" width=\"12\" height=\"12\ border=\"0\">", ($serv_status ? 'ok16.gif' : 'fecha16.png'));
$linha .= " <tr>
<td align=\"left\">$serv</td>
<td align=\"center\" width=\"18\">$imgRotas</td>
<td align=\"center\" width=\"18\">$imgStatus</td>
<td align=\"center\" width=\"40\">$imgDelete</td>
</tr>";
}
$smarty->assign('erro', $msg);
$smarty->assign("linhas", $linha);
$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, $tpl);
function ServicosRotas($serv_id) {
$query = sprintf("select id, nome from pbx_rotas_entrada where serv_id = %s order by nome", QuotedStr($serv_id));
$result = pg_query($query);
if (!$result || !pg_num_rows($result))
return '';
$str = 'Rotas associadas a este servi<EFBFBD>o: ';
while ($dados = pg_fetch_array($result)) {
$str .= $dados['id'] . '-' . $dados['nome'] . '; ';
}
return $str;
}
?>