brcobranca 11.0.0 → 11.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e7e6ba3c6d393e26064746e9de07257f87fda40035ecd14fe6909b90c8719bd
4
- data.tar.gz: ca8b03fda321d9e869876434d47e6706390abd234ac846b5ea3ddffce021b847
3
+ metadata.gz: b61d2a33b85785415e8eedb2b2d86fa9af980f5ca0488bc2f89ea5921737ba0e
4
+ data.tar.gz: a174db8c72ebebf667bba14fcfc48c2ed62a9fbb8e996eb4a92d2515ecc2984a
5
5
  SHA512:
6
- metadata.gz: 03db33f15833ac6f427e8bf14ec3fcf4135fc9e45663e34e8ce4208d549e6586deb7356721d472b58ddc34eb75b358b6b308ae6ebed79c9cd5ef156c3f6a57ec
7
- data.tar.gz: 4bed61dc5d28d553839853fb480496204cdaf0c1e215b30c3423fa0dcdee579cd743ed743c3ef3a70ac1a39271d7a9030e1063ce290d87085915a806e64c3260
6
+ metadata.gz: bdf916b22779b0eafda0c77a1d4cfe2a1557b55f2eb9f3d066106bd6bbafe9adf67227899a53c3a74c2351ed8adc3bb6f0b7848cae6ee10bd81b8c924cdf0093
7
+ data.tar.gz: 66de566287410facbbaad32681584ac91696ccfffaa0a8e7386d5c3f96940bbef18bd120dea754aa8f2a867322cc63a6d9d93e225120e59932447cee32096282
@@ -91,6 +91,8 @@ module Brcobranca
91
91
  attr_accessor :cedente_endereco
92
92
  # <b>OPCIONAL</b>: EMV para gerar QRCode para pagamento via PIX
93
93
  attr_accessor :emv
94
+ # <b>OPCIONAL</b>: Descontos e abatimentos
95
+ attr_accessor :descontos_e_abatimentos
94
96
 
95
97
  # Validações
96
98
  validates_presence_of :agencia, :conta_corrente, :moeda, :especie_documento, :especie, :aceite, :nosso_numero,
@@ -126,6 +126,7 @@ module Brcobranca
126
126
 
127
127
  # Monta Recibo do Beneficiário
128
128
  def modelo_recibo_beneficiario(doc, boleto)
129
+ monta_logotipo(doc, boleto, 14.500, 26.850, 1.00)
129
130
  doc.moveto x: 4.28, y: 26.87
130
131
  doc.show truncar(boleto.cedente, 90), tag: :menor
131
132
  doc.moveto x: 4.28, y: 26.33
@@ -155,7 +155,10 @@ module Brcobranca
155
155
  move_more(doc, 5, 0)
156
156
  doc.show boleto.valor_documento.to_currency
157
157
 
158
- move_more(doc, -15, -1.3)
158
+ move_more(doc, -15.8, -0.75)
159
+ doc.show boleto.descontos_e_abatimentos&.to_currency
160
+
161
+ move_more(doc, 0.8, -0.55)
159
162
  doc.show "#{boleto.sacado} - #{boleto.sacado_documento.formata_documento}"
160
163
 
161
164
  move_more(doc, 0, -0.3)
@@ -234,6 +237,10 @@ module Brcobranca
234
237
  move_more(doc, 10.1, 0)
235
238
  doc.show boleto.valor_documento.to_currency
236
239
 
240
+ move_more(doc, 0, -0.8)
241
+ doc.show boleto.descontos_e_abatimentos&.to_currency
242
+
243
+ move_more(doc, 0, 0.8)
237
244
  if boleto.instrucoes
238
245
  doc.text_area boleto.instrucoes, width: '14 cm',
239
246
  text_align: :left, x: "#{@x -= 15.8} cm",
@@ -12,6 +12,7 @@ module Brcobranca
12
12
  validates_length_of :codigo_transmissao, maximum: 15, message: 'deve ter no máximo 15 dígitos.'
13
13
  validates_length_of :agencia, maximum: 4, message: 'deve ter 4 dígitos.'
14
14
  validates_length_of :conta_corrente, maximum: 9, message: 'deve ter 9 dígitos.'
