formatos-febraban 0.3.09 → 0.3.10
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
|
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
|