Class: Brcobranca::Remessa::Cnab240::Sicoob
- Inherits:
-
Base
- Object
- Base
- Base
- Brcobranca::Remessa::Cnab240::Sicoob
show all
- Defined in:
- lib/brcobranca/remessa/cnab240/sicoob.rb
Instance Attribute Summary collapse
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.
35
36
37
38
39
40
41
42
43
44
45
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 35
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/brcobranca/remessa/cnab240/sicoob.rb', line 7
def modalidade_carteira
@modalidade_carteira
end
|
#parcela ⇒ Object
Returns the value of attribute parcela.
7
8
9
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 7
def parcela
@parcela
end
|
#posto ⇒ Object
Returns the value of attribute posto.
7
8
9
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 7
def posto
@posto
end
|
Returns the value of attribute tipo_formulario.
7
8
9
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 7
def tipo_formulario
@tipo_formulario
end
|
Instance Method Details
#cod_banco ⇒ Object
47
48
49
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 47
def cod_banco
'756'
end
|
#codigo_convenio ⇒ Object
Also known as:
convenio_lote
87
88
89
90
91
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 87
def codigo_convenio
''.rjust(20, ' ')
end
|
105
106
107
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 105
def
''.rjust(29, ' ')
end
|
#complemento_p(pagamento) ⇒ Object
155
156
157
158
159
160
161
162
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 155
def complemento_p(pagamento)
"#{conta_corrente.rjust(12, '0')}#{digito_conta} #{formata_nosso_numero(pagamento.nosso_numero)}"
end
|
#complemento_trailer ⇒ Object
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 109
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
198
199
200
201
202
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 198
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
223
224
225
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 223
def dias_baixa(_pagamento)
''.rjust(3, ' ')
end
|
#digito_agencia ⇒ Object
71
72
73
74
75
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 71
def digito_agencia
agencia.modulo11(mapeamento: { 10 => '0' }).to_s
end
|
#digito_conta ⇒ Object
77
78
79
80
81
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 77
def digito_conta
conta_corrente.modulo11(mapeamento: { 10 => '0' }).to_s
end
|
#dv_agencia_cobradora ⇒ Object
83
84
85
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 83
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)
219
220
221
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 219
def formata_nosso_numero(nosso_numero)
"#{nosso_numero.to_s.rjust(10, '0')}#{parcela}#{modalidade_carteira}#{tipo_formulario} "
end
|
#info_conta ⇒ Object
95
96
97
98
99
100
101
102
103
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 95
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
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
195
196
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 164
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 137
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
51
52
53
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 51
def nome_banco
'SICOOB'.ljust(30, ' ')
end
|
#uso_exclusivo_banco ⇒ Object
63
64
65
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 63
def uso_exclusivo_banco
''.rjust(20, ' ')
end
|
#uso_exclusivo_empresa ⇒ Object
67
68
69
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 67
def uso_exclusivo_empresa
''.rjust(20, ' ')
end
|
#versao_layout_arquivo ⇒ Object
55
56
57
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 55
def versao_layout_arquivo
'081'
end
|
#versao_layout_lote ⇒ Object
59
60
61
|
# File 'lib/brcobranca/remessa/cnab240/sicoob.rb', line 59
def versao_layout_lote
'040'
end
|