teodoro 0.0.9 → 0.0.14
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/teodoro.rb +3 -9
- data/lib/teodoro/arquivo_de_evento.rb +22 -8
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +1 -11
- data/lib/teodoro/arquivo_de_evento_exceto_de_exclusao.rb +1 -7
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +5 -18
- data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +30 -0
- data/lib/teodoro/arquivo_de_origem.rb +1 -1
- data/lib/teodoro/arquivo_xml.rb +49 -74
- data/lib/teodoro/console.rb +2 -6
- data/lib/teodoro/empresa.rb +74 -15
- data/lib/teodoro/leiaute.rb +24 -0
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1000.rb +7 -9
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1005.rb +4 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1010.rb +3 -5
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1020.rb +4 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1030.rb +4 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1040.rb +2 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1050.rb +4 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s1070.rb +2 -4
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2190.rb +2 -2
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2200.rb +131 -22
- data/lib/teodoro/leiaute/arquivo_s2205.rb +254 -0
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2206.rb +18 -7
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2230.rb +56 -12
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2250.rb +25 -9
- data/lib/teodoro/leiaute/arquivo_s2299.rb +313 -0
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2300.rb +24 -5
- data/lib/teodoro/{leiaute_2_4_1 → leiaute}/arquivo_s2306.rb +27 -7
- data/lib/teodoro/leiaute/arquivo_s2399.rb +306 -0
- data/lib/teodoro/leiaute/arquivo_s3000.rb +41 -0
- data/lib/teodoro/obj.rb +5 -0
- metadata +24 -20
- data/lib/teodoro/leiaute_2_4_1.rb +0 -22
- data/lib/teodoro/leiaute_2_4_1/arquivo_s2205.rb +0 -157
- data/lib/teodoro/leiaute_2_4_1/arquivo_s3000.rb +0 -45
@@ -0,0 +1,254 @@
|
|
1
|
+
module Teodoro
|
2
|
+
module Leiaute
|
3
|
+
class ArquivoS2205
|
4
|
+
include ArquivoDeEvento
|
5
|
+
|
6
|
+
def processar
|
7
|
+
contratos_de_trabalho.each(&:processar)
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def contratos_de_trabalho
|
13
|
+
(contratos_de_emprego + contratos_de_trabalho_sem_vinculo)
|
14
|
+
.map { |classe, contrato| classe.new(empresa: empresa, arquivo_xml: arquivo_xml, contrato: contrato) }
|
15
|
+
end
|
16
|
+
|
17
|
+
def contratos_de_emprego
|
18
|
+
empresa.contratos_de_emprego
|
19
|
+
.*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
|
20
|
+
.map { [ContratoDeEmprego, _1] }
|
21
|
+
end
|
22
|
+
|
23
|
+
def contratos_de_trabalho_sem_vinculo
|
24
|
+
empresa.contratos_de_trabalho_sem_vinculo
|
25
|
+
.*(cpf_do_trabalhador: cpf_do_trabalhador, data: data_da_alteracao)
|
26
|
+
.map { [ContratoDeTrabalhoSemVinculo, _1] }
|
27
|
+
end
|
28
|
+
|
29
|
+
def cpf_do_trabalhador
|
30
|
+
@cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
|
31
|
+
end
|
32
|
+
|
33
|
+
def data_da_alteracao
|
34
|
+
@data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
|
35
|
+
end
|
36
|
+
|
37
|
+
module ContratoDeTrabalho # rubocop:disable Metrics/ModuleLength
|
38
|
+
include ArquivoDeEventoNaoPeriodico
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def initialize(contrato:, **args)
|
43
|
+
super(**args)
|
44
|
+
|
45
|
+
@contrato = contrato
|
46
|
+
end
|
47
|
+
|
48
|
+
attr_reader :contrato
|
49
|
+
|
50
|
+
def noh_principal_do_evento
|
51
|
+
'evtAltCadastral'
|
52
|
+
end
|
53
|
+
|
54
|
+
def nome_do_arquivo_data
|
55
|
+
@nome_do_arquivo_data ||= [
|
56
|
+
"TRA[#{cpf_do_trabalhador}]",
|
57
|
+
nome_do_arquivo_data_identificacao_do_contrato,
|
58
|
+
"-ACA[#{data_da_alteracao.delete('-')}]"
|
59
|
+
].join
|
60
|
+
end
|
61
|
+
|
62
|
+
def cpf_do_trabalhador
|
63
|
+
@cpf_do_trabalhador ||= evento['evtAltCadastral/ideTrabalhador/cpfTrab']
|
64
|
+
end
|
65
|
+
|
66
|
+
def data_da_alteracao
|
67
|
+
@data_da_alteracao ||= evento['evtAltCadastral/alteracao/dtAlteracao']
|
68
|
+
end
|
69
|
+
|
70
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
71
|
+
[
|
72
|
+
# rubocop:disable Layout/LineLength
|
73
|
+
['ESX_CPF', cpf_do_trabalhador],
|
74
|
+
['ESX_MATRICULA', matricula_do_contrato],
|
75
|
+
['ESX_CATEGORIA', categoria_do_trabalhador],
|
76
|
+
%w[ESX_SEMVINCULO 0], # FIXME: Tales TC
|
77
|
+
['ESX_DATAADMISSAO', data_de_inicio_do_contrato_de_trabalho],
|
78
|
+
['ESX_DATAALTERACAO', data_da_alteracao],
|
79
|
+
['DataAlteracao', data_da_alteracao],
|
80
|
+
['IdEventoXml'],
|
81
|
+
['NrReciboEventoOriginal'],
|
82
|
+
['RequestVerificationToken'],
|
83
|
+
['SomenteLeitura'],
|
84
|
+
['VisualizarDadosCadastrais'],
|
85
|
+
['UrlRetorno'],
|
86
|
+
['visualizar'],
|
87
|
+
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
88
|
+
['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']],
|
89
|
+
['IdEdicaoDependente'],
|
90
|
+
['commandArgument'],
|
91
|
+
['EventoAdmissao_TipoEventoEnviado'],
|
92
|
+
['HiddenCurrentUrl'],
|
93
|
+
['ehCodigoAcesso'],
|
94
|
+
['ExibirTrocarPerfil'],
|
95
|
+
['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
|
96
|
+
['EventoAdmissao_InfoTrabalhador_Nome', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmTrab']],
|
97
|
+
['EventoAdmissao_InfoTrabalhador_Nis', evento['evtAltCadastral/alteracao/dadosTrabalhador/nisTrab']],
|
98
|
+
['EventoAdmissao_InfoTrabalhador_Sexo', evento['evtAltCadastral/alteracao/dadosTrabalhador/sexo']],
|
99
|
+
['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
|
100
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor', evento['evtAltCadastral/alteracao/dadosTrabalhador/racaCor']],
|
101
|
+
['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
|
102
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['evtAltCadastral/alteracao/dadosTrabalhador/estCiv']],
|
103
|
+
['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
|
104
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['evtAltCadastral/alteracao/dadosTrabalhador/grauInstr']],
|
105
|
+
['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
|
106
|
+
['EventoAdmissao_InfoTrabalhador_PrimeiroEmprego'],
|
107
|
+
['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['evtAltCadastral/alteracao/dadosTrabalhador/nmSoc']],
|
108
|
+
['EventoAdmissao_Aposentadoria_TrabalhadorAposentado', evento['evtAltCadastral/alteracao/dadosTrabalhador/aposentadoria/trabAposent']],
|
109
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
|
110
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
|
111
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
|
112
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
|
113
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
|
114
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
|
115
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
|
116
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
|
117
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
|
118
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
|
119
|
+
['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
|
120
|
+
['EventoAdmissao_EnderecoResidencialBR_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/bairro']],
|
121
|
+
['EventoAdmissao_EnderecoResidencialBR_Cep', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/cep']],
|
122
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/codMunic']],
|
123
|
+
['EventoAdmissao_EnderecoResidencialBR_CodigoMunicipio_TEXT'],
|
124
|
+
['EventoAdmissao_EnderecoResidencialBR_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/complemento']],
|
125
|
+
['EventoAdmissao_EnderecoResidencialBR_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/dscLograd']],
|
126
|
+
['EventoAdmissao_EnderecoResidencialBR_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/nrLograd']],
|
127
|
+
['SemNumeroLogradouroEnderecoBR'],
|
128
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/tpLograd']],
|
129
|
+
['EventoAdmissao_EnderecoResidencialBR_TipoLogradouro_TEXT'],
|
130
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/brasil/uf']],
|
131
|
+
['EventoAdmissao_EnderecoResidencialBR_Uf_TEXT'],
|
132
|
+
['EventoAdmissao_EnderecoResidencialEX_Bairro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/bairro']],
|
133
|
+
['EventoAdmissao_EnderecoResidencialEX_CodigoPostal', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/codPostal']],
|
134
|
+
['EventoAdmissao_EnderecoResidencialEX_Complemento', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/complemento']],
|
135
|
+
['EventoAdmissao_EnderecoResidencialEX_DescricaoLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/dscLograd']],
|
136
|
+
['EventoAdmissao_EnderecoResidencialEX_NomeCidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nmCid']],
|
137
|
+
['EventoAdmissao_EnderecoResidencialEX_NumeroLogradouro', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/nrLograd']],
|
138
|
+
['ResideExterior'],
|
139
|
+
['EventoAdmissao_EnderecoResidencialEX_PaisResidencia', evento['evtAltCadastral/alteracao/dadosTrabalhador/endereco/exterior/paisResid']],
|
140
|
+
['EventoAdmissao_EnderecoResidencialEX_PaisResidencia_TEXT'],
|
141
|
+
['SemNumeroLogradouroEnderecoEX'],
|
142
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/casadoBr']],
|
143
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/classTrabEstrang']],
|
144
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
|
145
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/dtChegada']],
|
146
|
+
['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['evtAltCadastral/alteracao/dadosTrabalhador/trabEstrangeiro/filhosBr']],
|
147
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/categoriaCnh']],
|
148
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
|
149
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtExped']],
|
150
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataPrimeiraHabilitacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtPriHab']],
|
151
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/dtValid']],
|
152
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_NumeroCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/nrRegCnh']],
|
153
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CNH/ufCnh']],
|
154
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_UfCnh_TEXT'],
|
155
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_NumeroCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/nrCtps']],
|
156
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_SerieCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/serieCtps']],
|
157
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/CTPS/ufCtps']],
|
158
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ctps_UfCtps_TEXT'],
|
159
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtExped']],
|
160
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_DataValidade', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/dtValid']],
|
161
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_NumeroOc', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/nrOc']],
|
162
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Oc_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/OC/orgaoEmissor']],
|
163
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/dtExped']],
|
164
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_NumeroRg', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/nrRg']],
|
165
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rg_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RG/orgaoEmissor']],
|
166
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/dtExped']],
|
167
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_NumeroRic', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/nrRic']],
|
168
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Ric_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RIC/orgaoEmissor']],
|
169
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_DataExpedicao', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/dtExped']],
|
170
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_NumerorRne', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/nrRne']],
|
171
|
+
['EventoAdmissao_InfoTrabalhador_Documentos_Rne_OrgaoEmissor', evento['evtAltCadastral/alteracao/dadosTrabalhador/documentos/RNE/orgaoEmissor']],
|
172
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaAuditiva', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defAuditiva']],
|
173
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaFisica', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defFisica']],
|
174
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaIntelectual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defIntelectual']],
|
175
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaMental', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defMental']],
|
176
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_DeficienciaVisual', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/defVisual']],
|
177
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_InfoCota', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/infoCota']],
|
178
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_Observacao', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/observacao']],
|
179
|
+
['EventoAdmissao_InfoTrabalhador_Deficiencia_ReabilitadoOuReadaptado', evento['evtAltCadastral/alteracao/dadosTrabalhador/infoDeficiencia/reabReadap']],
|
180
|
+
['EventoAdmissao_Contato_TelefonePrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/fonePrinc']],
|
181
|
+
['EventoAdmissao_Contato_EmailPrincipal', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailPrinc']],
|
182
|
+
['EventoAdmissao_Contato_TelefoneAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/foneAlternat']],
|
183
|
+
['EventoAdmissao_Contato_EmailAlternativo', evento['evtAltCadastral/alteracao/dadosTrabalhador/contato/emailAlternat']],
|
184
|
+
*evento.*('evtAltCadastral/alteracao/dadosTrabalhador/dependente').map.with_index(1) do |dependente, seq|
|
185
|
+
[
|
186
|
+
["EventoAdmissao_Dependente_#{seq}_CPFDependente", dependente['cpfDep']],
|
187
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimento", dependente['dtNascto']],
|
188
|
+
["EventoAdmissao_Dependente_#{seq}_DataNascimentoFormatada"],
|
189
|
+
["EventoAdmissao_Dependente_#{seq}_DependenteIRRF", dependente['depIRRF']],
|
190
|
+
["EventoAdmissao_Dependente_#{seq}_DependenteSF", dependente['depSF']],
|
191
|
+
["EventoAdmissao_Dependente_#{seq}_IncapacidadeDependente", dependente['incTrab']],
|
192
|
+
["EventoAdmissao_Dependente_#{seq}_NomeDependente", dependente['nmDep']],
|
193
|
+
["EventoAdmissao_Dependente_#{seq}_TipoDependente", dependente['tpDep']]
|
194
|
+
]
|
195
|
+
end.sum([])
|
196
|
+
# rubocop:enable Layout/LineLength
|
197
|
+
]
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
class ContratoDeEmprego
|
202
|
+
include ContratoDeTrabalho
|
203
|
+
|
204
|
+
private
|
205
|
+
|
206
|
+
def nome_do_arquivo_data_identificacao_do_contrato
|
207
|
+
"[EPG_#{matricula_do_contrato}_#{data_de_admissao.delete('-')}]"
|
208
|
+
end
|
209
|
+
|
210
|
+
def matricula_do_contrato
|
211
|
+
contrato.matricula
|
212
|
+
end
|
213
|
+
|
214
|
+
def data_de_admissao
|
215
|
+
contrato.data_de_admissao
|
216
|
+
end
|
217
|
+
|
218
|
+
def categoria_do_trabalhador
|
219
|
+
contrato.categoria_do_trabalhador
|
220
|
+
end
|
221
|
+
|
222
|
+
def data_de_inicio_do_contrato_de_trabalho
|
223
|
+
data_de_admissao
|
224
|
+
end
|
225
|
+
end
|
226
|
+
|
227
|
+
class ContratoDeTrabalhoSemVinculo
|
228
|
+
include ContratoDeTrabalho
|
229
|
+
|
230
|
+
private
|
231
|
+
|
232
|
+
def nome_do_arquivo_data_identificacao_do_contrato
|
233
|
+
"[TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho_sem_vinculo.delete('-')}]"
|
234
|
+
end
|
235
|
+
|
236
|
+
def categoria_do_trabalhador
|
237
|
+
contrato.categoria_do_trabalhador
|
238
|
+
end
|
239
|
+
|
240
|
+
def data_de_inicio_do_contrato_de_trabalho_sem_vinculo
|
241
|
+
contrato.data_de_inicio
|
242
|
+
end
|
243
|
+
|
244
|
+
def matricula_do_contrato
|
245
|
+
nil
|
246
|
+
end
|
247
|
+
|
248
|
+
def data_de_inicio_do_contrato_de_trabalho
|
249
|
+
data_de_inicio_do_contrato_de_trabalho_sem_vinculo
|
250
|
+
end
|
251
|
+
end
|
252
|
+
end
|
253
|
+
end
|
254
|
+
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Teodoro
|
2
|
-
module
|
2
|
+
module Leiaute
|
3
3
|
class ArquivoS2206 # rubocop:disable Metrics/ClassLength
|
4
4
|
include ArquivoDeEventoNaoPeriodico
|
5
5
|
|
@@ -10,11 +10,10 @@ module Teodoro
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def nome_do_arquivo_data
|
13
|
-
# FIXME: Tales dataDeAdmissao
|
14
13
|
@nome_do_arquivo_data ||= [
|
15
14
|
'TRA',
|
16
15
|
"[#{cpf_do_trabalhador}]",
|
17
|
-
"[EPG_#{matricula_do_trabalhador}
|
16
|
+
"[EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]",
|
18
17
|
"-ACO[#{data_da_alteracao.delete('-')}]"
|
19
18
|
].join
|
20
19
|
end
|
@@ -27,18 +26,30 @@ module Teodoro
|
|
27
26
|
@matricula_do_trabalhador ||= evento['evtAltContratual/ideVinculo/matricula']
|
28
27
|
end
|
29
28
|
|
29
|
+
def data_de_admissao
|
30
|
+
contrato_de_emprego.data_de_admissao
|
31
|
+
end
|
32
|
+
|
33
|
+
def contrato_de_emprego
|
34
|
+
contratos_de_emprego[matricula_do_trabalhador]
|
35
|
+
end
|
36
|
+
|
37
|
+
def contratos_de_emprego
|
38
|
+
empresa.contratos_de_emprego
|
39
|
+
end
|
40
|
+
|
30
41
|
def data_da_alteracao
|
31
42
|
evento['evtAltContratual/altContratual/dtAlteracao']
|
32
43
|
end
|
33
44
|
|
34
|
-
# rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
35
|
-
def itens_do_conteudo_do_arquivo_data
|
45
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
36
46
|
[
|
47
|
+
# rubocop:disable Layout/LineLength
|
37
48
|
['ESX_CPF', cpf_do_trabalhador],
|
38
49
|
['ESX_MATRICULA', matricula_do_trabalhador],
|
39
50
|
['ESX_CATEGORIA', categoria_do_trabalhador],
|
40
51
|
%w[ESX_SEMVINCULO 0],
|
41
|
-
['ESX_DATAADMISSAO'],
|
52
|
+
['ESX_DATAADMISSAO', data_de_admissao],
|
42
53
|
['ESX_DATAALTERACAO', data_da_alteracao],
|
43
54
|
['cpfTrabalhador', cpf_do_trabalhador],
|
44
55
|
['nomeTrabalhador'],
|
@@ -175,9 +186,9 @@ module Teodoro
|
|
175
186
|
["InfoVinculo_InfoContrato_FiliacaoSindical_#{seq}_CnpjSindicatoTrabalhador", filiacao['cnpjSindTrab']]
|
176
187
|
]
|
177
188
|
end.sum([])
|
189
|
+
# rubocop:enable Layout/LineLength
|
178
190
|
]
|
179
191
|
end
|
180
|
-
# rubocop:enable Metrics/AbcSize, Metrics/MethodLength, Layout/LineLength
|
181
192
|
|
182
193
|
def categoria_do_trabalhador
|
183
194
|
@categoria_do_trabalhador ||= evento['evtAltContratual/altContratual/infoContrato/codCateg']
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Teodoro
|
2
|
-
module
|
2
|
+
module Leiaute
|
3
3
|
class ArquivoS2230 # rubocop:disable Metrics/ClassLength
|
4
4
|
include ArquivoDeEventoNaoPeriodico
|
5
5
|
|
@@ -10,9 +10,9 @@ module Teodoro
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def nome_do_arquivo_data
|
13
|
-
# FIXME: Tales dataDeAdmissao
|
14
13
|
@nome_do_arquivo_data ||= [
|
15
|
-
"TRA[#{cpf_do_trabalhador}]
|
14
|
+
"TRA[#{cpf_do_trabalhador}]",
|
15
|
+
"[#{empregado? ? nome_do_arquivo_data_identif_do_empregado : nome_do_arquivo_data_identif_do_tsv}]-",
|
16
16
|
fim_do_afastamento? ? 'TAF' : 'IAF',
|
17
17
|
'[',
|
18
18
|
inicio_do_afastamento? ? data_de_inicio_do_afastamento.delete('-') : 'SemIni',
|
@@ -26,16 +26,52 @@ module Teodoro
|
|
26
26
|
evento['evtAfastTemp/ideVinculo/cpfTrab']
|
27
27
|
end
|
28
28
|
|
29
|
+
def empregado?
|
30
|
+
matricula_do_trabalhador
|
31
|
+
end
|
32
|
+
|
29
33
|
def matricula_do_trabalhador
|
30
|
-
evento['evtAfastTemp/ideVinculo/matricula']
|
34
|
+
@matricula_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/matricula']
|
31
35
|
end
|
32
36
|
|
33
|
-
def
|
34
|
-
|
37
|
+
def nome_do_arquivo_data_identif_do_empregado
|
38
|
+
"EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}"
|
35
39
|
end
|
36
40
|
|
37
|
-
def
|
38
|
-
|
41
|
+
def data_de_admissao
|
42
|
+
contrato_de_emprego.data_de_admissao
|
43
|
+
end
|
44
|
+
|
45
|
+
def contrato_de_emprego
|
46
|
+
contratos_de_emprego[matricula_do_trabalhador]
|
47
|
+
end
|
48
|
+
|
49
|
+
def contratos_de_emprego
|
50
|
+
empresa.contratos_de_emprego
|
51
|
+
end
|
52
|
+
|
53
|
+
def nome_do_arquivo_data_identif_do_tsv
|
54
|
+
"TSV_#{categoria_do_trabalhador}_#{data_de_inicio_do_contrato_de_trabalho.delete('-')}"
|
55
|
+
end
|
56
|
+
|
57
|
+
def categoria_do_trabalhador
|
58
|
+
@categoria_do_trabalhador ||= evento['evtAfastTemp/ideVinculo/codCateg']
|
59
|
+
end
|
60
|
+
|
61
|
+
def data_de_inicio_do_contrato_de_trabalho
|
62
|
+
contrato_de_trabalho_sem_vinculo.data_de_inicio
|
63
|
+
end
|
64
|
+
|
65
|
+
def contrato_de_trabalho_sem_vinculo
|
66
|
+
contratos_de_trabalho_sem_vinculo[
|
67
|
+
cpf_do_trabalhador: cpf_do_trabalhador,
|
68
|
+
categoria_do_trabalhador: categoria_do_trabalhador,
|
69
|
+
data: inicio_do_afastamento? ? data_de_inicio_do_afastamento : data_de_termino_do_afastamento
|
70
|
+
]
|
71
|
+
end
|
72
|
+
|
73
|
+
def contratos_de_trabalho_sem_vinculo
|
74
|
+
empresa.contratos_de_trabalho_sem_vinculo
|
39
75
|
end
|
40
76
|
|
41
77
|
def inicio_do_afastamento?
|
@@ -54,12 +90,20 @@ module Teodoro
|
|
54
90
|
fim_do_afastamento['dtTermAfast']
|
55
91
|
end
|
56
92
|
|
57
|
-
|
58
|
-
|
93
|
+
def fim_do_afastamento
|
94
|
+
@fim_do_afastamento ||= evento['evtAfastTemp/infoAfastamento/fimAfastamento']
|
95
|
+
end
|
96
|
+
|
97
|
+
def fim_do_afastamento?
|
98
|
+
fim_do_afastamento
|
99
|
+
end
|
100
|
+
|
101
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
59
102
|
[
|
103
|
+
# rubocop:disable Layout/LineLength
|
60
104
|
['ESX_CPF', evento['evtAfastTemp/ideVinculo/cpfTrab']],
|
61
105
|
['ESX_MATRICULA', evento['evtAfastTemp/ideVinculo/matricula']],
|
62
|
-
['ESX_CATEGORIA',
|
106
|
+
['ESX_CATEGORIA', categoria_do_trabalhador],
|
63
107
|
['ESX_DATAADMISSAO'],
|
64
108
|
%w[ESX_SEMVINCULO 0],
|
65
109
|
['ESX_INICIO', evento['evtAfastTemp/infoAfastamento/iniAfastamento/dtIniAfast']],
|
@@ -139,9 +183,9 @@ module Teodoro
|
|
139
183
|
["IniAfastamento_ListaInfoAtestado_#{seq}_Emitente_DescricaoOrgaoClasse"]
|
140
184
|
]
|
141
185
|
end.sum([])
|
186
|
+
# rubocop:enable Layout/LineLength
|
142
187
|
]
|
143
188
|
end
|
144
|
-
# rubocop:enable Metrics/MethodLength, Metrics/AbcSize, Layout/LineLength
|
145
189
|
end
|
146
190
|
end
|
147
191
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Teodoro
|
2
|
-
module
|
2
|
+
module Leiaute
|
3
3
|
class ArquivoS2250
|
4
4
|
include ArquivoDeEventoNaoPeriodico
|
5
5
|
|
@@ -10,8 +10,8 @@ module Teodoro
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def nome_do_arquivo_data
|
13
|
-
|
14
|
-
|
13
|
+
@nome_do_arquivo_data ||=
|
14
|
+
"TRA[#{cpf_do_trabalhador}][EPG_#{matricula_do_trabalhador}_#{data_de_admissao.delete('-')}]-AVI"
|
15
15
|
end
|
16
16
|
|
17
17
|
def cpf_do_trabalhador
|
@@ -22,14 +22,26 @@ module Teodoro
|
|
22
22
|
@matricula_do_trabalhador ||= evento['evtAvPrevio/ideVinculo/matricula']
|
23
23
|
end
|
24
24
|
|
25
|
-
|
26
|
-
|
25
|
+
def data_de_admissao
|
26
|
+
contrato_de_emprego.data_de_admissao
|
27
|
+
end
|
28
|
+
|
29
|
+
def contrato_de_emprego
|
30
|
+
@contrato_de_emprego ||= contratos_de_emprego[matricula_do_trabalhador]
|
31
|
+
end
|
32
|
+
|
33
|
+
def contratos_de_emprego
|
34
|
+
empresa.contratos_de_emprego
|
35
|
+
end
|
36
|
+
|
37
|
+
def itens_do_conteudo_do_arquivo_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
|
27
38
|
[
|
39
|
+
# rubocop:disable Layout/LineLength
|
28
40
|
['ESX_CPF', cpf_do_trabalhador],
|
29
41
|
['ESX_MATRICULA', matricula_do_trabalhador],
|
30
|
-
['ESX_CATEGORIA'],
|
42
|
+
['ESX_CATEGORIA', categoria_do_trabalhador],
|
31
43
|
%w[ESX_SEMVINCULO 0],
|
32
|
-
['ESX_DATAADMISSAO'],
|
44
|
+
['ESX_DATAADMISSAO', data_de_admissao],
|
33
45
|
['OperacaoAvisoPrevio'],
|
34
46
|
['MostrarCancelamento'],
|
35
47
|
['MostrarAvisoPrevio'],
|
@@ -52,11 +64,15 @@ module Teodoro
|
|
52
64
|
['IdEventoXml'],
|
53
65
|
['NrReciboEventoOriginal'],
|
54
66
|
['RequestVerificationToken'],
|
55
|
-
['DescricaoProcEmi',
|
67
|
+
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
56
68
|
['VerProc', recibo['retornoEvento/processamento/versaoAppProcessamento']]
|
69
|
+
# rubocop:enable Layout/LineLength
|
57
70
|
]
|
58
71
|
end
|
59
|
-
|
72
|
+
|
73
|
+
def categoria_do_trabalhador
|
74
|
+
contrato_de_emprego.categoria_do_trabalhador
|
75
|
+
end
|
60
76
|
end
|
61
77
|
end
|
62
78
|
end
|