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



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


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