[AsteriskBrasil] Script - Tarifação Billing
ATTO - Rodrigo
rodrigo.lang em atto.com.br
Quarta Julho 1 17:35:26 BRT 2009
Parabéns Leonardo, esse tipo de participação também é importante na lista!
Ats,
Rodrigo Lang.
Leonardo escreveu:
> Caros Gurus,
>
>
> Gostaria de compartlhar com vcs um script de tarifação bem simples em
> php que faz a tarifação por tempo que calcula da seguinte forma 1º
> minuto cheio depois de 6/6`s da mesma forma que a maioria das
> operadoras cobram como eu precisei e deu um trampo pra montar a
> função acredito que alguem mais vai precisar segue abaixo;
>
> <?
> $var_tempo_total = $_POST['txtTempo'];
> if($_POST['txtTarifa']){
> $var_tarifa = str_replace(",",".",$_POST['txtTarifa']);
> }
> $var_primeiro_minuto = $var_tempo_total-60;
> if ($var_primeiro_minuto <= 0){ // se o tempo do primeiro minuto for
> menor que 1 seta o tempo igaul a 1
> $var_tempoTotal = number_format(1);
> }
> else{
> $var_tempoTotal = number_format(1); // seta o tempo total igaul a 1
> $var_restante_tempo_total = $var_primeiro_minuto / 60; // divide a
> quantidade de segundos por 60 para ter a quantidade de minutos
> $var_restante_tempo = explode(".", $var_restante_tempo_total); //
> quebra o resultado da divisão em 2 aprtes por .
> $var_restante_tempo_int = $var_restante_tempo[0]; //pega só o valor
> inteiro da divisão
> $var_tempoTotal += $var_restante_tempo_int; // soma o tempo total
> previamente setado como 1 + o valor inteiro da divisão
> $var_resto_divisao = $var_primeiro_minuto % 60; // pega o valor do
> resto da divisão
> $var_fracao_minuto = number_format($var_resto_divisao / 6); // divide
> o valor do resto da divisão por 6, e transforma em numero inteiro
>
> if ($var_fracao_minuto> 0){ // se o valor do resto da divisão por 6
> for maior que 0, concatena o tempo total com ponto e valor da fracao
> de minuto
> $var_tempoTotal .= "." . $var_fracao_minuto;
> }
> }
> $var_ValorTotal = $var_tempoTotal * $var_tarifa; // efetua o calculo
> do tempo X o valor da tarifa
> echo ("Tempo digitado = ".$var_tempo_total).'<br />';
> echo ("Efetua a conta de <font color='red'>tempo digitado - 60 </font>
> = ".$var_primeiro_minuto).'<br />';
> echo ("Mostra o valor inteiro da divisão de " .
> $var_primeiro_minuto . "/60 = ".$var_restante_tempo[0]).'<br />';
> echo ("Efetua a conta para ver qual é o resto da divisão
> = ".$var_resto_divisao).'<br />';
> echo ("Efetua a conta para ver quantos décimos de minutos temos
> com o resto da divisão= ".$var_fracao_minuto).'<br />';
> echo ("Valor da Tarifa = ".$var_tarifa).'<br />';
> echo ("Tempo Total = ".$var_tempoTotal).'<br />';
> echo ("Valor Total = ".$var_ValorTotal).'<br />';
> ?>
> <p> </p>
> <table width="300" border="1" bordercolor="#630000" cellpadding="3"
> cellspacing="0">
> <tr>
> <td>
> <font size="2" face="verdana,arial,georgia" color="#630000">Digite a
> quantidade de segundos !</font>
> <form action="<? echo $_SERVER['PHP_SELF'] ?>" method="post">
> <p>Segundos
> <input type="text" size="20" name="txtTempo">
> <br>
> <br>
> Tarifa
> <input type="text" size="20" name="txtTarifa">
> <br>
> <br>
> * lembrando que o modo da tarifação é 1º
> minuto cheio e depois a cada 6 segundos</p>
> <p>60/6</p>
> <p>
> <input type="submit" value="Enviar Tempo">
> </p>
> </form> </td></tr>
> </table>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Openmoko Freerunner, primeiro telefone open source, disponível no Brasil rodando o Android da Google.
> http://www.neodroid.com
>
> Compre uma camiseta da AsteriskBrasil.org!
> http://www.voipmania.com.br
>
> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
>
> __________ Informação do ESET NOD32 Antivirus, versão da vacina 4205 (20090701) __________
>
> A mensagem foi verificada pelo ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
--
Rodrigo Lang
Dpto Técnico
ATTO TELEINFORMÁTICA
End.: Rua Castro Alves, 624
80.240-270 - Curitiba - PR
Fones: (41) 33128000
Fax: (41) 33128001
Email: rodrigo.lang em atto.com.br
Mais detalhes sobre a lista de discussão AsteriskBrasil