|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
$nomeTpl = 'cadastros/tarifacao/prePagoRamal.htm';
|
|
|
|
|
$msgErro = '';
|
|
|
|
|
$linha = '<tr>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="right">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
<td align="center">%s</td>
|
|
|
|
|
</tr>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$query = "select id, tipo_ramal, nome, dispositivo, contexto, habilita_prepago, saldo_prepago
|
|
|
|
|
from pbx_ramais where 1=1 ";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (IsPostBack()) {
|
|
|
|
|
$ramaisSel = false;
|
|
|
|
|
if (isset($_POST['btLancamento'])) {
|
|
|
|
|
//print_r($_POST);exit;
|
|
|
|
|
$ramais = isset($_POST['nome']) ? $_POST['nome'] : false;
|
|
|
|
|
$ramaisSel = false;
|
|
|
|
|
|
|
|
|
|
if ($ramais !== false) {
|
|
|
|
|
$ramaisSel = array();
|
|
|
|
|
foreach ($ramais as $value) {
|
|
|
|
|
$ramalPost = explode(";", $value);
|
|
|
|
|
$ramaisSel[] = $ramalPost[0];
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($ramais === false) {
|
|
|
|
|
$jsStartup[] = "alert('Para realizar esta opera<EFBFBD><EFBFBD>o <EFBFBD> necess<EFBFBD>rio selecionar pelo menos um ramal!');";
|
|
|
|
|
$ramaisSel = false;
|
|
|
|
|
} else if (!$_POST['operacao_ramal']) {
|
|
|
|
|
$jsStartup[] = "alert('Selecione um tipo de opera<EFBFBD><EFBFBD>o!');";
|
|
|
|
|
} else {
|
|
|
|
|
$paramPre = array('SIP' => 'pbx_sip_ramais;nome',
|
|
|
|
|
'IAX' => 'pbx_iax_pbx;nome',
|
|
|
|
|
'DGV' => 'pbx_dgv;numero',
|
|
|
|
|
'PBX' => 'pbx_ramais_pbx;numero',
|
|
|
|
|
'DAHDI' => 'pbx_dahdi;numero',
|
|
|
|
|
'KHOMP' => 'pbx_khomp;numero');
|
|
|
|
|
$habRamal = $_POST['operacao_ramal'] == 1;
|
|
|
|
|
|
|
|
|
|
$valor = isset($_POST['credito_ramal']) ? $_POST['credito_ramal'] : 0.0;
|
|
|
|
|
|
|
|
|
|
$valor = FormataValorBd($valor);
|
|
|
|
|
$usuario = GetLogin();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ((!$habRamal) && ((!$valor) || ($valor <= 0) )) {
|
|
|
|
|
$jsStartup[] = "alert('Para realizar esta opera<EFBFBD><EFBFBD>o <EFBFBD> necess<EFBFBD>rio informar um valor!');";
|
|
|
|
|
} else {
|
|
|
|
|
$msg = '';
|
|
|
|
|
$queryRamal = 'begin';
|
|
|
|
|
$result = pg_query($dbcon, $queryRamal);
|
|
|
|
|
foreach ($ramais as $value) {
|
|
|
|
|
$ramalPost = explode(";", $value);
|
|
|
|
|
$numRamal = $ramalPost[0];
|
|
|
|
|
$hab = $ramalPost[1];
|
|
|
|
|
$tp = $ramalPost[2];
|
|
|
|
|
|
|
|
|
|
$params = explode(";", $paramPre[$tp]);
|
|
|
|
|
|
|
|
|
|
$tabela = $params[0];
|
|
|
|
|
$campo = $params[1];
|
|
|
|
|
if ($habRamal) {
|
|
|
|
|
$queryRamal = sprintf("update %s set habilita_prepago = '%s' where %s = '%s' \n", $tabela, ($hab ? '0' : '1'), $campo, $numRamal);
|
|
|
|
|
|
|
|
|
|
if ($result)
|
|
|
|
|
$result = pg_query($dbcon, $queryRamal);
|
|
|
|
|
if (!$result)
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (!$hab) {
|
|
|
|
|
$msg = 'N<EFBFBD>o <EFBFBD> permitido realizar lan<EFBFBD>amentos para "Ramais Desabilitados"!';
|
|
|
|
|
$result = false;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
$queryRamal = " insert into pbx_prepago_movimento
|
|
|
|
|
(prm_ramal_conta, prm_conta_senha, trr_id, prm_valor_minuto, prm_tempo, prm_destino, prm_valor, prm_data, prm_data_lanc, prm_tipo_lancamento, prm_historico, usuario)
|
|
|
|
|
values('$numRamal', '0', '0', '0', '0', '0', '$valor', now()::date, now(), 'C', 'Inclusao de Credito', '$usuario')";
|
|
|
|
|
|
|
|
|
|
if ($result)
|
|
|
|
|
$result = pg_query($dbcon, $queryRamal);
|
|
|
|
|
|
|
|
|
|
// $queryRamal = sprintf("update %s set saldo_prepago = (saldo_prepago + %s) where %s = '%s'", $tabela, $valor, $campo, $numRamal);
|
|
|
|
|
// if($result) $result = pg_query($dbcon, $queryRamal);
|
|
|
|
|
|
|
|
|
|
if (!$result)
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($result) {
|
|
|
|
|
$queryRamal = 'commit';
|
|
|
|
|
@pg_query($dbcon, $queryRamal);
|
|
|
|
|
$jsStartup[] = "alert('Opera<EFBFBD><EFBFBD>o realizada com sucesso!');";
|
|
|
|
|
} else {
|
|
|
|
|
$queryRamal = 'rollback';
|
|
|
|
|
@pg_query($dbcon, $queryRamal);
|
|
|
|
|
$msg = $msg ? $msg : 'N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!';
|
|
|
|
|
$jsStartup[] = "alert('$msg');";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$tipo_ramal = $_POST['tipo_ramal'];
|
|
|
|
|
$numero_ramal = strtoupper($_POST['numero_ramal']);
|
|
|
|
|
} else {
|
|
|
|
|
$tipo_ramal = 0;
|
|
|
|
|
$numero_ramal = '';
|
|
|
|
|
$query .= " and 1 = 2 ";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($tipo_ramal)
|
|
|
|
|
$query .= "and tipo_ramal = '$tipo_ramal'";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if ($numero_ramal) {
|
|
|
|
|
if ((strpos($numero_ramal, ",") !== false) || (strpos($numero_ramal, ";") !== false)) {
|
|
|
|
|
$numero_ramal = str_replace(";", ",", $numero_ramal);
|
|
|
|
|
$numero_ramal = str_replace("-", ",", $numero_ramal);
|
|
|
|
|
$numSel = '';
|
|
|
|
|
$numeros = explode(",", $numero_ramal);
|
|
|
|
|
foreach ($numeros as $numero) {
|
|
|
|
|
$numSel .= !$numSel ? "'$numero'" : ",'$numero'";
|
|
|
|
|
}
|
|
|
|
|
$query .= "and nome in($numSel)";
|
|
|
|
|
} else if (strpos($numero_ramal, "-") !== false) {
|
|
|
|
|
$numSel = '';
|
|
|
|
|
$numeros = explode("-", $numero_ramal);
|
|
|
|
|
|
|
|
|
|
$query .= sprintf("and nome >= '%s' and nome <= '%s'", $numeros[0], $numeros[1]);
|
|
|
|
|
} else
|
|
|
|
|
$query .= "and nome like '%$numero_ramal%'";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$query .= " order by 3, 2";
|
|
|
|
|
//echo $query;
|
|
|
|
|
$result = pg_query($dbcon, $query);
|
|
|
|
|
|
|
|
|
|
$linhas = '';
|
|
|
|
|
$linhaTemp = '';
|
|
|
|
|
$imp = 0;
|
|
|
|
|
while ($dados = pg_fetch_array($result)) {
|
|
|
|
|
$nomeRamal = $dados['nome'];
|
|
|
|
|
$sel = ($ramaisSel !== false) && (array_search($nomeRamal, $ramaisSel) !== false) ? 'checked="checked"' : "";
|
|
|
|
|
$sel = sprintf('<input class="box" type="checkbox" name="nome[]" id="nome_%s" value="%s;%s;%s" %s>', $dados['id'], $dados['nome'], $dados['habilita_prepago'], $dados['tipo_ramal'], $sel);
|
|
|
|
|
$ramal = $dados['nome'];
|
|
|
|
|
$contexto = $dados['contexto'];
|
|
|
|
|
$disp = $dados['dispositivo'];
|
|
|
|
|
$saldo = FormataValor($dados['saldo_prepago']);
|
|
|
|
|
$saldoPre = $dados['saldo_prepago'];
|
|
|
|
|
$tpr = $dados['tipo_ramal'];
|
|
|
|
|
$habRamal = $dados['habilita_prepago'];
|
|
|
|
|
$habilita = $dados['habilita_prepago'] ? '<img src="imgSite/button_ok16.png" alt="Habilitado!" width="16" height="16" border="0">' : '<img src="imgSite/fecha16.png" alt="Desabilitado!" width="16" height="16" border="0">';
|
|
|
|
|
$lanc = '<img src="imgSite/prepago16.png" alt="Lan<EFBFBD>amentos!" width="16" height="13" border="0">';
|
|
|
|
|
$linkLanc = "<a href=\"javaScript:NovaJanela('index.php?idProg=214&ramal=$ramal&saldo=$saldoPre&tipoRamal=$tpr&statusRamal=$habRamal', 'cadPrePagoRamal', '700', '500', 'resizable=NO,scrollbars=YES');\">$lanc</a>";
|
|
|
|
|
$linhaTemp = sprintf($linha, $sel, $ramal, $contexto, $disp, $saldo, $habilita, $linkLanc);
|
|
|
|
|
$linhas .= $linhaTemp;
|
|
|
|
|
$imp++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!IsPostBack()) {
|
|
|
|
|
$linhas .= '<tr><td colspan="7">Informe os parametros e clique em consultar!</td></tr>';
|
|
|
|
|
} else if ($imp) {
|
|
|
|
|
$linhas .= sprintf('<tr><td colspan="7">%s %s</td></tr>', $imp, ($imp > 1 ? 'Ramais encontrados!' : 'Ramal encotrado!'));
|
|
|
|
|
} else {
|
|
|
|
|
$linhas .= '<tr><td colspan="7">Nenhum registro encontrado!</td></tr>';
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$tiposRamal = GetTiposRamal($tipo_ramal);
|
|
|
|
|
$smarty->assign('tipoRamal', $tiposRamal);
|
|
|
|
|
$smarty->assign('numero_ramal', $numero_ramal);
|
|
|
|
|
$smarty->assign('linhas', $linhas);
|
|
|
|
|
$smarty->assign('msgErro', $msgErro);
|
|
|
|
|
GetTemplate($smarty, $nomeTpl);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Scripts
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
//$jsJQuery[] = "\$('#marca_todos').onclick(function(){ $(\"input[type=checkbox]\").attr('checked',true); }) ";
|
|
|
|
|
|
|
|
|
|
function GetTiposRamal($tipo_ramal) {
|
|
|
|
|
$tipos = array('SIP', 'IAX', 'DGV', 'PBX', 'DAHDI', 'KOHMP');
|
|
|
|
|
$opc = '';
|
|
|
|
|
|
|
|
|
|
if (!$tipo_ramal)
|
|
|
|
|
$sel = 'selected="selected"';
|
|
|
|
|
else
|
|
|
|
|
$sel = '';
|
|
|
|
|
$opc = "<option value=\"0\" $sel>Todos</option>\n";
|
|
|
|
|
$sel = '';
|
|
|
|
|
foreach ($tipos as $tipo) {
|
|
|
|
|
$sel = ($tipo_ramal === $tipo) ? 'selected="selected"' : "";
|
|
|
|
|
$opc .= "<option value=\"$tipo\" $sel>$tipo</option>\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $opc;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|