15
+ validates_length_of :digito_conta, is: 1, message: 'deve ter 1 dígito.'
15
16
 
16
17
  def initialize(campos = {})
17
18
  campos = { emissao_boleto: ' ', distribuicao_boleto: ' ',
@@ -26,11 +27,7 @@ module Brcobranca
26
27
  def digito_agencia
27
28
  agencia.modulo11(mapeamento: { 10 => 'X', 11 => 'X' }).to_s
28
29
  end
29
-
30
- def digito_conta
31
- conta_corrente.modulo11(mapeamento: { 10 => 'X', 11 => 'X' }).to_s
32
- end
33
-
30
+
34
31
  def complemento_header
35
32
  ''.rjust(29, ' ')
36
33
  end
@@ -123,6 +120,10 @@ module Brcobranca
123
120
  ''.rjust(1, ' ')
124
121
  end
125
122
 
123
+ def dias_baixa(pagamento)
124
+ pagamento.dias_baixa.to_s.rjust(2, '0')
125
+ end
126
+
126
127
  def monta_header_arquivo
127
128
  header_arquivo = '' # CAMPO TAMANHO
128
129
  header_arquivo += cod_banco # codigo do banco 3
@@ -185,9 +186,9 @@ module Brcobranca
185
186
  segmento_p << formata_documento_ou_numero(pagamento) # identificacao titulo empresa 25
186
187
  segmento_p << pagamento.codigo_protesto # cod. para protesto 1
187
188
  segmento_p << pagamento.dias_protesto.to_s.rjust(2, '0') # dias para protesto 2
188
- segmento_p << '3' # cod. para baixa 1
189
+ segmento_p << codigo_baixa(pagamento) # cod. para baixa 1
189
190
  segmento_p << '0' # zero fixo 1
190
- segmento_p << '00' # dias para baixa 2
191
+ segmento_p << dias_baixa(pagamento) # dias para baixa 2
191
192
  segmento_p << '00' # cod. da moeda 2
192
193
  segmento_p << ''.rjust(11, ' ') # uso exclusivo 11
193
194
  segmento_p
@@ -114,8 +114,8 @@ module Brcobranca
114
114
  detalhe << pagamento.especie_titulo # especie do titulo X[02]
115
115
  detalhe << aceite # aceite (A/N) X[01]
116
116
  detalhe << pagamento.data_emissao.strftime('%d%m%y') # data de emissao 9[06]
117
- detalhe << pagamento.cod_primeira_instrucao # 1a instrucao - deixar zero X[02]
118
- detalhe << pagamento.cod_segunda_instrucao # 2a instrucao - deixar zero X[02]
117
+ detalhe << pagamento.cod_primeira_instrucao.to_s.rjust(2, '0') # 1a instrucao - deixar zero X[02]
118
+ detalhe << pagamento.cod_segunda_instrucao.to_s.rjust(2, '0') # 2a instrucao - deixar zero X[02]
119
119
  detalhe << pagamento.formata_valor_mora # valor mora ao dia 9[13]
120
120
  detalhe << pagamento.formata_data_desconto # data limite para desconto 9[06]
121
121
  detalhe << pagamento.formata_valor_desconto # valor do desconto 9[13]
@@ -140,7 +140,9 @@ module Brcobranca
140
140
  end
141
141
 
142
142
  def prazo_instrucao(pagamento)
143
- return '03' unless pagamento.cod_primeira_instrucao == '09'
143
+ return "03" unless %w[09 34 35].include?(
144
+ pagamento.cod_primeira_instrucao
145
+ )
144
146
 
145
147
  pagamento.dias_protesto.rjust(2, '0')
146
148
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Brcobranca
4
- VERSION = '11.0.0'
4
+ VERSION = '11.1.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brcobranca
3
3
  version: !ruby/object:Gem::Version
4
- version: 11.0.0
4
+ version: 11.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kivanio Barbosa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-01-12 00:00:00.000000000 Z
11
+ date: 2024-09-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: fast_blank
@@ -42,14 +42,14 @@ dependencies:
42
42
  name: rghost
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - '='
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.9.8
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - '='
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.9.8
55
55
  - !ruby/object:Gem::Dependency