Class: Brcobranca::Remessa::Cnab400::Bradesco
- Inherits:
-
Base
- Object
- Base
- Base
- Brcobranca::Remessa::Cnab400::Bradesco
show all
- Defined in:
- lib/brcobranca/remessa/cnab400/bradesco.rb
Instance Attribute Summary collapse
Attributes inherited from Base
#aceite, #agencia, #carteira, #conta_corrente, #digito_conta, #documento_cedente, #empresa_mae, #pagamentos, #sequencial_remessa
Instance Method Summary
collapse
Methods inherited from Base
#data_geracao, #gera_arquivo, #monta_header, #monta_trailer
Methods inherited from Base
#initialize, #quantidade_titulos_cobranca, #totaliza_valor_titulos, #valor_titulos_carteira
#errors, included, #invalid?, #valid?
Instance Attribute Details
#codigo_empresa ⇒ Object
codigo da empresa (informado pelo Bradesco no cadastramento)
8
9
10
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 8
def codigo_empresa
@codigo_empresa
end
|
Instance Method Details
#agencia=(valor) ⇒ Object
20
21
22
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 20
def agencia=(valor)
@agencia = valor.to_s.rjust(5, '0') if valor
end
|
#cod_banco ⇒ Object
40
41
42
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 40
def cod_banco
'237'
end
|
#complemento ⇒ Object
48
49
50
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 48
def complemento
"#{''.rjust(8, ' ')}MX#{sequencial_remessa}#{''.rjust(277, ' ')}"
end
|
#conta_corrente=(valor) ⇒ Object
24
25
26
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 24
def conta_corrente=(valor)
@conta_corrente = valor.to_s.rjust(7, '0') if valor
end
|
#digito_nosso_numero(nosso_numero) ⇒ Object
61
62
63
64
65
66
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 61
def digito_nosso_numero(nosso_numero)
"#{carteira}#{nosso_numero.to_s.rjust(11, '0')}".modulo11(
multiplicador: [2, 3, 4, 5, 6, 7],
mapeamento: { 10 => 'P', 11 => 0 }
) { |total| 11 - (total % 11) }
end
|
Formata o endereco do sacado de acordo com os caracteres disponiveis (40) concatenando o endereco, cidade e uf
72
73
74
75
76
77
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 72
def formata_endereco_sacado(pgto)
endereco = "#{pgto.endereco_sacado}, #{pgto.cidade_sacado}/#{pgto.uf_sacado}"
return endereco.ljust(40, ' ') if endereco.size <= 40
"#{pgto.endereco_sacado[0..19]} #{pgto.cidade_sacado[0..14]}/#{pgto.uf_sacado}".format_size(40)
end
|
#identificacao_empresa ⇒ Object
52
53
54
55
56
57
58
59
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 52
def identificacao_empresa
identificacao = '0' identificacao += carteira.to_s.rjust(3, '0') identificacao << agencia identificacao << conta_corrente identificacao << digito_conta end
|
#info_conta ⇒ Object
36
37
38
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 36
def info_conta
codigo_empresa
end
|
#monta_descontos_adicionais(pagamento, sequencial) ⇒ Object
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 130
def monta_descontos_adicionais(pagamento, sequencial)
raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
detalhe = '2' detalhe += ''.rjust(80, ' ') detalhe << ''.rjust(80, ' ') detalhe << ''.rjust(80, ' ') detalhe << ''.rjust(80, ' ') detalhe << pagamento.formata_data_segundo_desconto detalhe << pagamento.formata_valor_segundo_desconto detalhe << pagamento.formata_data_terceiro_desconto detalhe << pagamento.formata_valor_terceiro_desconto detalhe << ''.rjust(7, ' ') detalhe << carteira.to_s.rjust(3, '0') detalhe << agencia detalhe << conta_corrente detalhe << digito_conta detalhe << pagamento.nosso_numero.to_s.rjust(11, '0') detalhe << digito_nosso_numero(pagamento.nosso_numero).to_s detalhe << sequencial.to_s.rjust(6, '0') detalhe
end
|
#monta_detalhe(pagamento, sequencial) ⇒ Object
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 79
def monta_detalhe(pagamento, sequencial)
raise Brcobranca::RemessaInvalida, pagamento if pagamento.invalid?
detalhe = '1' detalhe += ''.rjust(5, '0') detalhe << ''.rjust(1, '0') detalhe << ''.rjust(5, '0') detalhe << ''.rjust(7, '0') detalhe << ''.rjust(1, '0') detalhe << identificacao_empresa detalhe << pagamento.documento_ou_numero.to_s.ljust(25, ' ') detalhe << ''.rjust(3, '0') detalhe << pagamento.codigo_multa detalhe << pagamento.formata_percentual_multa detalhe << pagamento.nosso_numero.to_s.rjust(11, '0') detalhe << digito_nosso_numero(pagamento.nosso_numero).to_s detalhe << ''.rjust(10, '0') detalhe << '2' detalhe << 'N' detalhe << ''.rjust(10, ' ') detalhe << ' ' detalhe << '2' detalhe << ''.rjust(2, ' ') detalhe << pagamento.identificacao_ocorrencia detalhe << pagamento.numero.to_s.ljust(10, ' ') detalhe << pagamento.data_vencimento.strftime('%d%m%y') detalhe << pagamento.formata_valor detalhe << ''.rjust(3, '0') detalhe << ''.rjust(5, '0') detalhe << '01' detalhe << 'N' detalhe << pagamento.data_emissao.strftime('%d%m%y') detalhe << ''.rjust(2, '0') detalhe << ''.rjust(2, '0') detalhe << pagamento.formata_valor_mora detalhe << pagamento.formata_data_desconto detalhe << pagamento.formata_valor_desconto detalhe << pagamento.formata_valor_iof detalhe << pagamento.formata_valor_abatimento detalhe << pagamento.identificacao_sacado detalhe << pagamento.documento_sacado.to_s.rjust(14, '0') detalhe << pagamento.nome_sacado.format_size(40) detalhe << formata_endereco_sacado(pagamento) detalhe << ''.rjust(12, ' ') detalhe << pagamento.cep_sacado[0..4] detalhe << pagamento.cep_sacado[5..7] detalhe << ''.rjust(60, ' ') detalhe << sequencial.to_s.rjust(6, '0') detalhe
end
|
#nome_banco ⇒ Object
44
45
46
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 44
def nome_banco
'BRADESCO'.ljust(15, ' ')
end
|
#sequencial_remessa=(valor) ⇒ Object
32
33
34
|
# File 'lib/brcobranca/remessa/cnab400/bradesco.rb', line 32
def sequencial_remessa=(valor)
@sequencial_remessa = valor.to_s.rjust(7, '0') if valor
end
|