Class: Bbrcobranca::Remessa::Cnab240::Sicoob
- Inherits:
-
Base
- Object
- Base
- Base
- Bbrcobranca::Remessa::Cnab240::Sicoob
show all
- Defined in:
- lib/bbrcobranca/remessa/cnab240/sicoob.rb
Instance Attribute Summary collapse
-
#modalidade_carteira ⇒ Object
Returns the value of attribute modalidade_carteira.
-
#parcela ⇒ Object
Tipo Formulário - 01 posição (15 a 15): “1” -auto-copiativo “3” -auto-envelopável “4” -A4 sem envelopamento “6” -A4 sem envelopamento 3 vias.
-
#posto ⇒ Object
Parcela - 02 posições (11 a 12) - “01” se parcela única.
-
#tipo_formulario ⇒ Object
identificacao da emissao do boleto (attr na classe base) opcoes: ‘1’ = Banco Emite ‘2’ = Cliente Emite.
Attributes inherited from Base
#codigo_baixa, #codigo_carteira, #convenio, #distribuicao_boleto, #emissao_boleto, #especie_titulo, #forma_cadastramento, #mensagem_1, #mensagem_2, #tipo_documento
Attributes inherited from Base
#aceite, #agencia, #carteira, #conta_corrente, #documento_cedente, #empresa_mae, #pagamentos, #sequencial_remessa
Instance Method Summary
collapse
Methods inherited from Base
#codigo_desconto, #complemento_r, #data_geracao, #data_mora, #densidade_gravacao, #exclusivo_servico, #gera_arquivo, #hora_geracao, #identificacao_titulo_empresa, #monta_header_arquivo, #monta_header_lote, #monta_lote, #monta_segmento_p, #monta_segmento_q, #monta_trailer_lote, #numero, #total_segmentos
Methods inherited from Base
#quantidade_titulos_cobranca, #totaliza_valor_titulos, #valor_titulos_carteira
#errors, included, #invalid?, #valid?
Constructor Details
#initialize(campos = {}) ⇒ Sicoob
Returns a new instance of Sicoob.
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 38
def initialize(campos = {})
campos = { emissao_boleto: '2',
distribuicao_boleto: '2',
especie_titulo: '02',
tipo_formulario: '4',
parcela: '01',
modalidade_carteira: '01',
forma_cadastramento: '0',
posto: '00'}.merge!(campos)
super(campos)
end
|
Instance Attribute Details
#modalidade_carteira ⇒ Object
Returns the value of attribute modalidade_carteira.
7
8
9
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 7
def modalidade_carteira
@modalidade_carteira
end
|
#parcela ⇒ Object
Tipo Formulário - 01 posição (15 a 15):
"1" -auto-copiativo
"3" -auto-envelopável
"4" -A4 sem envelopamento
"6" -A4 sem envelopamento 3 vias
25
26
27
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 25
def parcela
@parcela
end
|
#posto ⇒ Object
Parcela - 02 posições (11 a 12) - “01” se parcela única
28
29
30
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 28
def posto
@posto
end
|
identificacao da emissao do boleto (attr na classe base)
opcoes:
‘1’ = Banco Emite
‘2’ = Cliente Emite
identificacao da distribuicao do boleto (attr na classe base)
opcoes:
‘1’ = Banco distribui
‘2’ = Cliente distribui
18
19
20
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 18
def tipo_formulario
@tipo_formulario
end
|
Instance Method Details
#cod_banco ⇒ Object
50
51
52
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 50
def cod_banco
'756'
end
|
#codigo_convenio ⇒ Object
Also known as:
convenio_lote
90
91
92
93
94
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 90
def codigo_convenio
''.rjust(20, ' ')
end
|
108
109
110
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 108
def
''.rjust(29, ' ')
end
|
#complemento_p(pagamento) ⇒ Object
152
153
154
155
156
157
158
159
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 152
def complemento_p(pagamento)
"#{conta_corrente.rjust(12, '0')}#{digito_conta} #{formata_nosso_numero(pagamento.nosso_numero)}"
end
|
#complemento_trailer ⇒ Object
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 112
def complemento_trailer
total_cobranca_simples = "#{quantidade_titulos_cobranca}#{valor_titulos_carteira}"
total_cobranca_vinculada = "".rjust(23, "0")
total_cobranca_caucionada = "".rjust(23, "0")
total_cobranca_descontada = "".rjust(23, "0")
"#{total_cobranca_simples}#{total_cobranca_vinculada}#{total_cobranca_caucionada}"\
"#{total_cobranca_descontada}".ljust(217, ' ')
end
|
#data_multa(pagamento) ⇒ Object
196
197
198
199
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 196
def data_multa(pagamento)
return ''.rjust(8, '0') if pagamento.codigo_multa == '0'
pagamento.data_vencimento.strftime('%d%m%Y')
end
|
#dias_baixa(pagamento) ⇒ Object
220
221
222
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 220
def dias_baixa(pagamento)
''.rjust(3, ' ')
end
|
#digito_agencia ⇒ Object
74
75
76
77
78
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 74
def digito_agencia
agencia.modulo11(mapeamento: { 10 => '0' }).to_s
end
|
#digito_conta ⇒ Object
80
81
82
83
84
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 80
def digito_conta
conta_corrente.modulo11(mapeamento: { 10 => '0' }).to_s
end
|
#dv_agencia_cobradora ⇒ Object
86
87
88
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 86
def dv_agencia_cobradora
' '
end
|
Retorna o nosso numero
Nosso Número:
- Se emissão a cargo do Cedente (vide planilha "Capa" deste arquivo):
NumTitulo - 10 posições (1 a 10)
Parcela - 02 posições (11 a 12) - "01" se parcela única
Modalidade - 02 posições (13 a 14) - vide planilha "Capa" deste arquivo
Tipo Formulário - 01 posição (15 a 15):
"1" -auto-copiativo
"3" -auto-envelopável
"4" -A4 sem envelopamento
"6" -A4 sem envelopamento 3 vias
Em branco - 05 posições (16 a 20)
216
217
218
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 216
def formata_nosso_numero(nosso_numero)
"#{nosso_numero.to_s.rjust(10, '0')}#{parcela}#{modalidade_carteira}#{tipo_formulario} "
end
|
#info_conta ⇒ Object
98
99
100
101
102
103
104
105
106
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 98
def info_conta
"#{agencia.rjust(5, '0')}#{digito_agencia}#{conta_corrente.rjust(12, '0')}#{digito_conta} "
end
|
#monta_segmento_r(pagamento, nro_lote, sequencial) ⇒ Object
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 162
def monta_segmento_r(pagamento, nro_lote, sequencial)
segmento_r = '' segmento_r << cod_banco segmento_r << nro_lote.to_s.rjust(4, '0') segmento_r << '3' segmento_r << sequencial.to_s.rjust(5, '0') segmento_r << 'R' segmento_r << ' ' segmento_r << '01' segmento_r << "0" segmento_r << "".rjust(8, '0') segmento_r << "".rjust(15, '0') segmento_r << "0" segmento_r << "".rjust(8, '0') segmento_r << "".rjust(15, '0') segmento_r << pagamento.codigo_multa segmento_r << data_multa(pagamento) segmento_r << pagamento.formata_percentual_multa(15) segmento_r << ''.rjust(10, ' ') segmento_r << ''.rjust(40, ' ') segmento_r << ''.rjust(40, ' ') segmento_r << ''.rjust(20, ' ') segmento_r << ''.rjust(8, '0') segmento_r << ''.rjust(3, '0') segmento_r << ''.rjust(5, '0') segmento_r << ' ' segmento_r << ''.rjust(12, '0') segmento_r << ' ' segmento_r << ' ' segmento_r << '0' segmento_r << ''.rjust(9, ' ') segmento_r
end
|
#monta_trailer_arquivo(nro_lotes, sequencial) ⇒ String
Monta o registro trailer do arquivo
140
141
142
143
144
145
146
147
148
149
150
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 140
def monta_trailer_arquivo(nro_lotes, sequencial)
"#{cod_banco}99999#{''.rjust(9, ' ')}#{nro_lotes.to_s.rjust(6, '0')}#{sequencial.to_s.rjust(6, '0')}#{''.rjust(6, '0')}#{''.rjust(205, ' ')}"
end
|
#nome_banco ⇒ Object
54
55
56
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 54
def nome_banco
'SICOOB'.ljust(30, ' ')
end
|
#uso_exclusivo_banco ⇒ Object
66
67
68
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 66
def uso_exclusivo_banco
''.rjust(20, ' ')
end
|
#uso_exclusivo_empresa ⇒ Object
70
71
72
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 70
def uso_exclusivo_empresa
''.rjust(20, ' ')
end
|
#versao_layout_arquivo ⇒ Object
58
59
60
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 58
def versao_layout_arquivo
'081'
end
|
#versao_layout_lote ⇒ Object
62
63
64
|
# File 'lib/bbrcobranca/remessa/cnab240/sicoob.rb', line 62
def versao_layout_lote
'040'
end
|