Class: BrBoleto::Conta::Cecred

Inherits:
Base show all
Defined in:
lib/br_boleto/conta/cecred.rb

Instance Attribute Summary

Attributes inherited from Base

#agencia, #carteira, #codigo_carteira, #conta_corrente, #convenio, #convenio_dv, #cpf_cnpj, #endereco, #modalidade, #razao_social, #valid_agencia_length, #valid_carteira_inclusion, #valid_carteira_length, #valid_carteira_maximum, #valid_carteira_minimum, #valid_carteira_required, #valid_codigo_carteira_length, #valid_codigo_carteira_required, #valid_conta_corrente_length, #valid_conta_corrente_maximum, #valid_conta_corrente_minimum, #valid_conta_corrente_required, #valid_convenio_inclusion, #valid_convenio_length, #valid_convenio_maximum, #valid_convenio_minimum, #valid_convenio_required, #valid_endereco_required, #valid_modalidade_inclusion, #valid_modalidade_length, #valid_modalidade_maximum, #valid_modalidade_minimum, #valid_modalidade_required

Instance Method Summary collapse

Methods inherited from Base

#carteira_formatada, #codigo_banco_formatado, #cpf_cnpj_formatado, #cpf_cnpj_formatado_com_label, #tipo_cobranca, #tipo_cpf_cnpj

Methods included from Helper::DefaultCodes

#codigos_movimento_retorno_para_ocorrencia_A_240, #codigos_movimento_retorno_para_ocorrencia_A_400, #codigos_movimento_retorno_para_ocorrencia_B_240, #codigos_movimento_retorno_para_ocorrencia_B_400, #codigos_movimento_retorno_para_ocorrencia_C_240, #codigos_movimento_retorno_para_ocorrencia_C_400, #codigos_movimento_retorno_para_ocorrencia_D_400, #default_codigo_juros, #default_codigo_multa, #equivalent_codigo_desconto, #equivalent_codigo_juros, #equivalent_codigo_moeda_240, #equivalent_codigo_moeda_400, #equivalent_codigo_motivo_ocorrencia_A_240, #equivalent_codigo_motivo_ocorrencia_A_400, #equivalent_codigo_motivo_ocorrencia_B_240, #equivalent_codigo_motivo_ocorrencia_B_400, #equivalent_codigo_motivo_ocorrencia_C_240, #equivalent_codigo_motivo_ocorrencia_C_400, #equivalent_codigo_motivo_ocorrencia_D_400, #equivalent_codigo_movimento_remessa_240, #equivalent_codigo_movimento_remessa_400, #equivalent_codigo_movimento_retorno_400, #equivalent_codigo_multa, #equivalent_codigo_ocorrencia_pagador_240, #equivalent_codigo_ocorrencia_pagador_400, #equivalent_codigo_protesto_240, #equivalent_codigo_protesto_400, #equivalent_distribuicao_boleto, #equivalent_especie_titulo_240, #equivalent_especie_titulo_400, #equivalent_identificacao_emissao_240, #equivalent_identificacao_emissao_400, #equivalent_tipo_cobranca_240, #equivalent_tipo_cobranca_400, #equivalent_tipo_impressao_240, #equivalent_tipo_impressao_400, #get_codigo_desconto, #get_codigo_juros, #get_codigo_moeda, #get_codigo_motivo_ocorrencia, #get_codigo_movimento_remessa, #get_codigo_movimento_retorno, #get_codigo_multa, #get_codigo_ocorrencia_pagador, #get_codigo_protesto, #get_distribuicao_boleto, #get_especie_titulo, #get_identificacao_emissao, #get_tipo_cobranca, #get_tipo_impressao

Methods inherited from ActiveModelBase

#assign_attributes, #initialize

Constructor Details

This class inherits a constructor from BrBoleto::ActiveModelBase

Instance Method Details

#agencia_codigo_cedenteString

Campo Agência / Código do Cedente Exemplo: 9999-D / 9999999-D

Returns:

  • (String)

    Agência com 4 caracteres - digito da agência / Conta de Cobrança com 7 caracteres - Digito da Conta



61
62
63
# File 'lib/br_boleto/conta/cecred.rb', line 61

def agencia_codigo_cedente
	"#{agencia}-#{agencia_dv} / #{conta_corrente}-#{conta_corrente_dv}"
end

#agencia_dvObject



48
49
50
51
52
# File 'lib/br_boleto/conta/cecred.rb', line 48

def agencia_dv
	# utilizando a agencia com 4 digitos
	# para calcular o digito
	@agencia_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9.new(agencia).to_s
