Exemplo n.º 1
0
 /**
  * @param bool|FALSE $formatado10digitos
  * @param bool|FALSE $inteiro
  * @return int|null|string
  */
 public function getValorFinal($formatado10digitos = false, $inteiro = false)
 {
     $data_processamento = $this->getDataProcessamento();
     $data_vencimento = $this->getDataVencimentoRecebida();
     $vencido = $data_processamento->toDateString() > $data_vencimento->toDateString();
     $valor_cobrado = $this->getValorBase();
     if ($vencido) {
         $diferenca_dias = $data_processamento->diffInDays($data_vencimento);
         $valor_cobrado += $this->getValorTaxa(true) * $diferenca_dias + $this->getValorMulta(true);
     }
     if ($formatado10digitos === true) {
         return Calculator::formataNumero($valor_cobrado, 10, 0);
     }
     if ($inteiro === true) {
         return $valor_cobrado;
     }
     return Calculator::formataValor($valor_cobrado);
 }
Exemplo n.º 2
0
 public function getCodigoBeneficiario()
 {
     return Calculator::formataNumero($this->getConta(), 6, 0);
 }
Exemplo n.º 3
0
 /**
  * @return string
  */
 protected function calculaLinhaDigitavel()
 {
     $codigo_barras = $this->getCodigoBarras();
     $campo_1_sem_dv = substr($codigo_barras, 0, 3) . substr($codigo_barras, 3, 1) . substr($codigo_barras, 19, 5);
     $campo_1 = $campo_1_sem_dv . $this->calculaDVLinhaDigitavel($campo_1_sem_dv);
     $campo_2_sem_dv = substr($codigo_barras, 24, 10);
     $campo_2 = $campo_2_sem_dv . $this->calculaDVLinhaDigitavel($campo_2_sem_dv);
     $campo_3_sem_dv = substr($codigo_barras, 34, 10);
     $campo_3 = $campo_3_sem_dv . $this->calculaDVLinhaDigitavel($campo_3_sem_dv);
     $campo_4 = substr($codigo_barras, 4, 1);
     $campo_5 = substr($codigo_barras, 5, 4) . Calculator::formataNumero(substr($codigo_barras, 9, 10), 10, 0);
     $linha_digitavel = $campo_1 . $campo_2 . $campo_3 . $campo_4 . $campo_5;
     return $linha_digitavel;
 }