formatos-febraban 0.3.09 → 0.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d46b242370c1c7229cc98c62581e4bc36729b5f2
|
4
|
+
data.tar.gz: 21e64b390cdab99f902be1145162e789f65c5c22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5b4f1263ac58f538c37889f1f6225072ea9f377833d67c54217b49e99adefa008317dc41143f78253e4e16492de233f32a24170fc4ee83893494d324cc87694b
|
7
|
+
data.tar.gz: 0e23bcdab79cf50b34a4a0bbb5416b3bef39119ff341f597d793f0e4cd5ea519be9caee15b06585276f791262017e18ae6af2babcd3dbc2fa7e671e20ca14e03
|
@@ -10,7 +10,9 @@ class Febraban150A < FormatSection
|
|
10
10
|
def initialize(master, versao = Febraban150::VERSAO)
|
11
11
|
super(master, true, true, false)
|
12
12
|
|
13
|
-
|
13
|
+
@varsao = versao
|
14
|
+
|
15
|
+
case @versao
|
14
16
|
when '04'
|
15
17
|
self.monta_versao_04
|
16
18
|
when '05'
|
@@ -34,6 +36,7 @@ class Febraban150A < FormatSection
|
|
34
36
|
10 => Position.new(11, 52, false), # Reservado pelo Sistema
|
35
37
|
})
|
36
38
|
end
|
39
|
+
|
37
40
|
def monta_versao_05
|
38
41
|
@section = Section.new({
|
39
42
|
0 => Position.new(1, 1, false,'A', true), # Código do Registro
|
@@ -54,7 +57,30 @@ class Febraban150A < FormatSection
|
|
54
57
|
#-------------------------------------------------------------------
|
55
58
|
# Gerais
|
56
59
|
public
|
57
|
-
def process_section
|
60
|
+
def process_section(file)
|
61
|
+
case @versao
|
62
|
+
when '04'
|
63
|
+
self.processa_arquivo_04(file)
|
64
|
+
when '05'
|
65
|
+
self.processa_arquivo_05(file)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
protected
|
70
|
+
def processa_arquivo_04(file)
|
71
|
+
self.set_codigo_remessa file[1..1]
|
72
|
+
self.set_codigo_convenio file[2..21]
|
73
|
+
self.set_nome_empresa file[22..41]
|
74
|
+
self.set_codigo_banco file[42..44]
|
75
|
+
self.set_nome_banco file[45..64]
|
76
|
+
self.set_data_geracao file[65..72]
|
77
|
+
self.set_numero_sequencial file[73..78]
|
78
|
+
self.set_versao_layout file[79..80]
|
79
|
+
self.set_identificacao_servico file[81..99]
|
80
|
+
self.set_reservado file[98..149]
|
81
|
+
end
|
82
|
+
|
83
|
+
def processa_arquivo_05(file)
|
58
84
|
self.set_codigo_remessa file[1..1]
|
59
85
|
self.set_codigo_convenio file[2..21]
|
60
86
|
self.set_nome_empresa file[22..41]
|
@@ -72,6 +98,28 @@ class Febraban150A < FormatSection
|
|
72
98
|
# Validações
|
73
99
|
public
|
74
100
|
def is_valid?
|
101
|
+
case @versao
|
102
|
+
when '04'
|
103
|
+
self.is_valid_04?
|
104
|
+
when '05'
|
105
|
+
self.is_valid_05?
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
protected
|
110
|
+
def is_valid_04?
|
111
|
+
result = (self.get_codigo_remessa > 0 and
|
112
|
+
self.get_codigo_convenio.length > 0 and
|
113
|
+
self.get_nome_empresa.length > 0 and
|
114
|
+
self.get_codigo_banco > 0 and
|
115
|
+
self.get_nome_banco.length > 0 and
|
116
|
+
!self.get_data_geracao.nil? and
|
117
|
+
self.get_numero_sequencial > 0 and
|
118
|
+
self.get_versao_layout > 0 and
|
119
|
+
self.get_identificacao_servico.length > 0)
|
120
|
+
end
|
121
|
+
|
122
|
+
def is_valid_05?
|
75
123
|
result = (self.get_codigo_remessa > 0 and
|
76
124
|
self.get_codigo_convenio.length > 0 and
|
77
125
|
self.get_nome_empresa.length > 0 and
|
@@ -6,6 +6,8 @@ class Febraban150E < FormatSection
|
|
6
6
|
def initialize(master, versao = Febraban150::VERSAO)
|
7
7
|
super(master, false, true)
|
8
8
|
|
9
|
+
@versao = versao
|
10
|
+
|
9
11
|
case versao
|
10
12
|
when '04'
|
11
13
|
self.monta_versao_04
|
@@ -25,7 +27,7 @@ class Febraban150E < FormatSection
|
|
25
27
|
5 => Position.new(6, 15, true), # Valor do Débito
|
26
28
|
6 => Position.new(7, 2, false), # Código da Moeda (01-UFIR, 03-REAL)
|
27
29
|
7 => Position.new(8, 60, false), # Uso da Empresa, sem processamento
|
28
|
-
10 => Position.new(9, 20, false),
|
30
|
+
10 => Position.new(9, 20, false), # Reservado pelo Sistema
|
29
31
|
11 => Position.new(10, 1, true) # Código de Movimento (0-Normal, 1-Cancelar)
|
30
32
|
})
|
31
33
|
end
|
@@ -51,7 +53,29 @@ class Febraban150E < FormatSection
|
|
51
53
|
#-------------------------------------------------------------------
|
52
54
|
# Gerais
|
53
55
|
public
|
54
|
-
def process_section
|
56
|
+
def process_section(file)
|
57
|
+
case @versao
|
58
|
+
when '04'
|
59
|
+
self.processa_arquivo_04(file)
|
60
|
+
when '05'
|
61
|
+
self.processa_arquivo_05(file)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
protected
|
66
|
+
def processa_arquivo_04(file)
|
67
|
+
self.set_id_cliente_empresa file[1..25]
|
68
|
+
self.set_agencia_debito file[26..29]
|
69
|
+
self.set_id_cliente_banco file[30..43]
|
70
|
+
self.set_data_vencimento file[44..51]
|
71
|
+
self.set_valor_debito file[52..66]
|
72
|
+
self.set_codigo_moeda file[67..68]
|
73
|
+
self.set_obs_empresa file[69..128]
|
74
|
+
self.set_reservado file[129..148]
|
75
|
+
self.set_cod_movimento file[149..149]
|
76
|
+
end
|
77
|
+
|
78
|
+
def processa_arquivo_05(file)
|
55
79
|
self.set_id_cliente_empresa file[1..25]
|
56
80
|
self.set_agencia_debito file[26..29]
|
57
81
|
self.set_id_cliente_banco file[30..43]
|
@@ -68,7 +92,29 @@ class Febraban150E < FormatSection
|
|
68
92
|
#-------------------------------------------------------------------
|
69
93
|
#-------------------------------------------------------------------
|
70
94
|
# Validações
|
95
|
+
public
|
71
96
|
def is_valid?
|
97
|
+
case @versao
|
98
|
+
when '04'
|
99
|
+
self.is_valid_04?
|
100
|
+
when '05'
|
101
|
+
self.is_valid_05?
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
protected
|
106
|
+
def is_valid_04?
|
107
|
+
result = (self.get_id_cliente_empresa.length > 0 and
|
108
|
+
self.get_id_cliente_banco.length > 0 and
|
109
|
+
!self.get_data_vencimento.nil? and
|
110
|
+
self.get_valor_debito > 0 and
|
111
|
+
self.get_codigo_moeda.length > 0 and
|
112
|
+
self.get_obs_empresa.length > 0 and
|
113
|
+
(self.get_cod_movimento == 0 or
|
114
|
+
self.get_cod_movimento == 1))
|
115
|
+
end
|
116
|
+
|
117
|
+
def is_valid_05?
|
72
118
|
result = (self.get_id_cliente_empresa.length > 0 and
|
73
119
|
self.get_id_cliente_banco.length > 0 and
|
74
120
|
!self.get_data_vencimento.nil? and
|
@@ -76,10 +122,10 @@ class Febraban150E < FormatSection
|
|
76
122
|
self.get_codigo_moeda.length > 0 and
|
77
123
|
self.get_obs_empresa.length > 0 and
|
78
124
|
(self.get_tipo_id_cliente == 1 or
|
79
|
-
|
125
|
+
self.get_tipo_id_cliente == 2) and
|
80
126
|
self.get_id_cliente.length == 15 and
|
81
127
|
(self.get_cod_movimento == 0 or
|
82
|
-
|
128
|
+
self.get_cod_movimento == 1))
|
83
129
|
end
|
84
130
|
|
85
131
|
#-------------------------------------------------------------------
|
@@ -6,6 +6,8 @@ class Febraban150Z < FormatSection
|
|
6
6
|
def initialize(master, versao = Febraban150::VERSAO)
|
7
7
|
super(master, true, true, false)
|
8
8
|
|
9
|
+
@varsao = versao
|
10
|
+
|
9
11
|
case versao
|
10
12
|
when '04'
|
11
13
|
self.monta_versao_04
|
@@ -37,7 +39,23 @@ class Febraban150Z < FormatSection
|
|
37
39
|
#-------------------------------------------------------------------
|
38
40
|
# Gerais
|
39
41
|
public
|
40
|
-
def process_section
|
42
|
+
def process_section(file)
|
43
|
+
case @versao
|
44
|
+
when '04'
|
45
|
+
self.processa_arquivo_04(file)
|
46
|
+
when '05'
|
47
|
+
self.processa_arquivo_05(file)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
protected
|
52
|
+
def processa_arquivo_04(file)
|
53
|
+
self.set_total_registros file[1..6]
|
54
|
+
self.set_valor_total file[7..23]
|
55
|
+
self.set_reservado file[24..149]
|
56
|
+
end
|
57
|
+
|
58
|
+
def processa_arquivo_05(file)
|
41
59
|
self.set_total_registros file[1..6]
|
42
60
|
self.set_valor_total file[7..23]
|
43
61
|
self.set_reservado file[24..149]
|
@@ -47,6 +65,21 @@ class Febraban150Z < FormatSection
|
|
47
65
|
#-------------------------------------------------------------------
|
48
66
|
# Validações
|
49
67
|
def is_valid?
|
68
|
+
case @versao
|
69
|
+
when '04'
|
70
|
+
self.is_valid_04?
|
71
|
+
when '05'
|
72
|
+
self.is_valid_05?
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
protected
|
77
|
+
def is_valid_04?
|
78
|
+
result = (self.get_total_registros > 0 and
|
79
|
+
self.get_valor_total > 0)
|
80
|
+
end
|
81
|
+
|
82
|
+
def is_valid_05?
|
50
83
|
result = (self.get_total_registros > 0 and
|
51
84
|
self.get_valor_total > 0)
|
52
85
|
end
|