flit-modulo-exportacoes 2.0.40 → 2.0.42

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.
package/dist/index.js CHANGED
@@ -1,522 +1,543 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processarTiposEventosExportacao = exports.retornaValorEvento = exports.calcularValoresExportacao = exports.validarDadosPayload = void 0;
4
- const contas_elastic_1 = require("./dao/contas-elastic");
5
- const feriados_elastic_1 = require("./dao/feriados-elastic");
6
- const flit_calcular_jornada_1 = require("flit-calcular-jornada");
7
- const unificacao_eventos_repetidos_1 = require("./unificacao-eventos-repetidos");
8
- const utils_1 = require("flit-calcular-jornada/dist/lib/helpers/utils");
9
- const parametrosHorasNoturnas_model_1 = require("flit-calcular-jornada/dist/lib/models/parametrosHorasNoturnas.model");
10
- const utils_2 = require("./utils");
11
- const models_1 = require("./models");
12
- function validarCampo({ campo, fieldName, fn }) {
13
- if ((!campo) || (campo.length <= 0)) {
14
- fn().push(`${fieldName} não informada.`);
15
- return false;
16
- }
17
- return true;
18
- }
19
- function validarReferencia({ referencia, fn }) {
20
- if (validarCampo({ fn: fn, fieldName: 'Referência', campo: referencia })) {
21
- if ((referencia ?? '').length !== 6) {
22
- fn().push(`Referência inválida. O formato esperado é "MMYYYY".`);
23
- }
24
- else {
25
- const mes = (referencia ?? '').substring(0, 2);
26
- if ((!Number.isInteger(Number.parseInt(mes))) || (Number.parseInt(mes) < 1) || (Number.parseInt(mes) > 12)) {
27
- fn().push(`Mês de referência inválido. O formato esperado é "MM".`);
28
- }
29
- const ano = (referencia ?? '').substring(2, 6);
30
- if ((!Number.isInteger(Number.parseInt(ano))) || (Number.parseInt(ano) < 1899) || (Number.parseInt(ano) > 2999)) {
31
- fn().push(`Ano de referência inválido. O formato esperado é "YYYY".`);
32
- }
33
- }
34
- }
35
- }
36
- function validarDadosPayload({ fn, data, validarCampoReferencia }) {
37
- validarCampo({
38
- fn: fn,
39
- fieldName: 'Conta',
40
- campo: data.conta_id
41
- });
42
- validarCampo({
43
- fn: fn,
44
- campo: data.data_final,
45
- fieldName: 'Data final'
46
- });
47
- validarCampo({
48
- fn: fn,
49
- campo: data.data_inicial,
50
- fieldName: 'Data inicial'
51
- });
52
- validarCampo({
53
- fn: fn,
54
- campo: data.tabela_eventos_id,
55
- fieldName: 'Tabela de eventos'
56
- });
57
- if (validarCampoReferencia) {
58
- validarReferencia({
59
- fn: fn,
60
- referencia: data.referencia
61
- });
62
- }
63
- return fn().length === 0;
64
- }
65
- exports.validarDadosPayload = validarDadosPayload;
66
- function aplicarFatorConversaoValoresEventos(valoresEventos) {
67
- return {
68
- datas_faltas: valoresEventos.datas_faltas,
69
- ValorNormal: {
70
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNormal.Horas * 1, 1),
71
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNormal.Minutos * 1, 1)
72
- },
73
- ValorAtraso: {
74
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorAtraso.Horas * 1, 1),
75
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorAtraso.Minutos * 1, 1)
76
- },
77
- ValorNoturno: {
78
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturno.Horas * 1, 1),
79
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturno.Minutos * 1, 1)
80
- },
81
- ValorExtraSegSex: {
82
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSegSex.Horas * 1, 1),
83
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSegSex.Minutos * 1, 1)
84
- },
85
- ValorExtraSabado: {
86
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSabado.Horas * 1, 1),
87
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSabado.Minutos * 1, 1)
88
- },
89
- ValorExtraDomingo: {
90
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraDomingo.Horas * 1, 1),
91
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraDomingo.Minutos * 1, 1)
92
- },
93
- ValorExtraFeriado: {
94
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFeriado.Horas * 1, 1),
95
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFeriado.Minutos * 1, 1)
96
- },
97
- ValorExtraFolga: {
98
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFolga.Horas * 1, 1),
99
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFolga.Minutos * 1, 1)
100
- },
101
- ValorNoturnoTotal: {
102
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturnoTotal.Horas * 1, 1),
103
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturnoTotal.Minutos * 1, 1)
104
- },
105
- FaixaSemanal: {
106
- ValorFaixa1: {
107
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa1.Horas * 1, 1),
108
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa1.Minutos * 1, 1)
109
- },
110
- ValorFaixa2: {
111
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa2.Horas * 1, 1),
112
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa2.Minutos * 1, 1)
113
- },
114
- ValorFaixa3: {
115
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa3.Horas * 1, 1),
116
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa3.Minutos * 1, 1)
117
- }
118
- },
119
- FaixaDiferenciada: {
120
- ValorFaixa1: {
121
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa1.Horas * 1, 1),
122
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa1.Minutos * 1, 1)
123
- },
124
- ValorFaixa2: {
125
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa2.Horas * 1, 1),
126
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa2.Minutos * 1, 1)
127
- },
128
- ValorFaixa3: {
129
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa3.Horas * 1, 1),
130
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa3.Minutos * 1, 1)
131
- }
132
- },
133
- ValorHorasTrabalhadas: {
134
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorHorasTrabalhadas.Horas * 1, 1),
135
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorHorasTrabalhadas.Minutos * 1, 1)
136
- },
137
- ValorExtraIntrajornada: {
138
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornada.Horas * 1, 1),
139
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornada.Minutos * 1, 1)
140
- },
141
- ValorExtraNoturnoSegSex: {
142
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSegSex.Horas * 1, 1),
143
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSegSex.Minutos * 1, 1)
144
- },
145
- ValorExtraNoturnoSabado: {
146
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSabado.Horas * 1, 1),
147
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSabado.Minutos * 1, 1)
148
- },
149
- ValorExtraNoturnoDomingo: {
150
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoDomingo.Horas * 1, 1),
151
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoDomingo.Minutos * 1, 1)
152
- },
153
- ValorExtraNoturnoFeriado: {
154
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFeriado.Horas * 1, 1),
155
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFeriado.Minutos * 1, 1)
156
- },
157
- ValorExtraIntrajornadaComReducao: {
158
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornadaComReducao.Horas * 1, 1),
159
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornadaComReducao.Minutos * 1, 1)
160
- },
161
- ValorFaltas: {
162
- Dias: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Dias * 1, 1),
163
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Horas * 1, 1),
164
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Minutos * 1, 1)
165
- }
166
- };
167
- }
168
- async function calcularValoresExportacao({ contaId, dataFinal, dataInicial, elasticClient, parametrosIntegracao, empresas, jornadas }) {
169
- const feriados = await new feriados_elastic_1.FeriadosElastic(elasticClient).getFeriadosElastic({
170
- contaId: contaId,
171
- dataFinal: dataFinal,
172
- dataInicial: dataInicial
173
- });
174
- const conta = await new contas_elastic_1.ContasElastic(elasticClient).getContaElastic(contaId);
175
- let horarioNoturno = undefined;
176
- if (conta?._source?.parametros?.horario_noturno) {
177
- horarioNoturno = (0, utils_1.calcularConfiguracoesHorarioNoturnoJornada)(new parametrosHorasNoturnas_model_1.ParametrosHorarioNoturno({
178
- fim: conta?._source?.parametros?.horario_noturno?.fim || '22:00',
179
- inicio: conta?._source?.parametros?.horario_noturno?.inicio || '05:00',
180
- tipo: (0, utils_2.getEnumParametrosTipoHorarioNoturno)(conta?._source?.parametros?.horario_noturno?.tipo),
181
- hora_reduzida_segundos: conta?._source?.parametros?.horario_noturno?.hora_reduzida_segundos || 3600
182
- }));
183
- }
184
- const valoresEventos = {
185
- ValorFaltas: {
186
- Dias: 0,
187
- Horas: 0,
188
- Minutos: 0
189
- },
190
- ValorAtraso: {
191
- Horas: 0,
192
- Minutos: 0
193
- },
194
- ValorNormal: {
195
- Horas: 0,
196
- Minutos: 0
197
- },
198
- ValorNoturno: {
199
- Horas: 0,
200
- Minutos: 0
201
- },
202
- FaixaSemanal: {
203
- ValorFaixa1: {
204
- Horas: 0,
205
- Minutos: 0
206
- },
207
- ValorFaixa2: {
208
- Horas: 0,
209
- Minutos: 0
210
- },
211
- ValorFaixa3: {
212
- Horas: 0,
213
- Minutos: 0
214
- }
215
- },
216
- FaixaDiferenciada: {
217
- ValorFaixa1: {
218
- Horas: 0,
219
- Minutos: 0
220
- },
221
- ValorFaixa2: {
222
- Horas: 0,
223
- Minutos: 0
224
- },
225
- ValorFaixa3: {
226
- Horas: 0,
227
- Minutos: 0
228
- }
229
- },
230
- ValorExtraSegSex: {
231
- Horas: 0,
232
- Minutos: 0
233
- },
234
- ValorExtraSabado: {
235
- Horas: 0,
236
- Minutos: 0
237
- },
238
- ValorExtraDomingo: {
239
- Horas: 0,
240
- Minutos: 0
241
- },
242
- ValorExtraFeriado: {
243
- Horas: 0,
244
- Minutos: 0
245
- },
246
- ValorExtraFolga: {
247
- Horas: 0,
248
- Minutos: 0
249
- },
250
- ValorNoturnoTotal: {
251
- Horas: 0,
252
- Minutos: 0
253
- },
254
- ValorHorasTrabalhadas: {
255
- Horas: 0,
256
- Minutos: 0
257
- },
258
- ValorExtraIntrajornada: {
259
- Horas: 0,
260
- Minutos: 0
261
- },
262
- ValorExtraNoturnoSegSex: {
263
- Horas: 0,
264
- Minutos: 0
265
- },
266
- ValorExtraNoturnoSabado: {
267
- Horas: 0,
268
- Minutos: 0
269
- },
270
- ValorExtraNoturnoDomingo: {
271
- Horas: 0,
272
- Minutos: 0
273
- },
274
- ValorExtraNoturnoFeriado: {
275
- Horas: 0,
276
- Minutos: 0
277
- },
278
- datas_faltas: new Array(),
279
- ValorExtraIntrajornadaComReducao: {
280
- Horas: 0,
281
- Minutos: 0
282
- }
283
- };
284
- for (const jornadaElastic of jornadas) {
285
- const jornada = jornadaElastic._source ?? {};
286
- if ((0, utils_2.colaboradorFaltou)(jornada.jornada_realizada)) {
287
- valoresEventos.datas_faltas.push(new Date(jornada.data_hora));
288
- const minutosFalta = (0, utils_2.retornaNumeroMinutosPrevistosEscala)(jornada.jornada_prevista?.periodos ?? []);
289
- valoresEventos.ValorFaltas.Dias += 1;
290
- valoresEventos.ValorFaltas.Minutos += minutosFalta;
291
- valoresEventos.ValorFaltas.Horas += minutosFalta / 60;
292
- }
293
- valoresEventos.ValorNormal.Horas += jornada.horas_normais ?? 0;
294
- valoresEventos.ValorNormal.Minutos += (jornada.horas_normais ?? 0) * 60;
295
- valoresEventos.ValorNoturno.Horas += jornada.horas_noturnas ?? 0;
296
- valoresEventos.ValorNoturno.Minutos += (jornada.horas_noturnas ?? 0) * 60;
297
- valoresEventos.ValorNoturnoTotal.Horas += jornada.horas_noturnas ?? 0;
298
- valoresEventos.ValorNoturnoTotal.Minutos += (jornada.horas_noturnas ?? 0) * 60;
299
- valoresEventos.ValorNoturnoTotal.Horas += jornada.horas_noturnas_extras ?? 0;
300
- valoresEventos.ValorNoturnoTotal.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
301
- const valorHorasTrabalhadas = (jornada.horas_normais ?? 0) + (jornada.horas_extras ?? 0) + (jornada.horas_noturnas ?? 0) + (jornada.horas_noturnas_extras ?? 0);
302
- valoresEventos.ValorHorasTrabalhadas.Horas += valorHorasTrabalhadas;
303
- valoresEventos.ValorHorasTrabalhadas.Minutos += valorHorasTrabalhadas * 60;
304
- if ((jornada.regime_compensacao ?? flit_calcular_jornada_1.RegimesCompensacao.HorasExtras) === flit_calcular_jornada_1.RegimesCompensacao.HorasExtras) {
305
- valoresEventos.ValorAtraso.Horas += jornada.horas_negativas ?? 0;
306
- valoresEventos.ValorAtraso.Minutos += (jornada.horas_negativas ?? 0) * 60;
307
- valoresEventos.ValorExtraIntrajornada.Horas += jornada.horas_extras_intrajornada ?? 0;
308
- valoresEventos.ValorExtraIntrajornada.Minutos += (jornada.horas_extras_intrajornada ?? 0) * 60;
309
- valoresEventos.FaixaSemanal.ValorFaixa1.Horas += jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0;
310
- valoresEventos.FaixaSemanal.ValorFaixa1.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0) * 60;
311
- valoresEventos.FaixaSemanal.ValorFaixa2.Horas += jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0;
312
- valoresEventos.FaixaSemanal.ValorFaixa2.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0) * 60;
313
- valoresEventos.FaixaSemanal.ValorFaixa3.Horas += jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0;
314
- valoresEventos.FaixaSemanal.ValorFaixa3.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0) * 60;
315
- valoresEventos.FaixaDiferenciada.ValorFaixa1.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0;
316
- valoresEventos.FaixaDiferenciada.ValorFaixa1.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0) * 60;
317
- valoresEventos.FaixaDiferenciada.ValorFaixa2.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0;
318
- valoresEventos.FaixaDiferenciada.ValorFaixa2.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0) * 60;
319
- valoresEventos.FaixaDiferenciada.ValorFaixa3.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0;
320
- valoresEventos.FaixaDiferenciada.ValorFaixa3.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0) * 60;
321
- const valorExtraIntrajornadaComReducao = (jornada.horas_extras_intrajornada ?? 0) * (horarioNoturno?.base_reducao_horario_noturno || 1);
322
- valoresEventos.ValorExtraIntrajornadaComReducao.Horas += valorExtraIntrajornadaComReducao;
323
- valoresEventos.ValorExtraIntrajornadaComReducao.Minutos += valorExtraIntrajornadaComReducao * 60;
324
- const totalMinutosFaixasJornada = (jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0) +
325
- (jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0) +
326
- (jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0) +
327
- (jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0) +
328
- (jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0) +
329
- (jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0);
330
- if (totalMinutosFaixasJornada <= 0) {
331
- if (await (0, utils_2.feriado)({
332
- empresas: empresas,
333
- feriados: feriados,
334
- elasticClient: elasticClient,
335
- dataHoraJornada: new Date(jornada.data_hora),
336
- ufEmpresaUsuarioJornada: jornada.usuario.empresa.uf,
337
- idEmpresaUsuarioJornada: jornada.usuario.empresa.uid,
338
- cidadeEmpresaUsuarioJornada: jornada.usuario.empresa.cidade,
339
- tipoOcorrenciaFrequenciaJornadaPrevista: jornada.jornada_prevista?.ocorrencia_frequencia?.tipo ?? ''
340
- })) {
341
- valoresEventos.ValorExtraFeriado.Horas += jornada.horas_extras ?? 0;
342
- valoresEventos.ValorExtraFeriado.Minutos += (jornada.horas_extras ?? 0) * 60;
343
- valoresEventos.ValorExtraNoturnoFeriado.Horas += jornada.horas_noturnas_extras ?? 0;
344
- valoresEventos.ValorExtraNoturnoFeriado.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
345
- }
346
- else {
347
- if (jornada.data_hora && (0, utils_2.sabado)(new Date(jornada.data_hora))) {
348
- valoresEventos.ValorExtraSabado.Horas += jornada.horas_extras ?? 0;
349
- valoresEventos.ValorExtraSabado.Minutos += (jornada.horas_extras ?? 0) * 60;
350
- valoresEventos.ValorExtraNoturnoSabado.Horas += jornada.horas_noturnas_extras ?? 0;
351
- valoresEventos.ValorExtraNoturnoSabado.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
352
- }
353
- else {
354
- if (jornada.data_hora && (0, utils_2.domingo)(new Date(jornada.data_hora))) {
355
- valoresEventos.ValorExtraDomingo.Horas += jornada.horas_extras ?? 0;
356
- valoresEventos.ValorExtraDomingo.Minutos += (jornada.horas_extras ?? 0) * 60;
357
- valoresEventos.ValorExtraNoturnoDomingo.Horas += jornada.horas_noturnas_extras ?? 0;
358
- valoresEventos.ValorExtraNoturnoDomingo.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
359
- }
360
- else {
361
- valoresEventos.ValorExtraSegSex.Horas += jornada.horas_extras ?? 0;
362
- valoresEventos.ValorExtraSegSex.Minutos += (jornada.horas_extras ?? 0) * 60;
363
- valoresEventos.ValorExtraNoturnoSegSex.Horas += jornada.horas_noturnas_extras ?? 0;
364
- valoresEventos.ValorExtraNoturnoSegSex.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
365
- }
366
- }
367
- }
368
- }
369
- }
370
- }
371
- new unificacao_eventos_repetidos_1.UnificacaoEventosRepetidos().unificarEventosComCodigosRepetidos({
372
- valoresEventos: valoresEventos,
373
- parametrosIntegracao: parametrosIntegracao ?? {}
374
- });
375
- return aplicarFatorConversaoValoresEventos(valoresEventos);
376
- }
377
- exports.calcularValoresExportacao = calcularValoresExportacao;
378
- function retornaValorEvento(tipoEvento, valoresEventos) {
379
- switch (tipoEvento) {
380
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
381
- return valoresEventos.ValorExtraNoturnoSegSex;
382
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
383
- return valoresEventos.ValorExtraNoturnoDomingo;
384
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
385
- return valoresEventos.ValorExtraNoturnoFeriado;
386
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
387
- return valoresEventos.ValorExtraNoturnoSabado;
388
- case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
389
- return valoresEventos.ValorExtraIntrajornada;
390
- case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO:
391
- return valoresEventos.ValorExtraIntrajornadaComReducao;
392
- case models_1.TipoEventoExportacao.HORAS_NOTURNAS_TOTAIS:
393
- return valoresEventos.ValorNoturnoTotal;
394
- case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
395
- return valoresEventos.ValorExtraSabado;
396
- case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
397
- return valoresEventos.ValorExtraDomingo;
398
- case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
399
- return valoresEventos.ValorExtraFeriado;
400
- case models_1.TipoEventoExportacao.HORA_EXTRA_FOLGA:
401
- return valoresEventos.ValorExtraFolga;
402
- case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
403
- return valoresEventos.ValorExtraSegSex;
404
- case models_1.TipoEventoExportacao.HORA_NOTURNA:
405
- return valoresEventos.ValorNoturno;
406
- case models_1.TipoEventoExportacao.HORA_NORMAL:
407
- return valoresEventos.ValorNormal;
408
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_1:
409
- return valoresEventos.FaixaSemanal.ValorFaixa1;
410
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_2:
411
- return valoresEventos.FaixaSemanal.ValorFaixa2;
412
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_3:
413
- return valoresEventos.FaixaSemanal.ValorFaixa3;
414
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_1:
415
- return valoresEventos.FaixaDiferenciada.ValorFaixa1;
416
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_2:
417
- return valoresEventos.FaixaDiferenciada.ValorFaixa2;
418
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_3:
419
- return valoresEventos.FaixaDiferenciada.ValorFaixa3;
420
- case models_1.TipoEventoExportacao.HORAS_TRABALHADAS:
421
- return valoresEventos.ValorHorasTrabalhadas;
422
- case models_1.TipoEventoExportacao.ATRASO:
423
- return {
424
- Horas: Math.abs(valoresEventos.ValorAtraso.Horas),
425
- Minutos: Math.abs(valoresEventos.ValorAtraso.Minutos)
426
- };
427
- case models_1.TipoEventoExportacao.FALTA:
428
- return {
429
- Dias: Math.abs(valoresEventos.ValorFaltas.Dias),
430
- Horas: Math.abs(valoresEventos.ValorFaltas.Horas),
431
- Minutos: Math.abs(valoresEventos.ValorFaltas.Minutos)
432
- };
433
- default:
434
- return {
435
- Dias: 0,
436
- Horas: 0,
437
- Minutos: 0
438
- };
439
- }
440
- }
441
- exports.retornaValorEvento = retornaValorEvento;
442
- function processarTiposEventosExportacao(tiposEventos) {
443
- const retorno = new Array();
444
- if (tiposEventos.length <= 0) {
445
- for (const tipoEvento of Object.values(Object.freeze(models_1.TipoEventoExportacao))) {
446
- retorno.push(tipoEvento);
447
- }
448
- }
449
- else {
450
- if (tiposEventos.includes(models_1.TiposEventosExportar.FALTA)) {
451
- retorno.push(models_1.TipoEventoExportacao.FALTA);
452
- }
453
- if (tiposEventos.includes(models_1.TiposEventosExportar.ATRASO)) {
454
- retorno.push(models_1.TipoEventoExportacao.ATRASO);
455
- }
456
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_NORMAL)) {
457
- retorno.push(models_1.TipoEventoExportacao.HORA_NORMAL);
458
- }
459
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_NOTURNA)) {
460
- retorno.push(models_1.TipoEventoExportacao.HORA_NOTURNA);
461
- }
462
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SAB)) {
463
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_SAB);
464
- }
465
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_DOM)) {
466
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_DOM);
467
- }
468
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FER)) {
469
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_FER);
470
- }
471
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FOLGA)) {
472
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_FOLGA);
473
- }
474
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORAS_TRABALHADAS)) {
475
- retorno.push(models_1.TipoEventoExportacao.HORAS_TRABALHADAS);
476
- }
477
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SEG_SEX)) {
478
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX);
479
- }
480
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORAS_NOTURNAS_TOTAIS)) {
481
- retorno.push(models_1.TipoEventoExportacao.HORAS_NOTURNAS_TOTAIS);
482
- }
483
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SAB)) {
484
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB);
485
- }
486
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_DOM)) {
487
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM);
488
- }
489
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_FER)) {
490
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER);
491
- }
492
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA)) {
493
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA);
494
- }
495
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SEG_SEX)) {
496
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX);
497
- }
498
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_1)) {
499
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_1);
500
- }
501
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_2)) {
502
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_2);
503
- }
504
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_3)) {
505
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_3);
506
- }
507
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_1)) {
508
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_1);
509
- }
510
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_2)) {
511
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_2);
512
- }
513
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_3)) {
514
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_3);
515
- }
516
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO)) {
517
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO);
518
- }
519
- }
520
- return retorno;
521
- }
522
- exports.processarTiposEventosExportacao = processarTiposEventosExportacao;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processarTiposEventosExportacao = exports.retornaValorEvento = exports.calcularValoresExportacao = exports.validarDadosPayload = void 0;
4
+ const contas_elastic_1 = require("./dao/contas-elastic");
5
+ const feriados_elastic_1 = require("./dao/feriados-elastic");
6
+ const flit_calcular_jornada_1 = require("flit-calcular-jornada");
7
+ const unificacao_eventos_repetidos_1 = require("./unificacao-eventos-repetidos");
8
+ const utils_1 = require("flit-calcular-jornada/dist/lib/helpers/utils");
9
+ const parametrosHorasNoturnas_model_1 = require("flit-calcular-jornada/dist/lib/models/parametrosHorasNoturnas.model");
10
+ const utils_2 = require("./utils");
11
+ const models_1 = require("./models");
12
+ function validarCampo({ campo, fieldName, fn }) {
13
+ if ((!campo) || (campo.length <= 0)) {
14
+ fn().push(`${fieldName} não informada.`);
15
+ return false;
16
+ }
17
+ return true;
18
+ }
19
+ function validarReferencia({ referencia, fn }) {
20
+ if (validarCampo({ fn: fn, fieldName: 'Referência', campo: referencia })) {
21
+ if ((referencia ?? '').length !== 6) {
22
+ fn().push(`Referência inválida. O formato esperado é "MMYYYY".`);
23
+ }
24
+ else {
25
+ const mes = (referencia ?? '').substring(0, 2);
26
+ if ((!Number.isInteger(Number.parseInt(mes))) || (Number.parseInt(mes) < 1) || (Number.parseInt(mes) > 12)) {
27
+ fn().push(`Mês de referência inválido. O formato esperado é "MM".`);
28
+ }
29
+ const ano = (referencia ?? '').substring(2, 6);
30
+ if ((!Number.isInteger(Number.parseInt(ano))) || (Number.parseInt(ano) < 1899) || (Number.parseInt(ano) > 2999)) {
31
+ fn().push(`Ano de referência inválido. O formato esperado é "YYYY".`);
32
+ }
33
+ }
34
+ }
35
+ }
36
+ function validarDadosPayload({ fn, data, validarCampoReferencia }) {
37
+ validarCampo({
38
+ fn: fn,
39
+ fieldName: 'Conta',
40
+ campo: data.conta_id
41
+ });
42
+ validarCampo({
43
+ fn: fn,
44
+ campo: data.data_final,
45
+ fieldName: 'Data final'
46
+ });
47
+ validarCampo({
48
+ fn: fn,
49
+ campo: data.data_inicial,
50
+ fieldName: 'Data inicial'
51
+ });
52
+ validarCampo({
53
+ fn: fn,
54
+ campo: data.tabela_eventos_id,
55
+ fieldName: 'Tabela de eventos'
56
+ });
57
+ if (validarCampoReferencia) {
58
+ validarReferencia({
59
+ fn: fn,
60
+ referencia: data.referencia
61
+ });
62
+ }
63
+ return fn().length === 0;
64
+ }
65
+ exports.validarDadosPayload = validarDadosPayload;
66
+ function aplicarFatorConversaoValoresEventos(valoresEventos) {
67
+ return {
68
+ datas_faltas: valoresEventos.datas_faltas,
69
+ ValorNormal: {
70
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNormal.Horas * 1, 1),
71
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNormal.Minutos * 1, 1)
72
+ },
73
+ ValorAtraso: {
74
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorAtraso.Horas * 1, 1),
75
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorAtraso.Minutos * 1, 1)
76
+ },
77
+ ValorNoturno: {
78
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturno.Horas * 1, 1),
79
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturno.Minutos * 1, 1)
80
+ },
81
+ ValorExtraSegSex: {
82
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSegSex.Horas * 1, 1),
83
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSegSex.Minutos * 1, 1)
84
+ },
85
+ ValorExtraSabado: {
86
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSabado.Horas * 1, 1),
87
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSabado.Minutos * 1, 1)
88
+ },
89
+ ValorExtraDomingo: {
90
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraDomingo.Horas * 1, 1),
91
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraDomingo.Minutos * 1, 1)
92
+ },
93
+ ValorExtraFeriado: {
94
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFeriado.Horas * 1, 1),
95
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFeriado.Minutos * 1, 1)
96
+ },
97
+ ValorExtraFolga: {
98
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFolga.Horas * 1, 1),
99
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFolga.Minutos * 1, 1)
100
+ },
101
+ ValorNoturnoTotal: {
102
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturnoTotal.Horas * 1, 1),
103
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturnoTotal.Minutos * 1, 1)
104
+ },
105
+ FaixaSemanal: {
106
+ ValorFaixa1: {
107
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa1.Horas * 1, 1),
108
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa1.Minutos * 1, 1)
109
+ },
110
+ ValorFaixa2: {
111
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa2.Horas * 1, 1),
112
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa2.Minutos * 1, 1)
113
+ },
114
+ ValorFaixa3: {
115
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa3.Horas * 1, 1),
116
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa3.Minutos * 1, 1)
117
+ }
118
+ },
119
+ FaixaDiferenciada: {
120
+ ValorFaixa1: {
121
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa1.Horas * 1, 1),
122
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa1.Minutos * 1, 1)
123
+ },
124
+ ValorFaixa2: {
125
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa2.Horas * 1, 1),
126
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa2.Minutos * 1, 1)
127
+ },
128
+ ValorFaixa3: {
129
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa3.Horas * 1, 1),
130
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa3.Minutos * 1, 1)
131
+ }
132
+ },
133
+ ValorHorasTrabalhadas: {
134
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorHorasTrabalhadas.Horas * 1, 1),
135
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorHorasTrabalhadas.Minutos * 1, 1)
136
+ },
137
+ ValorExtraIntrajornada: {
138
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornada.Horas * 1, 1),
139
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornada.Minutos * 1, 1)
140
+ },
141
+ ValorExtraNoturnoFolga: {
142
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFolga.Horas * 1, 1),
143
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFolga.Minutos * 1, 1)
144
+ },
145
+ ValorExtraNoturnoSegSex: {
146
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSegSex.Horas * 1, 1),
147
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSegSex.Minutos * 1, 1)
148
+ },
149
+ ValorExtraNoturnoSabado: {
150
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSabado.Horas * 1, 1),
151
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSabado.Minutos * 1, 1)
152
+ },
153
+ ValorExtraNoturnoDomingo: {
154
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoDomingo.Horas * 1, 1),
155
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoDomingo.Minutos * 1, 1)
156
+ },
157
+ ValorExtraNoturnoFeriado: {
158
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFeriado.Horas * 1, 1),
159
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFeriado.Minutos * 1, 1)
160
+ },
161
+ ValorExtraIntrajornadaComReducao: {
162
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornadaComReducao.Horas * 1, 1),
163
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornadaComReducao.Minutos * 1, 1)
164
+ },
165
+ ValorFaltas: {
166
+ Dias: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Dias * 1, 1),
167
+ Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Horas * 1, 1),
168
+ Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Minutos * 1, 1)
169
+ }
170
+ };
171
+ }
172
+ async function calcularValoresExportacao({ contaId, dataFinal, dataInicial, elasticClient, parametrosIntegracao, empresas, jornadas }) {
173
+ const feriados = await new feriados_elastic_1.FeriadosElastic(elasticClient).getFeriadosElastic({
174
+ contaId: contaId,
175
+ dataFinal: dataFinal,
176
+ dataInicial: dataInicial
177
+ });
178
+ const conta = await new contas_elastic_1.ContasElastic(elasticClient).getContaElastic(contaId);
179
+ let horarioNoturno = undefined;
180
+ if (conta?._source?.parametros?.horario_noturno) {
181
+ horarioNoturno = (0, utils_1.calcularConfiguracoesHorarioNoturnoJornada)(new parametrosHorasNoturnas_model_1.ParametrosHorarioNoturno({
182
+ fim: conta?._source?.parametros?.horario_noturno?.fim || '22:00',
183
+ inicio: conta?._source?.parametros?.horario_noturno?.inicio || '05:00',
184
+ tipo: (0, utils_2.getEnumParametrosTipoHorarioNoturno)(conta?._source?.parametros?.horario_noturno?.tipo),
185
+ hora_reduzida_segundos: conta?._source?.parametros?.horario_noturno?.hora_reduzida_segundos || 3600
186
+ }));
187
+ }
188
+ const valoresEventos = {
189
+ ValorFaltas: {
190
+ Dias: 0,
191
+ Horas: 0,
192
+ Minutos: 0
193
+ },
194
+ ValorAtraso: {
195
+ Horas: 0,
196
+ Minutos: 0
197
+ },
198
+ ValorNormal: {
199
+ Horas: 0,
200
+ Minutos: 0
201
+ },
202
+ ValorNoturno: {
203
+ Horas: 0,
204
+ Minutos: 0
205
+ },
206
+ FaixaSemanal: {
207
+ ValorFaixa1: {
208
+ Horas: 0,
209
+ Minutos: 0
210
+ },
211
+ ValorFaixa2: {
212
+ Horas: 0,
213
+ Minutos: 0
214
+ },
215
+ ValorFaixa3: {
216
+ Horas: 0,
217
+ Minutos: 0
218
+ }
219
+ },
220
+ FaixaDiferenciada: {
221
+ ValorFaixa1: {
222
+ Horas: 0,
223
+ Minutos: 0
224
+ },
225
+ ValorFaixa2: {
226
+ Horas: 0,
227
+ Minutos: 0
228
+ },
229
+ ValorFaixa3: {
230
+ Horas: 0,
231
+ Minutos: 0
232
+ }
233
+ },
234
+ ValorExtraSegSex: {
235
+ Horas: 0,
236
+ Minutos: 0
237
+ },
238
+ ValorExtraSabado: {
239
+ Horas: 0,
240
+ Minutos: 0
241
+ },
242
+ ValorExtraDomingo: {
243
+ Horas: 0,
244
+ Minutos: 0
245
+ },
246
+ ValorExtraFeriado: {
247
+ Horas: 0,
248
+ Minutos: 0
249
+ },
250
+ ValorExtraFolga: {
251
+ Horas: 0,
252
+ Minutos: 0
253
+ },
254
+ ValorNoturnoTotal: {
255
+ Horas: 0,
256
+ Minutos: 0
257
+ },
258
+ ValorHorasTrabalhadas: {
259
+ Horas: 0,
260
+ Minutos: 0
261
+ },
262
+ ValorExtraIntrajornada: {
263
+ Horas: 0,
264
+ Minutos: 0
265
+ },
266
+ ValorExtraNoturnoFolga: {
267
+ Horas: 0,
268
+ Minutos: 0
269
+ },
270
+ ValorExtraNoturnoSegSex: {
271
+ Horas: 0,
272
+ Minutos: 0
273
+ },
274
+ ValorExtraNoturnoSabado: {
275
+ Horas: 0,
276
+ Minutos: 0
277
+ },
278
+ ValorExtraNoturnoDomingo: {
279
+ Horas: 0,
280
+ Minutos: 0
281
+ },
282
+ ValorExtraNoturnoFeriado: {
283
+ Horas: 0,
284
+ Minutos: 0
285
+ },
286
+ datas_faltas: new Array(),
287
+ ValorExtraIntrajornadaComReducao: {
288
+ Horas: 0,
289
+ Minutos: 0
290
+ }
291
+ };
292
+ for (const jornadaElastic of jornadas) {
293
+ const jornada = jornadaElastic._source ?? {};
294
+ if ((0, utils_2.colaboradorFaltou)(jornada.jornada_realizada)) {
295
+ valoresEventos.datas_faltas.push(new Date(jornada.data_hora));
296
+ const minutosFalta = (0, utils_2.retornaNumeroMinutosPrevistosEscala)(jornada.jornada_prevista?.periodos ?? []);
297
+ valoresEventos.ValorFaltas.Dias += 1;
298
+ valoresEventos.ValorFaltas.Minutos += minutosFalta;
299
+ valoresEventos.ValorFaltas.Horas += minutosFalta / 60;
300
+ }
301
+ valoresEventos.ValorNormal.Horas += jornada.horas_normais ?? 0;
302
+ valoresEventos.ValorNormal.Minutos += (jornada.horas_normais ?? 0) * 60;
303
+ valoresEventos.ValorNoturno.Horas += jornada.horas_noturnas ?? 0;
304
+ valoresEventos.ValorNoturno.Minutos += (jornada.horas_noturnas ?? 0) * 60;
305
+ valoresEventos.ValorNoturnoTotal.Horas += jornada.horas_noturnas ?? 0;
306
+ valoresEventos.ValorNoturnoTotal.Minutos += (jornada.horas_noturnas ?? 0) * 60;
307
+ valoresEventos.ValorNoturnoTotal.Horas += jornada.horas_noturnas_extras ?? 0;
308
+ valoresEventos.ValorNoturnoTotal.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
309
+ const valorHorasTrabalhadas = (jornada.horas_normais ?? 0) + (jornada.horas_extras ?? 0) + (jornada.horas_noturnas ?? 0) + (jornada.horas_noturnas_extras ?? 0);
310
+ valoresEventos.ValorHorasTrabalhadas.Horas += valorHorasTrabalhadas;
311
+ valoresEventos.ValorHorasTrabalhadas.Minutos += valorHorasTrabalhadas * 60;
312
+ if ((jornada.regime_compensacao ?? flit_calcular_jornada_1.RegimesCompensacao.HorasExtras) === flit_calcular_jornada_1.RegimesCompensacao.HorasExtras) {
313
+ valoresEventos.ValorAtraso.Horas += jornada.horas_negativas ?? 0;
314
+ valoresEventos.ValorAtraso.Minutos += (jornada.horas_negativas ?? 0) * 60;
315
+ valoresEventos.ValorExtraIntrajornada.Horas += jornada.horas_extras_intrajornada ?? 0;
316
+ valoresEventos.ValorExtraIntrajornada.Minutos += (jornada.horas_extras_intrajornada ?? 0) * 60;
317
+ valoresEventos.FaixaSemanal.ValorFaixa1.Horas += jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0;
318
+ valoresEventos.FaixaSemanal.ValorFaixa1.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0) * 60;
319
+ valoresEventos.FaixaSemanal.ValorFaixa2.Horas += jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0;
320
+ valoresEventos.FaixaSemanal.ValorFaixa2.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0) * 60;
321
+ valoresEventos.FaixaSemanal.ValorFaixa3.Horas += jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0;
322
+ valoresEventos.FaixaSemanal.ValorFaixa3.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0) * 60;
323
+ valoresEventos.FaixaDiferenciada.ValorFaixa1.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0;
324
+ valoresEventos.FaixaDiferenciada.ValorFaixa1.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0) * 60;
325
+ valoresEventos.FaixaDiferenciada.ValorFaixa2.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0;
326
+ valoresEventos.FaixaDiferenciada.ValorFaixa2.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0) * 60;
327
+ valoresEventos.FaixaDiferenciada.ValorFaixa3.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0;
328
+ valoresEventos.FaixaDiferenciada.ValorFaixa3.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0) * 60;
329
+ const valorExtraIntrajornadaComReducao = (jornada.horas_extras_intrajornada ?? 0) * (horarioNoturno?.base_reducao_horario_noturno || 1);
330
+ valoresEventos.ValorExtraIntrajornadaComReducao.Horas += valorExtraIntrajornadaComReducao;
331
+ valoresEventos.ValorExtraIntrajornadaComReducao.Minutos += valorExtraIntrajornadaComReducao * 60;
332
+ const totalMinutosFaixasJornada = (jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0) +
333
+ (jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0) +
334
+ (jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0) +
335
+ (jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0) +
336
+ (jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0) +
337
+ (jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0);
338
+ if (totalMinutosFaixasJornada <= 0) {
339
+ if (await (0, utils_2.feriado)({
340
+ empresas: empresas,
341
+ feriados: feriados,
342
+ elasticClient: elasticClient,
343
+ dataHoraJornada: new Date(jornada.data_hora),
344
+ ufEmpresaUsuarioJornada: jornada.usuario.empresa.uf,
345
+ idEmpresaUsuarioJornada: jornada.usuario.empresa.uid,
346
+ cidadeEmpresaUsuarioJornada: jornada.usuario.empresa.cidade,
347
+ tipoOcorrenciaFrequenciaJornadaPrevista: jornada.jornada_prevista?.ocorrencia_frequencia?.tipo ?? ''
348
+ })) {
349
+ valoresEventos.ValorExtraFeriado.Horas += jornada.horas_extras ?? 0;
350
+ valoresEventos.ValorExtraFeriado.Minutos += (jornada.horas_extras ?? 0) * 60;
351
+ valoresEventos.ValorExtraNoturnoFeriado.Horas += jornada.horas_noturnas_extras ?? 0;
352
+ valoresEventos.ValorExtraNoturnoFeriado.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
353
+ }
354
+ else {
355
+ if (jornada.data_hora && (0, utils_2.sabado)(new Date(jornada.data_hora))) {
356
+ valoresEventos.ValorExtraSabado.Horas += jornada.horas_extras ?? 0;
357
+ valoresEventos.ValorExtraSabado.Minutos += (jornada.horas_extras ?? 0) * 60;
358
+ valoresEventos.ValorExtraNoturnoSabado.Horas += jornada.horas_noturnas_extras ?? 0;
359
+ valoresEventos.ValorExtraNoturnoSabado.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
360
+ }
361
+ else {
362
+ if (jornada.data_hora && (0, utils_2.domingo)(new Date(jornada.data_hora))) {
363
+ valoresEventos.ValorExtraDomingo.Horas += jornada.horas_extras ?? 0;
364
+ valoresEventos.ValorExtraDomingo.Minutos += (jornada.horas_extras ?? 0) * 60;
365
+ valoresEventos.ValorExtraNoturnoDomingo.Horas += jornada.horas_noturnas_extras ?? 0;
366
+ valoresEventos.ValorExtraNoturnoDomingo.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
367
+ }
368
+ else {
369
+ if (jornada.jornada_prevista?.ocorrencia_frequencia?.tipo === flit_calcular_jornada_1.TiposOcorrenciaFrequencia.Folga) {
370
+ valoresEventos.ValorExtraFolga.Horas += jornada.horas_extras ?? 0;
371
+ valoresEventos.ValorExtraFolga.Minutos += (jornada.horas_extras ?? 0) * 60;
372
+ valoresEventos.ValorExtraNoturnoFolga.Horas += jornada.horas_noturnas_extras ?? 0;
373
+ valoresEventos.ValorExtraNoturnoFolga.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
374
+ }
375
+ else {
376
+ valoresEventos.ValorExtraSegSex.Horas += jornada.horas_extras ?? 0;
377
+ valoresEventos.ValorExtraSegSex.Minutos += (jornada.horas_extras ?? 0) * 60;
378
+ valoresEventos.ValorExtraNoturnoSegSex.Horas += jornada.horas_noturnas_extras ?? 0;
379
+ valoresEventos.ValorExtraNoturnoSegSex.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
380
+ }
381
+ }
382
+ }
383
+ }
384
+ }
385
+ }
386
+ }
387
+ new unificacao_eventos_repetidos_1.UnificacaoEventosRepetidos().unificarEventosComCodigosRepetidos({
388
+ valoresEventos: valoresEventos,
389
+ parametrosIntegracao: parametrosIntegracao ?? {}
390
+ });
391
+ return aplicarFatorConversaoValoresEventos(valoresEventos);
392
+ }
393
+ exports.calcularValoresExportacao = calcularValoresExportacao;
394
+ function retornaValorEvento(tipoEvento, valoresEventos) {
395
+ switch (tipoEvento) {
396
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
397
+ return valoresEventos.ValorExtraNoturnoSegSex;
398
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FOLGA:
399
+ return valoresEventos.ValorExtraNoturnoFolga;
400
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
401
+ return valoresEventos.ValorExtraNoturnoDomingo;
402
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
403
+ return valoresEventos.ValorExtraNoturnoFeriado;
404
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
405
+ return valoresEventos.ValorExtraNoturnoSabado;
406
+ case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
407
+ return valoresEventos.ValorExtraIntrajornada;
408
+ case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO:
409
+ return valoresEventos.ValorExtraIntrajornadaComReducao;
410
+ case models_1.TipoEventoExportacao.HORAS_NOTURNAS_TOTAIS:
411
+ return valoresEventos.ValorNoturnoTotal;
412
+ case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
413
+ return valoresEventos.ValorExtraSabado;
414
+ case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
415
+ return valoresEventos.ValorExtraDomingo;
416
+ case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
417
+ return valoresEventos.ValorExtraFeriado;
418
+ case models_1.TipoEventoExportacao.HORA_EXTRA_FOLGA:
419
+ return valoresEventos.ValorExtraFolga;
420
+ case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
421
+ return valoresEventos.ValorExtraSegSex;
422
+ case models_1.TipoEventoExportacao.HORA_NOTURNA:
423
+ return valoresEventos.ValorNoturno;
424
+ case models_1.TipoEventoExportacao.HORA_NORMAL:
425
+ return valoresEventos.ValorNormal;
426
+ case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_1:
427
+ return valoresEventos.FaixaSemanal.ValorFaixa1;
428
+ case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_2:
429
+ return valoresEventos.FaixaSemanal.ValorFaixa2;
430
+ case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_3:
431
+ return valoresEventos.FaixaSemanal.ValorFaixa3;
432
+ case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_1:
433
+ return valoresEventos.FaixaDiferenciada.ValorFaixa1;
434
+ case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_2:
435
+ return valoresEventos.FaixaDiferenciada.ValorFaixa2;
436
+ case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_3:
437
+ return valoresEventos.FaixaDiferenciada.ValorFaixa3;
438
+ case models_1.TipoEventoExportacao.HORAS_TRABALHADAS:
439
+ return valoresEventos.ValorHorasTrabalhadas;
440
+ case models_1.TipoEventoExportacao.ATRASO:
441
+ return {
442
+ Horas: Math.abs(valoresEventos.ValorAtraso.Horas),
443
+ Minutos: Math.abs(valoresEventos.ValorAtraso.Minutos)
444
+ };
445
+ case models_1.TipoEventoExportacao.FALTA:
446
+ return {
447
+ Dias: Math.abs(valoresEventos.ValorFaltas.Dias),
448
+ Horas: Math.abs(valoresEventos.ValorFaltas.Horas),
449
+ Minutos: Math.abs(valoresEventos.ValorFaltas.Minutos)
450
+ };
451
+ default:
452
+ return {
453
+ Dias: 0,
454
+ Horas: 0,
455
+ Minutos: 0
456
+ };
457
+ }
458
+ }
459
+ exports.retornaValorEvento = retornaValorEvento;
460
+ function processarTiposEventosExportacao(tiposEventos) {
461
+ const retorno = new Array();
462
+ if (tiposEventos.length <= 0) {
463
+ for (const tipoEvento of Object.values(Object.freeze(models_1.TipoEventoExportacao))) {
464
+ retorno.push(tipoEvento);
465
+ }
466
+ }
467
+ else {
468
+ if (tiposEventos.includes(models_1.TiposEventosExportar.FALTA)) {
469
+ retorno.push(models_1.TipoEventoExportacao.FALTA);
470
+ }
471
+ if (tiposEventos.includes(models_1.TiposEventosExportar.ATRASO)) {
472
+ retorno.push(models_1.TipoEventoExportacao.ATRASO);
473
+ }
474
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_NORMAL)) {
475
+ retorno.push(models_1.TipoEventoExportacao.HORA_NORMAL);
476
+ }
477
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_NOTURNA)) {
478
+ retorno.push(models_1.TipoEventoExportacao.HORA_NOTURNA);
479
+ }
480
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SAB)) {
481
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_SAB);
482
+ }
483
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_DOM)) {
484
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_DOM);
485
+ }
486
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FER)) {
487
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_FER);
488
+ }
489
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FOLGA)) {
490
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_FOLGA);
491
+ }
492
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORAS_TRABALHADAS)) {
493
+ retorno.push(models_1.TipoEventoExportacao.HORAS_TRABALHADAS);
494
+ }
495
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SEG_SEX)) {
496
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX);
497
+ }
498
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORAS_NOTURNAS_TOTAIS)) {
499
+ retorno.push(models_1.TipoEventoExportacao.HORAS_NOTURNAS_TOTAIS);
500
+ }
501
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SAB)) {
502
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB);
503
+ }
504
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_DOM)) {
505
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM);
506
+ }
507
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_FER)) {
508
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER);
509
+ }
510
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_FOLGA)) {
511
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FOLGA);
512
+ }
513
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA)) {
514
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA);
515
+ }
516
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SEG_SEX)) {
517
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX);
518
+ }
519
+ if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_1)) {
520
+ retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_1);
521
+ }
522
+ if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_2)) {
523
+ retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_2);
524
+ }
525
+ if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_3)) {
526
+ retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_3);
527
+ }
528
+ if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_1)) {
529
+ retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_1);
530
+ }
531
+ if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_2)) {
532
+ retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_2);
533
+ }
534
+ if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_3)) {
535
+ retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_3);
536
+ }
537
+ if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO)) {
538
+ retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO);
539
+ }
540
+ }
541
+ return retorno;
542
+ }
543
+ exports.processarTiposEventosExportacao = processarTiposEventosExportacao;