/** * @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); }
public function getCodigoBeneficiario() { return Calculator::formataNumero($this->getConta(), 6, 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; }