teodoro 0.24.0 → 0.29.0
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 +4 -4
- data/lib/municipios.json +22262 -0
- data/lib/teodoro.rb +35 -11
- data/lib/teodoro/arquivo_xml.rb +6 -5
- data/lib/teodoro/empresa.rb +6 -1
- data/lib/teodoro/empresa/contratos_de_emprego.rb +36 -3
- data/lib/teodoro/empresa/trabalhadores.rb +19 -0
- data/lib/teodoro/leiaute/arquivo_s2200.rb +173 -92
- data/lib/teodoro/leiaute/arquivo_s2205.rb +153 -68
- data/lib/teodoro/leiaute/arquivo_s2206.rb +68 -45
- data/lib/teodoro/leiaute/arquivo_s2230.rb +0 -2
- data/lib/teodoro/leiaute/arquivo_s2299.rb +71 -67
- data/lib/teodoro/leiaute/arquivo_s2300.rb +6 -2
- data/lib/teodoro/leiaute/arquivo_s2306.rb +1 -1
- data/lib/teodoro/leiaute/arquivo_s2399.rb +1 -1
- data/lib/tipos_de_logradouro.json +730 -0
- metadata +5 -2
@@ -5,18 +5,107 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
+
def criar_arquivos_data
|
9
|
+
super
|
10
|
+
|
11
|
+
empresa.trabalhadores << trabalhador
|
12
|
+
end
|
13
|
+
|
14
|
+
def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
15
|
+
@trabalhador ||= Obj.new(
|
16
|
+
cpf: evento['ideTrabalhador/cpfTrab'],
|
17
|
+
nis: evento['alteracao/dadosTrabalhador/nisTrab'],
|
18
|
+
nome: evento['alteracao/dadosTrabalhador/nmTrab'],
|
19
|
+
sexo: evento['alteracao/dadosTrabalhador/sexo'],
|
20
|
+
raca_cor: evento['alteracao/dadosTrabalhador/racaCor'],
|
21
|
+
estado_civil: evento['alteracao/dadosTrabalhador/estCiv'],
|
22
|
+
grau_de_instrucao: evento['alteracao/dadosTrabalhador/grauInstr'],
|
23
|
+
nome_social: evento['alteracao/dadosTrabalhador/nmSoc'],
|
24
|
+
data_de_nascimento: evento['alteracao/dadosTrabalhador/nascimento/dtNascto'],
|
25
|
+
pais_de_nascimento: evento['alteracao/dadosTrabalhador/nascimento/paisNascto'],
|
26
|
+
pais_de_nacionalidade: evento["alteracao/dadosTrabalhador/#{'nascimento' unless leiaute_simplificado?}/paisNac"], # rubocop:disable Layout/LineLength
|
27
|
+
codigo_do_municipio_de_nascimento: evento['alteracao/dadosTrabalhador/nascimento/codMunic'],
|
28
|
+
uf_de_nascimento: evento['alteracao/dadosTrabalhador/nascimento/uf'],
|
29
|
+
nome_da_mae: evento['alteracao/dadosTrabalhador/nascimento/nmMae'],
|
30
|
+
nome_do_pai: evento['alteracao/dadosTrabalhador/nascimento/nmPai'],
|
31
|
+
reside_no_exterior?: evento['alteracao/dadosTrabalhador/endereco/exterior'],
|
32
|
+
endereco: Obj.new(
|
33
|
+
tipo_de_logradouro: evento['alteracao/dadosTrabalhador/endereco/brasil/tpLograd'],
|
34
|
+
logradouro: evento['alteracao/dadosTrabalhador/endereco/brasil/dscLograd'],
|
35
|
+
numero: evento['alteracao/dadosTrabalhador/endereco/brasil/nrLograd'],
|
36
|
+
complemento: evento['alteracao/dadosTrabalhador/endereco/brasil/complemento'],
|
37
|
+
bairro: evento['alteracao/dadosTrabalhador/endereco/brasil/bairro'],
|
38
|
+
cep: evento['alteracao/dadosTrabalhador/endereco/brasil/cep'],
|
39
|
+
codigo_do_municipio: evento['alteracao/dadosTrabalhador/endereco/brasil/codMunic'],
|
40
|
+
uf: evento['alteracao/dadosTrabalhador/endereco/brasil/uf']
|
41
|
+
),
|
42
|
+
estrangeiro?: evento['alteracao/dadosTrabalhador/trabEstrangeiro'],
|
43
|
+
casado_com_brasileiro: evento['alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr'],
|
44
|
+
data_de_chegada_ao_brasil: evento['alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada'],
|
45
|
+
filhos_brasileiros: evento['alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr'],
|
46
|
+
ctps: Obj.new(
|
47
|
+
numero: evento['alteracao/dadosTrabalhador/documentos/CTPS/nrCtps'],
|
48
|
+
serie: evento['alteracao/dadosTrabalhador/documentos/CTPS/serieCtps'],
|
49
|
+
uf: evento['alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']
|
50
|
+
),
|
51
|
+
rg: Obj.new(
|
52
|
+
numero: evento['alteracao/dadosTrabalhador/documentos/RG/nrRg'],
|
53
|
+
orgao_emissor: evento['alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor'],
|
54
|
+
data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/RG/dtExped']
|
55
|
+
),
|
56
|
+
rne: Obj.new(
|
57
|
+
numero: evento['alteracao/dadosTrabalhador/documentos/RNE/nrRne'],
|
58
|
+
orgao_emissor: evento['alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor'],
|
59
|
+
data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/RNE/dtExped']
|
60
|
+
),
|
61
|
+
ric: Obj.new(
|
62
|
+
numero: evento['alteracao/dadosTrabalhador/documentos/RIC/nrRic'],
|
63
|
+
orgao_emissor: evento['alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor'],
|
64
|
+
data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/RIC/dtExped']
|
65
|
+
),
|
66
|
+
oc: Obj.new(
|
67
|
+
numero: evento['alteracao/dadosTrabalhador/documentos/OC/nrOc'],
|
68
|
+
orgao_emissor: evento['alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor'],
|
69
|
+
data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/OC/dtExped']
|
70
|
+
),
|
71
|
+
cnh: Obj.new(
|
72
|
+
numero_do_registro: evento['alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh'],
|
73
|
+
data_da_primeira_habilitacao: evento['alteracao/dadosTrabalhador/documentos/CNH/dtPriHab'],
|
74
|
+
data_da_expedicao: evento['alteracao/dadosTrabalhador/documentos/CNH/dtExped'],
|
75
|
+
data_de_validade: evento['alteracao/dadosTrabalhador/documentos/CNH/dtValid'],
|
76
|
+
categoria: evento['alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh'],
|
77
|
+
uf_do_emissor: evento['alteracao/dadosTrabalhador/documentos/CNH/ufCnh']
|
78
|
+
),
|
79
|
+
deficiencia: Obj.new(
|
80
|
+
fisica: evento['alteracao/dadosTrabalhador/infoDeficiencia/defFisica'],
|
81
|
+
visual: evento['alteracao/dadosTrabalhador/infoDeficiencia/defVisual'],
|
82
|
+
auditiva: evento['alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva'],
|
83
|
+
mental: evento['alteracao/dadosTrabalhador/infoDeficiencia/defMental'],
|
84
|
+
intelectual: evento['alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual'],
|
85
|
+
reabilitado_ou_readaptado: evento['alteracao/dadosTrabalhador/infoDeficiencia/reabReadap'],
|
86
|
+
preenche_cota_de_pessoas_com_deficiencia: evento['alteracao/dadosTrabalhador/infoDeficiencia/infoCota']
|
87
|
+
),
|
88
|
+
contato: Obj.new(
|
89
|
+
fone_principal: evento['alteracao/dadosTrabalhador/contato/fonePrinc'],
|
90
|
+
fone_alternativo: evento['alteracao/dadosTrabalhador/contato/foneAlternat'],
|
91
|
+
email_principal: evento['alteracao/dadosTrabalhador/contato/emailPrinc'],
|
92
|
+
email_alternativo: evento['alteracao/dadosTrabalhador/contato/emailAlternat']
|
93
|
+
)
|
94
|
+
)
|
95
|
+
end
|
96
|
+
|
8
97
|
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
9
98
|
contratos_de_trabalho.map do |contrato_de_trabalho| # rubocop:disable Metrics/BlockLength
|
10
99
|
Obj.new(
|
11
100
|
nome: [
|
12
|
-
"TRA[#{
|
101
|
+
"TRA[#{trabalhador.cpf}]",
|
13
102
|
contrato_de_trabalho.nome_do_arquivo_data_identificacao_do_contrato,
|
14
103
|
"-ACA[#{data_da_alteracao.delete('-')}]"
|
15
104
|
].join,
|
16
105
|
itens_do_conteudo: [
|
17
106
|
# rubocop:disable Layout/LineLength
|
18
|
-
['ESX_CPF',
|
19
|
-
['ESX_MATRICULA', contrato_de_trabalho.
|
107
|
+
['ESX_CPF', trabalhador.cpf],
|
108
|
+
['ESX_MATRICULA', contrato_de_trabalho.matricula_do_trabalhador],
|
20
109
|
['ESX_CATEGORIA', contrato_de_trabalho.categoria_do_trabalhador],
|
21
110
|
%w[ESX_SEMVINCULO 0], # FIXME: Tales TC
|
22
111
|
['ESX_DATAADMISSAO', contrato_de_trabalho.data_de_inicio, :data],
|
@@ -32,74 +121,74 @@ module Teodoro
|
|
32
121
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
33
122
|
['VerProc', versao_do_processo_de_emissao_do_evento],
|
34
123
|
['EventoAdmissao_TipoEventoEnviado'],
|
35
|
-
['EventoAdmissao_InfoTrabalhador_Cpf',
|
36
|
-
['EventoAdmissao_InfoTrabalhador_Nome',
|
37
|
-
['EventoAdmissao_InfoTrabalhador_Nis',
|
38
|
-
['EventoAdmissao_InfoTrabalhador_Sexo',
|
124
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
|
125
|
+
['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
|
126
|
+
['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
|
127
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
|
39
128
|
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
40
|
-
['EventoAdmissao_InfoTrabalhador_RacaCor',
|
129
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
|
41
130
|
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
42
|
-
['EventoAdmissao_InfoTrabalhador_EstadoCivil',
|
131
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
|
43
132
|
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
44
|
-
['EventoAdmissao_InfoTrabalhador_GrauInstrucao',
|
133
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
|
45
134
|
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
46
|
-
['EventoAdmissao_InfoTrabalhador_NomeSocial',
|
47
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio',
|
48
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
49
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento',
|
50
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae',
|
51
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai',
|
52
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento',
|
135
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
|
136
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
|
137
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
|
138
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
|
139
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
|
140
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
|
141
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
|
53
142
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
54
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade',
|
143
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
|
55
144
|
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
56
|
-
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf',
|
145
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
|
57
146
|
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
58
|
-
['EventoAdmissao_EnderecoResidencialBR_Bairro',
|
59
|
-
['EventoAdmissao_EnderecoResidencialBR_Cep',
|
60
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio',
|
61
|
-
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
|
62
|
-
['EventoAdmissao_EnderecoResidencialBR_Complemento',
|
63
|
-
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro',
|
64
|
-
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro',
|
147
|
+
['EventoAdmissao_EnderecoResidencialBR_Bairro', trabalhador.endereco.bairro],
|
148
|
+
['EventoAdmissao_EnderecoResidencialBR_Cep', trabalhador.endereco.cep],
|
149
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', trabalhador.endereco.codigo_do_municipio],
|
150
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT', Municipios[trabalhador.endereco.codigo_do_municipio]],
|
151
|
+
['EventoAdmissao_EnderecoResidencialBR_Complemento', trabalhador.endereco.complemento],
|
152
|
+
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', trabalhador.endereco.logradouro],
|
153
|
+
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', trabalhador.endereco.numero],
|
65
154
|
['SemNumeroLogradouroEnderecoBR'],
|
66
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro',
|
67
|
-
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
|
68
|
-
['EventoAdmissao_EnderecoResidencialBR_Uf',
|
155
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', trabalhador.endereco.tipo_de_logradouro],
|
156
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT', trabalhador.endereco.tipo_de_logradouro.then { "#{_1} - #{TiposDeLogradouro[_1]}" }],
|
157
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf', trabalhador.endereco.uf],
|
69
158
|
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
70
|
-
['ResideExterior',
|
159
|
+
['ResideExterior', trabalhador.reside_no_exterior?, :bool],
|
71
160
|
['SemNumeroLogradouroEnderecoEX'],
|
72
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro',
|
73
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada',
|
74
|
-
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros',
|
75
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh',
|
161
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', trabalhador.casado_com_brasileiro],
|
162
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', trabalhador.data_de_chegada_ao_brasil, :data],
|
163
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', trabalhador.filhos_brasileiros],
|
164
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', trabalhador.cnh.categoria],
|
76
165
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
77
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao',
|
78
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao',
|
79
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade',
|
80
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh',
|
81
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh',
|
166
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', trabalhador.cnh.data_da_expedicao, :data],
|
167
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', trabalhador.cnh.data_da_primeira_habilitacao, :data],
|
168
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', trabalhador.cnh.data_de_validade, :data],
|
169
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', trabalhador.cnh.numero_do_registro],
|
170
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', trabalhador.cnh.uf_do_emissor],
|
82
171
|
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
83
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps',
|
84
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps',
|
85
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps',
|
172
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', trabalhador.ctps.numero],
|
173
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', trabalhador.ctps.serie],
|
174
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', trabalhador.ctps.uf],
|
86
175
|
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
87
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao',
|
88
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg',
|
89
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor',
|
90
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao',
|
91
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne',
|
92
|
-
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor',
|
93
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva',
|
94
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica',
|
95
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual',
|
96
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental',
|
97
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual',
|
98
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota',
|
99
|
-
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado',
|
100
|
-
['EventoAdmissao_Contato_TelefonePrincipal',
|
101
|
-
['EventoAdmissao_Contato_EmailPrincipal',
|
102
|
-
['EventoAdmissao_Contato_TelefoneAlternativo',
|
176
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', trabalhador.rg.data_da_expedicao, :data],
|
177
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', trabalhador.rg.numero],
|
178
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', trabalhador.rg.orgao_emissor],
|
179
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', trabalhador.rne.data_da_expedicao, :data],
|
180
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', trabalhador.rne.numero],
|
181
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', trabalhador.rne.orgao_emissor],
|
182
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', trabalhador.deficiencia.auditiva],
|
183
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', trabalhador.deficiencia.fisica],
|
184
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', trabalhador.deficiencia.intelectual],
|
185
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', trabalhador.deficiencia.mental],
|
186
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', trabalhador.deficiencia.visual],
|
187
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', trabalhador.deficiencia.preenche_cota_de_pessoas_com_deficiencia],
|
188
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', trabalhador.deficiencia.reabilitado_ou_readaptado],
|
189
|
+
['EventoAdmissao_Contato_TelefonePrincipal', trabalhador.contato.fone_principal],
|
190
|
+
['EventoAdmissao_Contato_EmailPrincipal', trabalhador.contato.email_principal],
|
191
|
+
['EventoAdmissao_Contato_TelefoneAlternativo', trabalhador.contato.fone_alternativo],
|
103
192
|
*evento.*('alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
|
104
193
|
[
|
105
194
|
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
@@ -125,20 +214,16 @@ module Teodoro
|
|
125
214
|
|
126
215
|
def contratos_de_emprego
|
127
216
|
empresa.contratos_de_emprego
|
128
|
-
.*(cpf_do_trabalhador:
|
217
|
+
.*(cpf_do_trabalhador: trabalhador.cpf, data: data_da_alteracao)
|
129
218
|
.map { [ContratoDeEmprego, _1] }
|
130
219
|
end
|
131
220
|
|
132
221
|
def contratos_de_trabalho_sem_vinculo
|
133
222
|
empresa.contratos_de_trabalho_sem_vinculo
|
134
|
-
.*(cpf_do_trabalhador:
|
223
|
+
.*(cpf_do_trabalhador: trabalhador.cpf, data: data_da_alteracao)
|
135
224
|
.map { [ContratoDeTrabalhoSemVinculo, _1] }
|
136
225
|
end
|
137
226
|
|
138
|
-
def cpf_do_trabalhador
|
139
|
-
@cpf_do_trabalhador ||= evento['ideTrabalhador/cpfTrab']
|
140
|
-
end
|
141
|
-
|
142
227
|
def data_da_alteracao
|
143
228
|
@data_da_alteracao ||= evento['alteracao/dtAlteracao']
|
144
229
|
end
|
@@ -157,11 +242,11 @@ module Teodoro
|
|
157
242
|
include ContratoDeTrabalho
|
158
243
|
|
159
244
|
def nome_do_arquivo_data_identificacao_do_contrato
|
160
|
-
"[EPG_#{
|
245
|
+
"[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]"
|
161
246
|
end
|
162
247
|
|
163
|
-
def
|
164
|
-
contrato.
|
248
|
+
def matricula_do_trabalhador
|
249
|
+
contrato.matricula_do_trabalhador
|
165
250
|
end
|
166
251
|
|
167
252
|
def categoria_do_trabalhador
|
@@ -186,7 +271,7 @@ module Teodoro
|
|
186
271
|
"[TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]"
|
187
272
|
end
|
188
273
|
|
189
|
-
def
|
274
|
+
def matricula_do_trabalhador
|
190
275
|
nil
|
191
276
|
end
|
192
277
|
|
@@ -3,23 +3,64 @@ module Teodoro
|
|
3
3
|
class ArquivoS2206
|
4
4
|
include ArquivoDeEventoNaoPeriodico
|
5
5
|
|
6
|
-
|
6
|
+
private
|
7
|
+
|
8
|
+
def criar_arquivos_data
|
9
|
+
super
|
10
|
+
|
11
|
+
empresa.contratos_de_emprego.registrar_alteracao_contratual(alteracao_contratual)
|
12
|
+
end
|
13
|
+
|
14
|
+
def alteracao_contratual
|
15
|
+
leiaute.alteracao_contratual
|
16
|
+
end
|
17
|
+
|
18
|
+
def leiaute
|
19
|
+
@leiaute ||=
|
20
|
+
(leiaute_simplificado? ? LeiauteSimplificado : Leiaute2).new(empresa: empresa, arquivo_xml: arquivo_xml)
|
21
|
+
end
|
22
|
+
|
23
|
+
def dados_dos_arquivos_data
|
24
|
+
leiaute.dados_dos_arquivos_data
|
25
|
+
end
|
26
|
+
|
27
|
+
module Leiaute
|
28
|
+
include ArquivoDeEvento
|
29
|
+
|
30
|
+
def alteracao_contratual
|
31
|
+
@alteracao_contratual ||= Obj.new(
|
32
|
+
matricula_do_trabalhador: evento['ideVinculo/matricula'],
|
33
|
+
tipo_de_regime_previdenciario: evento['altContratual/vinculo/tpRegPrev'],
|
34
|
+
duracao: duracao
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
39
|
+
[
|
40
|
+
Obj.new(
|
41
|
+
nome: [
|
42
|
+
'TRA',
|
43
|
+
"[#{cpf_do_trabalhador}]",
|
44
|
+
"[EPG_#{alteracao_contratual.matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
|
45
|
+
"-ACO[#{data_da_alteracao.delete('-')}]"
|
46
|
+
].join,
|
47
|
+
itens_do_conteudo: itens_do_conteudo
|
48
|
+
)
|
49
|
+
]
|
50
|
+
end
|
51
|
+
|
7
52
|
private
|
8
53
|
|
9
54
|
def cpf_do_trabalhador
|
10
55
|
@cpf_do_trabalhador ||= evento['ideVinculo/cpfTrab']
|
11
56
|
end
|
12
57
|
|
13
|
-
def matricula_do_trabalhador
|
14
|
-
@matricula_do_trabalhador ||= evento['ideVinculo/matricula']
|
15
|
-
end
|
16
|
-
|
17
58
|
def data_de_admissao
|
18
59
|
contrato_de_emprego.data_de_admissao
|
19
60
|
end
|
20
61
|
|
21
62
|
def contrato_de_emprego
|
22
|
-
contratos_de_emprego[matricula_do_trabalhador]
|
63
|
+
@contrato_de_emprego ||= contratos_de_emprego[alteracao_contratual.matricula_do_trabalhador]
|
23
64
|
end
|
24
65
|
|
25
66
|
def contratos_de_emprego
|
@@ -31,52 +72,27 @@ module Teodoro
|
|
31
72
|
end
|
32
73
|
end
|
33
74
|
|
34
|
-
include DadosGerais
|
35
|
-
|
36
|
-
private
|
37
|
-
|
38
|
-
def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
|
39
|
-
[
|
40
|
-
Obj.new(
|
41
|
-
nome: [
|
42
|
-
'TRA',
|
43
|
-
"[#{cpf_do_trabalhador}]",
|
44
|
-
"[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
|
45
|
-
"-ACO[#{data_da_alteracao.delete('-')}]"
|
46
|
-
].join,
|
47
|
-
itens_do_conteudo: itens_do_conteudo
|
48
|
-
)
|
49
|
-
]
|
50
|
-
end
|
51
|
-
|
52
|
-
def itens_do_conteudo
|
53
|
-
leiaute.itens_do_conteudo
|
54
|
-
end
|
55
|
-
|
56
|
-
def leiaute
|
57
|
-
(leiaute_simplificado? ? LeiauteSimplificado : Leiaute2).new(empresa: empresa, arquivo_xml: arquivo_xml)
|
58
|
-
end
|
59
|
-
|
60
|
-
module Leiaute
|
61
|
-
include ArquivoDeEvento
|
62
|
-
include DadosGerais
|
63
|
-
end
|
64
|
-
|
65
75
|
class Leiaute2
|
66
76
|
include Leiaute
|
67
77
|
|
78
|
+
private
|
79
|
+
|
80
|
+
def duracao
|
81
|
+
Obj.new(tipo_de_contrato: evento['altContratual/infoContrato/duracao/tpContr'])
|
82
|
+
end
|
83
|
+
|
68
84
|
def itens_do_conteudo # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
69
85
|
[
|
70
86
|
# rubocop:disable Layout/LineLength
|
71
87
|
['ESX_CPF', cpf_do_trabalhador],
|
72
|
-
['ESX_MATRICULA', matricula_do_trabalhador],
|
88
|
+
['ESX_MATRICULA', alteracao_contratual.matricula_do_trabalhador],
|
73
89
|
%w[ESX_SEMVINCULO 0],
|
74
90
|
['ESX_DATAADMISSAO', data_de_admissao, :data],
|
75
91
|
['ESX_DATAALTERACAO', data_da_alteracao, :data],
|
76
92
|
['cpfTrabalhador', cpf_do_trabalhador],
|
77
93
|
%w[nomeTrabalhador nomeTrabalhador],
|
78
94
|
['IdentificacaoVinculo_Cpf', cpf_do_trabalhador],
|
79
|
-
['IdentificacaoVinculo_Matricula', matricula_do_trabalhador],
|
95
|
+
['IdentificacaoVinculo_Matricula', alteracao_contratual.matricula_do_trabalhador],
|
80
96
|
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
81
97
|
['AlteracaoContratual_DataAlteracao', data_da_alteracao, :data],
|
82
98
|
['AlteracaoContratual_DataEfeito', evento['altContratual/dtEf'], :data],
|
@@ -93,7 +109,7 @@ module Teodoro
|
|
93
109
|
['IdContratoAlterado'],
|
94
110
|
['regTrab'],
|
95
111
|
['InformacoesContrato_CodigoCategoria', evento['altContratual/infoContrato/codCateg']],
|
96
|
-
['VinculoAlteracao_TipoRegimePrevidenciario',
|
112
|
+
['VinculoAlteracao_TipoRegimePrevidenciario', alteracao_contratual.tipo_de_regime_previdenciario],
|
97
113
|
['dataAdmissao', data_de_admissao, :data],
|
98
114
|
['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/infoRegimeTrab/infoCeletista/tpRegJor']],
|
99
115
|
['InformacoesCeletista_NaturezaAtividade', evento['altContratual/infoRegimeTrab/infoCeletista/natAtividade']],
|
@@ -107,7 +123,7 @@ module Teodoro
|
|
107
123
|
['NomeEstabelecimentoLocalTrabalho'],
|
108
124
|
['CodigoCBO'],
|
109
125
|
['InformacoesContrato_Remuneracao_UnidadeSalarioFixo', evento['altContratual/infoContrato/remuneracao/undSalFixo']],
|
110
|
-
['InformacoesContrato_TipoContrato',
|
126
|
+
['InformacoesContrato_TipoContrato', alteracao_contratual.duracao.tipo_de_contrato],
|
111
127
|
['CodigoCNAE'],
|
112
128
|
*evento.*('altContratual/infoContrato/horContratual/horario').map.with_index(1) do |horario, seq|
|
113
129
|
[
|
@@ -137,18 +153,24 @@ module Teodoro
|
|
137
153
|
class LeiauteSimplificado
|
138
154
|
include Leiaute
|
139
155
|
|
156
|
+
private
|
157
|
+
|
158
|
+
def duracao
|
159
|
+
Obj.new(tipo_de_contrato: evento['altContratual/vinculo/infoContrato/duracao/tpContr'])
|
160
|
+
end
|
161
|
+
|
140
162
|
def itens_do_conteudo # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
141
163
|
[
|
142
164
|
# rubocop:disable Layout/LineLength
|
143
165
|
['ESX_CPF', cpf_do_trabalhador],
|
144
|
-
['ESX_MATRICULA', matricula_do_trabalhador],
|
166
|
+
['ESX_MATRICULA', alteracao_contratual.matricula_do_trabalhador],
|
145
167
|
%w[ESX_SEMVINCULO 0],
|
146
168
|
['ESX_DATAADMISSAO', data_de_admissao, :data],
|
147
169
|
['ESX_DATAALTERACAO', data_da_alteracao, :data],
|
148
170
|
['cpfTrabalhador', cpf_do_trabalhador],
|
149
171
|
%w[nomeTrabalhador nomeTrabalhador],
|
150
172
|
['IdentificacaoVinculo_Cpf', cpf_do_trabalhador],
|
151
|
-
['IdentificacaoVinculo_Matricula', matricula_do_trabalhador],
|
173
|
+
['IdentificacaoVinculo_Matricula', alteracao_contratual.matricula_do_trabalhador],
|
152
174
|
['TipoInscricaoEmpregador', tipo_de_inscricao_do_empregador],
|
153
175
|
['AlteracaoContratual_DataAlteracao', data_da_alteracao, :data],
|
154
176
|
['AlteracaoContratual_DataEfeito', evento['altContratual/dtEf'], :data],
|
@@ -165,7 +187,7 @@ module Teodoro
|
|
165
187
|
['IdContratoAlterado'],
|
166
188
|
['regTrab'],
|
167
189
|
['InformacoesContrato_CodigoCategoria', evento['altContratual/vinculo/infoContrato/codCateg']],
|
168
|
-
['VinculoAlteracao_TipoRegimePrevidenciario',
|
190
|
+
['VinculoAlteracao_TipoRegimePrevidenciario', alteracao_contratual.tipo_de_regime_previdenciario],
|
169
191
|
['dataAdmissao', data_de_admissao, :data],
|
170
192
|
['InformacoesCeletista_TipoRegimeJornada', evento['altContratual/vinculo/infoRegimeTrab/infoCeletista/tpRegJor']],
|
171
193
|
['InformacoesCeletista_NaturezaAtividade', evento['altContratual/vinculo/infoRegimeTrab/infoCeletista/natAtividade']],
|
@@ -179,7 +201,7 @@ module Teodoro
|
|
179
201
|
['NomeEstabelecimentoLocalTrabalho'],
|
180
202
|
['CodigoCBO'],
|
181
203
|
['InformacoesContrato_Remuneracao_UnidadeSalarioFixo', evento['altContratual/vinculo/infoContrato/remuneracao/undSalFixo']],
|
182
|
-
['InformacoesContrato_TipoContrato',
|
204
|
+
['InformacoesContrato_TipoContrato', alteracao_contratual.duracao.tipo_de_contrato],
|
183
205
|
['CodigoCNAE'],
|
184
206
|
['InformacoesContrato_Remuneracao_ValorSalarioFixo', evento['altContratual/vinculo/infoContrato/remuneracao/vrSalFx'], :decimal],
|
185
207
|
['InformacoesContrato_LocalTrabalho_LocalTrabalhoGeral_TipoInscricao', evento['altContratual/vinculo/infoContrato/localTrabalho/localTrabGeral/tpInsc']],
|
@@ -187,6 +209,7 @@ module Teodoro
|
|
187
209
|
['InformacoesContrato_HorarioContratual_TipoJornada', evento['altContratual/vinculo/infoContrato/horContratual/tpJornada'].then { %w[2 3].include?(_1) ? _1 : 9 }],
|
188
210
|
['InformacoesContrato_HorarioContratual_JornadaTempoParcial', evento['altContratual/vinculo/infoContrato/horContratual/tmpParc']],
|
189
211
|
['InformacoesContrato_HorarioContratual_QuantidadedHorasSemanal', evento['altContratual/vinculo/infoContrato/horContratual/qtdHrsSem'], :decimal],
|
212
|
+
['HorarioNoturno', evento['altContratual/vinculo/infoContrato/horContratual/horNoturno']],
|
190
213
|
['InformacoesContrato_HorarioContratual_DescricaoTipoJornada', evento['altContratual/vinculo/infoContrato/horContratual/dscJorn']],
|
191
214
|
['InformacoesContrato_CodigoCargo', codigo_do_cargo],
|
192
215
|
['InformacoesContrato_DataTermino', evento['altContratual/vinculo/infoContrato/duracao/dtTerm'], :data]
|