Sha256: c88b7c73bb5777848648d7639876cfc0df1f09e33c70583cc7c7c194ac72d776

Contents?: true

Size: 1.94 KB

Versions: 5

Compression:

Stored size: 1.94 KB

Contents

# Banco BRADESCO
class BancoBradesco < Brcobranca::Boleto::Base
  # Responsável por definir dados iniciais quando se cria uma nova intancia da classe BancoBradesco
  def initialize(campos={})
    padrao={:carteira => "06", :banco => "237"}
    campos = padrao.merge!(campos)
    super(campos)
  end
  
  # Campo usado apenas na exibição no boleto
  #  Deverá ser sobreescrito para cada banco
  def nosso_numero_boleto
   "#{self.carteira}/#{self.numero_documento.zeros_esquerda(:tamanho => 11)}-#{self.nosso_numero_dv}"
  end

  # Campo usado apenas na exibição no boleto
  #  Deverá ser sobreescrito para cada banco
  def agencia_conta_boleto
   "#{self.agencia}-#{self.agencia_dv} / #{self.conta_corrente}-#{self.conta_corrente_dv}"
  end

  # Responsável por montar uma String com 43 caracteres que será usado na criação do código de barras
  #   As posições do campo livre ficam a critério de cada Banco arrecadador, sendo que o
  #   padrão do Bradesco é:
  #   Posição Tamanho Conteúdo
  #   20 a 23 4 Agência Cedente (Sem o digito verificador, completar com zeros a esquerda quando  necessário)
  #   24 a 25 2 Carteira
  #   26 a 36 11 Número do Nosso Número(Sem o digito verificador)
  #   37 a 43 7 Conta do Cedente (Sem o digito verificador, completar com zeros a esquerda quando necessário)
  #   44 a 44 1 Zero

  def monta_codigo_43_digitos
    banco = self.banco.zeros_esquerda(:tamanho => 3)
    fator = self.data_vencimento.fator_vencimento
    valor_documento = self.valor_documento.limpa_valor_moeda.zeros_esquerda(:tamanho => 10)
    agencia = self.agencia.zeros_esquerda(:tamanho => 4)
    carteira = self.carteira.zeros_esquerda(:tamanho => 2)
    numero_documento = self.numero_documento.zeros_esquerda(:tamanho => 11)
    conta = self.conta_corrente.zeros_esquerda(:tamanho => 7)

    numero = "#{banco}#{self.moeda}#{fator}#{valor_documento}#{agencia}#{carteira}#{numero_documento}#{conta}0"
    numero.size == 43 ? numero : nil
  end
end

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
kivanio-brcobranca-2.0.6 lib/brcobranca/boleto/banco_bradesco.rb
tulios-brcobranca-rails2-2.0.10 lib/brcobranca/boleto/banco_bradesco.rb
tulios-brcobranca-rails2-2.0.9 lib/brcobranca/boleto/banco_bradesco.rb
tulios-brcobranca-rails2-2.0.8 lib/brcobranca/boleto/banco_bradesco.rb
brcobranca-2.0.6 lib/brcobranca/boleto/banco_bradesco.rb