Created
June 23, 2014 19:49
-
-
Save lucasff/997307d3e514013b1970 to your computer and use it in GitHub Desktop.
Cálculo de Parcelamento para CakePHP 1.3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
class ParcelamentoHelper extends AppHelper | |
{ | |
//var $helpers = array('String'); | |
var $coef = array(4 => 1.02490, | |
5 => 1.03750, | |
6 => 1.05019, | |
7 => 1.06300, | |
8 => 1.07589, | |
9 => 1.08889, | |
10 => 1.10200, | |
11 => 1.11530, | |
12 => 1.12860 | |
); | |
public function parcelaValida($valor, $parcelamento) | |
{ | |
App::import('Helper', 'String'); | |
$this->String = new StringHelper(); | |
$retorno['valor'] = null; | |
$retorno['parcela'] = null; | |
$retorno['juros'] = null; | |
if (is_string($valor)) { | |
$valor = (str_replace(',', '.', $valor)); | |
} | |
$juros_apartir = $parcelamento['juros_apartir']; | |
$juros = false; | |
for ($i = 1; $i <= (int) $parcelamento['parcelas']; $i++): | |
$parcela = $valor / $i; | |
if ($i > $juros_apartir && up($parcelamento['sigla']) == 'PAGSEGURO') { | |
$parcela = $valor * $this->coef[$i] / $i; | |
$juros = true; | |
} | |
if ($i == 1 || $parcela > $this->String->moedaToBco(Configure::read('Loja.valor_minimo_parcelamento'))): | |
$retorno['valor'] = $parcela; | |
$retorno['parcela'] = $i; | |
$retorno['juros'] = $juros; | |
endIf; | |
endFor; | |
return $retorno; | |
} | |
public function listaParcelamentos($valor, $parcelamento) | |
{ | |
App::import('Helper', 'String'); | |
$this->String = new StringHelper(); | |
$content = ''; | |
$retorno['valor'] = null; | |
$retorno['parcela'] = null; | |
$retorno['juros'] = null; | |
if (is_string($valor)) { | |
$valor = (str_replace(',', '.', $valor)); | |
} | |
$juros_apartir = $parcelamento['juros_apartir']; | |
$juros = false; | |
//abro a div de divisao de coluna | |
$content .= ''; | |
//'<span class="blue_color left"><strong>Número de Parcelas</strong></span> <strong>Valor parcela</strong>'; | |
for ($i = 1; $i <= (int) $parcelamento['parcelas']; $i++): | |
$parcela = $valor / $i; | |
if ($i > $juros_apartir && up($parcelamento['sigla']) == 'PAGSEGURO') { | |
$parcela = $valor * $this->coef[$i] / $i; | |
$juros = true; | |
} | |
if ($i == 1 || $parcela > $this->String->moedaToBco(Configure::read('Loja.valor_minimo_parcelamento'))) { | |
$retorno['valor'] = $parcela; | |
$retorno['parcela'] = $i; | |
$retorno['juros'] = $juros; | |
$content .= ' | |
<div class="row"> | |
<div class="td1">' . $retorno['parcela'] . ' X R$ ' . $this->String->bcoToMoeda($retorno['valor']) . ' - ' . ($retorno["juros"] == true ? "com juros" : "sem juros") . '</div> | |
</div> | |
'; | |
//se o index for igual a metade de valor da parcela, corto a lista ao meio com uma coluna | |
//if ($i % (int) ((int) $parcelamento['parcelas'] / 2) == 0 && $i != $parcelamento['parcelas']) { | |
//$content .= '</ul><ul>'; | |
//'<span class="row"><span class="blue_color left"><strong>Número de Parcelas</strong></span> <strong>Valor parcela</strong></span>'; | |
//} | |
} | |
endFor; | |
//fecho a div de divisao de coluna | |
//$content .= '</div>'; | |
return $content; | |
} | |
} | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment