[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&atilde;o de " . 
> $var_primeiro_minuto . "/60 = ".$var_restante_tempo[0]).'<br />';
> echo ("Efetua a conta para ver qual &eacute; o resto da divis&atilde;o 
> = ".$var_resto_divisao).'<br />';
> echo ("Efetua a conta para ver quantos d&eacute;cimos de minutos temos 
> com o resto da divis&atilde;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>&nbsp;</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&ccedil;&atilde;o &eacute; 1&ordm; 
> 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