Class: Brcobranca::Remessa::Cnab240::Caixa
- Inherits:
-
Base
- Object
- Base
- Base
- Brcobranca::Remessa::Cnab240::Caixa
show all
- Defined in:
- lib/brcobranca/remessa/cnab240/caixa.rb
Instance Attribute Summary collapse
Attributes inherited from Base
#codigo_carteira, #convenio, #distribuicao_boleto, #emissao_boleto, #especie_titulo, #forma_cadastramento, #mensagem_1, #mensagem_2
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
#codigo_desconto, #data_geracao, #densidade_gravacao, #dv_agencia_cobradora, #gera_arquivo, #hora_geracao, #monta_header_arquivo, #monta_header_lote, #monta_lote, #monta_segmento_p, #monta_segmento_q, #monta_segmento_r, #monta_trailer_arquivo, #monta_trailer_lote, #total_segmentos
Methods inherited from Base
#quantidade_titulos_cobranca, #totaliza_valor_titulos, #valor_titulos_carteira
#errors, included, #invalid?, #valid?
Constructor Details
#initialize(campos = {}) ⇒ Caixa
Returns a new instance of Caixa.
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 39
def initialize(campos = {})
campos = { modalidade_carteira: '14',
emissao_boleto: '2',
codigo_baixa: '2',
dias_baixa: '000',
distribuicao_boleto: '0',
especie_titulo: '99' }.merge!(campos)
super(campos)
end
|
Instance Attribute Details
#digito_agencia ⇒ Object
8
9
10
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 8
def digito_agencia
@digito_agencia
end
|
#modalidade_carteira ⇒ Object
modalidade da carteira
opcoes:
11: título Registrado emissão CAIXA
14: título Registrado emissão Cedente
21: título Sem Registro emissão CAIXA
16
17
18
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 16
def modalidade_carteira
@modalidade_carteira
end
|
#versao_aplicativo ⇒ Object
versao do aplicativo da CAIXA
10
11
12
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 10
def versao_aplicativo
@versao_aplicativo
end
|
Instance Method Details
#cod_banco ⇒ Object
58
59
60
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 58
def cod_banco
'104'
end
|
#codigo_baixa(pagamento) ⇒ Object
150
151
152
153
154
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 150
def codigo_baixa(pagamento)
return '1' if pagamento.codigo_protesto.to_s == '3'
'2'
end
|
#codigo_convenio ⇒ Object
74
75
76
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 74
def codigo_convenio
''.rjust(20, '0')
end
|
100
101
102
103
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 100
def
versao = versao_aplicativo || ''
"#{versao.rjust(4, ' ')}#{''.rjust(25, ' ')}"
end
|
#complemento_p(pagamento) ⇒ Object
117
118
119
120
121
122
123
124
125
126
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 117
def complemento_p(pagamento)
"#{convenio.rjust(6,
'0')}#{''.rjust(11,
'0')}#{modalidade_carteira}#{pagamento.nosso_numero.to_s.rjust(15, '0')}"
end
|
#complemento_r ⇒ Object
128
129
130
131
132
133
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 128
def complemento_r
segmento_r = ''
segmento_r += ''.rjust(50, ' ') segmento_r << ''.rjust(11, ' ') segmento_r
end
|
#complemento_trailer ⇒ Object
109
110
111
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 109
def complemento_trailer
"#{''.rjust(69, '0')}#{''.rjust(148, ' ')}"
end
|
#convenio=(valor) ⇒ Object
50
51
52
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 50
def convenio=(valor)
@convenio = valor.to_s.rjust(6, '0') if valor
end
|
#convenio_lote ⇒ Object
86
87
88
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 86
def convenio_lote
"#{convenio.rjust(6, '0')}#{''.rjust(14, '0')}"
end
|
#data_mora(pagamento) ⇒ Object
162
163
164
165
166
167
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 162
def data_mora(pagamento)
return ''.rjust(8, '0') unless %w[1 2].include? pagamento.tipo_mora
data_mora = pagamento.data_vencimento + 1
data_mora.strftime('%d%m%Y')
end
|
#data_multa(pagamento) ⇒ Object
143
144
145
146
147
148
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 143
def data_multa(pagamento)
return ''.rjust(8, '0') if pagamento.codigo_multa == '0'
data_multa = pagamento.data_vencimento + 1
data_multa.strftime('%d%m%Y')
end
|
#dias_baixa(pagamento) ⇒ Object
156
157
158
159
160
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 156
def dias_baixa(pagamento)
return '120' if pagamento.codigo_protesto.to_s == '3'
'000'
end
|
#exclusivo_servico ⇒ Object
105
106
107
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 105
def exclusivo_servico
'00'
end
|
#identificacao_titulo_empresa(pagamento) ⇒ Object
139
140
141
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 139
def identificacao_titulo_empresa(pagamento)
"#{pagamento.formata_documento_ou_numero(11, '0')}#{''.rjust(14, ' ')}"
end
|
#info_conta ⇒ Object
90
91
92
93
94
95
96
97
98
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 90
def info_conta
"#{agencia.to_s.rjust(5, '0')}#{digito_agencia}#{convenio}#{''.rjust(7, '0')}0"
end
|
#nome_banco ⇒ Object
62
63
64
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 62
def nome_banco
'CAIXA ECONOMICA FEDERAL'.ljust(30, ' ')
end
|
#numero(pagamento) ⇒ Object
135
136
137
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 135
def numero(pagamento)
"#{pagamento.formata_documento_ou_numero(11, '0')}#{''.rjust(4, ' ')}"
end
|
#tipo_documento ⇒ Object
113
114
115
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 113
def tipo_documento
'2'
end
|
#uso_exclusivo_banco ⇒ Object
78
79
80
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 78
def uso_exclusivo_banco
''.rjust(20, ' ')
end
|
#uso_exclusivo_empresa ⇒ Object
82
83
84
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 82
def uso_exclusivo_empresa
'REMESSA-PRODUCAO'.ljust(20, ' ')
end
|
#versao_layout_arquivo ⇒ Object
66
67
68
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 66
def versao_layout_arquivo
'050'
end
|
#versao_layout_lote ⇒ Object
70
71
72
|
# File 'lib/brcobranca/remessa/cnab240/caixa.rb', line 70
def versao_layout_lote
'030'
end
|