end

#codigo_bancoObject



27
28
29
# File 'lib/br_boleto/conta/cecred.rb', line 27

def codigo_banco
	'085'
end

#codigo_banco_dvObject

Dígito do código do banco descrito na documentação



32
33
34
# File 'lib/br_boleto/conta/cecred.rb', line 32

def codigo_banco_dv
	'1'
end

#codigos_movimento_retorno_para_ocorrencia_D_240Object

Código do Motivo da ocorrência :



79
80
81
# File 'lib/br_boleto/conta/cecred.rb', line 79

def codigos_movimento_retorno_para_ocorrencia_D_240
	%w[91 93 94]
end

#conta_corrente_dvObject



54
55
56
# File 'lib/br_boleto/conta/cecred.rb', line 54

def conta_corrente_dv
	@conta_corrente_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9.new(conta_corrente).to_s
end

#default_valuesObject

MODALIDADE CARTEIRA:

 _________________________________________________________
| Carteira | Descrição                                   |
|   1      | Com Cadastramento (Cobrança Registrada)      |
---------------------------------------------------------


12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/br_boleto/conta/cecred.rb', line 12

def default_values
	super.merge({
		carteira:                      '1', 			 
		valid_carteira_required:       true,  # <- Validação dinâmica que a modalidade é obrigatória
		valid_carteira_length:         1,     # <- Validação dinâmica que a modalidade deve ter 2 digitos
		valid_carteira_inclusion:      %w[1], # <- Validação dinâmica de valores aceitos para a modalidade
		codigo_carteira:               '1',   # Cobrança Simples
		valid_codigo_carteira_length:   1,    # <- Validação dinâmica que a modalidade deve ter 1 digito
		valid_conta_corrente_required: true,  # <- Validação dinâmica que a conta_corrente é obrigatória
		valid_conta_corrente_maximum:  7,     # <- Validação que a conta_corrente deve ter no máximo 7 digitos
		valid_convenio_required:       true,  # <- Validação que a convenio deve ter obrigatório
		valid_convenio_maximum:        6,     # <- Validação que a convenio deve ter no máximo 7 digitos
	})
end

#equivalent_codigo_motivo_ocorrencia_D_240(codigo_movimento_gem) ⇒ Object



82
83
84
85
86
87
88
89
90
91
92
# File 'lib/br_boleto/conta/cecred.rb', line 82

def equivalent_codigo_motivo_ocorrencia_D_240 codigo_movimento_gem
	#  Código     Padrão para  
	{# do Banco     a Gem
		'P1'    =>   'A114',  # Enviado Cooperativa Emite e Expede
		'S1'    =>   'D02',   # Sempre que a solicitação (inclusão ou exclusão) for efetuada com sucesso
		'S2'    =>   'D03',   # Sempre que a solicitação for integrada na Serasa com sucesso
		'S3'    =>   'D04',   # Sempre que vier retorno da Serasa por decurso de prazo
		'S4'    =>   'D05',   # Sempre que o documento for integrado na Serasa com sucesso, quando o UF for de São Paulo
		'S5'    =>   'D06',   # Sempre quando houver ação judicial, restringindo a negativação do boleto.
	}
end

#equivalent_codigo_movimento_retorno_240Object

Código de Movimento Retorno



66
67
68
69
70
71
72
73
74
75
76
# File 'lib/br_boleto/conta/cecred.rb', line 66

def equivalent_codigo_movimento_retorno_240
	super.merge(
		{
			'76' => '76',  # Liquidação de boleto cooperativa emite e expede
			'77' => '77',  # Liquidação de boleto após baixa ou não registrado cooperativa emite e expede
			'91' => '91',  # Título em aberto não enviado ao pagador
			'92' => '92',  # Inconsistência Negativação Serasa
			'93' => '93',  # Inclusão Negativação via Serasa
			'94' => '94',  # Exclusão Negativação Serasa
		})
end

#nome_bancoObject



36
37
38
# File 'lib/br_boleto/conta/cecred.rb', line 36

def nome_banco
	@nome_banco ||= 'CECRED'
end

#versao_layout_arquivo_cnab_240Object



40
41
42
# File 'lib/br_boleto/conta/cecred.rb', line 40

def versao_layout_arquivo_cnab_240
	'087'
end

#versao_layout_lote_cnab_240Object



44
45
46
# File 'lib/br_boleto/conta/cecred.rb', line 44

def versao_layout_lote_cnab_240
	'045'
end