flit-modulo-exportacoes 2.0.41 → 4120.0.1

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,509 +1,522 @@
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
- ValorNoturnoTotal: {
98
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturnoTotal.Horas * 1, 1),
99
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturnoTotal.Minutos * 1, 1)
100
- },
101
- FaixaSemanal: {
102
- ValorFaixa1: {
103
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa1.Horas * 1, 1),
104
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa1.Minutos * 1, 1)
105
- },
106
- ValorFaixa2: {
107
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa2.Horas * 1, 1),
108
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa2.Minutos * 1, 1)
109
- },
110
- ValorFaixa3: {
111
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa3.Horas * 1, 1),
112
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaSemanal.ValorFaixa3.Minutos * 1, 1)
113
- }
114
- },
115
- FaixaDiferenciada: {
116
- ValorFaixa1: {
117
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa1.Horas * 1, 1),
118
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa1.Minutos * 1, 1)
119
- },
120
- ValorFaixa2: {
121
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa2.Horas * 1, 1),
122
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa2.Minutos * 1, 1)
123
- },
124
- ValorFaixa3: {
125
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa3.Horas * 1, 1),
126
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.FaixaDiferenciada.ValorFaixa3.Minutos * 1, 1)
127
- }
128
- },
129
- ValorHorasTrabalhadas: {
130
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorHorasTrabalhadas.Horas * 1, 1),
131
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorHorasTrabalhadas.Minutos * 1, 1)
132
- },
133
- ValorExtraIntrajornada: {
134
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornada.Horas * 1, 1),
135
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornada.Minutos * 1, 1)
136
- },
137
- ValorExtraNoturnoSegSex: {
138
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSegSex.Horas * 1, 1),
139
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSegSex.Minutos * 1, 1)
140
- },
141
- ValorExtraNoturnoSabado: {
142
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSabado.Horas * 1, 1),
143
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSabado.Minutos * 1, 1)
144
- },
145
- ValorExtraNoturnoDomingo: {
146
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoDomingo.Horas * 1, 1),
147
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoDomingo.Minutos * 1, 1)
148
- },
149
- ValorExtraNoturnoFeriado: {
150
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFeriado.Horas * 1, 1),
151
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFeriado.Minutos * 1, 1)
152
- },
153
- ValorExtraIntrajornadaComReducao: {
154
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornadaComReducao.Horas * 1, 1),
155
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornadaComReducao.Minutos * 1, 1)
156
- },
157
- ValorFaltas: {
158
- Dias: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Dias * 1, 1),
159
- Horas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Horas * 1, 1),
160
- Minutos: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorFaltas.Minutos * 1, 1)
161
- }
162
- };
163
- }
164
- async function calcularValoresExportacao({ contaId, dataFinal, dataInicial, elasticClient, parametrosIntegracao, empresas, jornadas }) {
165
- const feriados = await new feriados_elastic_1.FeriadosElastic(elasticClient).getFeriadosElastic({
166
- contaId: contaId,
167
- dataFinal: dataFinal,
168
- dataInicial: dataInicial
169
- });
170
- const conta = await new contas_elastic_1.ContasElastic(elasticClient).getContaElastic(contaId);
171
- let horarioNoturno = undefined;
172
- if (conta?._source?.parametros?.horario_noturno) {
173
- horarioNoturno = (0, utils_1.calcularConfiguracoesHorarioNoturnoJornada)(new parametrosHorasNoturnas_model_1.ParametrosHorarioNoturno({
174
- fim: conta?._source?.parametros?.horario_noturno?.fim || '22:00',
175
- inicio: conta?._source?.parametros?.horario_noturno?.inicio || '05:00',
176
- tipo: (0, utils_2.getEnumParametrosTipoHorarioNoturno)(conta?._source?.parametros?.horario_noturno?.tipo),
177
- hora_reduzida_segundos: conta?._source?.parametros?.horario_noturno?.hora_reduzida_segundos || 3600
178
- }));
179
- }
180
- const valoresEventos = {
181
- ValorFaltas: {
182
- Dias: 0,
183
- Horas: 0,
184
- Minutos: 0
185
- },
186
- ValorAtraso: {
187
- Horas: 0,
188
- Minutos: 0
189
- },
190
- ValorNormal: {
191
- Horas: 0,
192
- Minutos: 0
193
- },
194
- ValorNoturno: {
195
- Horas: 0,
196
- Minutos: 0
197
- },
198
- FaixaSemanal: {
199
- ValorFaixa1: {
200
- Horas: 0,
201
- Minutos: 0
202
- },
203
- ValorFaixa2: {
204
- Horas: 0,
205
- Minutos: 0
206
- },
207
- ValorFaixa3: {
208
- Horas: 0,
209
- Minutos: 0
210
- }
211
- },
212
- FaixaDiferenciada: {
213
- ValorFaixa1: {
214
- Horas: 0,
215
- Minutos: 0
216
- },
217
- ValorFaixa2: {
218
- Horas: 0,
219
- Minutos: 0
220
- },
221
- ValorFaixa3: {
222
- Horas: 0,
223
- Minutos: 0
224
- }
225
- },
226
- ValorExtraSegSex: {
227
- Horas: 0,
228
- Minutos: 0
229
- },
230
- ValorExtraSabado: {
231
- Horas: 0,
232
- Minutos: 0
233
- },
234
- ValorExtraDomingo: {
235
- Horas: 0,
236
- Minutos: 0
237
- },
238
- ValorExtraFeriado: {
239
- Horas: 0,
240
- Minutos: 0
241
- },
242
- ValorNoturnoTotal: {
243
- Horas: 0,
244
- Minutos: 0
245
- },
246
- ValorHorasTrabalhadas: {
247
- Horas: 0,
248
- Minutos: 0
249
- },
250
- ValorExtraIntrajornada: {
251
- Horas: 0,
252
- Minutos: 0
253
- },
254
- ValorExtraNoturnoSegSex: {
255
- Horas: 0,
256
- Minutos: 0
257
- },
258
- ValorExtraNoturnoSabado: {
259
- Horas: 0,
260
- Minutos: 0
261
- },
262
- ValorExtraNoturnoDomingo: {
263
- Horas: 0,
264
- Minutos: 0
265
- },
266
- ValorExtraNoturnoFeriado: {
267
- Horas: 0,
268
- Minutos: 0
269
- },
270
- datas_faltas: new Array(),
271
- ValorExtraIntrajornadaComReducao: {
272
- Horas: 0,
273
- Minutos: 0
274
- }
275
- };
276
- for (const jornadaElastic of jornadas) {
277
- const jornada = jornadaElastic._source ?? {};
278
- if ((0, utils_2.colaboradorFaltou)(jornada.jornada_realizada)) {
279
- valoresEventos.datas_faltas.push(new Date(jornada.data_hora));
280
- const minutosFalta = (0, utils_2.retornaNumeroMinutosPrevistosEscala)(jornada.jornada_prevista?.periodos ?? []);
281
- valoresEventos.ValorFaltas.Dias += 1;
282
- valoresEventos.ValorFaltas.Minutos += minutosFalta;
283
- valoresEventos.ValorFaltas.Horas += minutosFalta / 60;
284
- }
285
- valoresEventos.ValorNormal.Horas += jornada.horas_normais ?? 0;
286
- valoresEventos.ValorNormal.Minutos += (jornada.horas_normais ?? 0) * 60;
287
- valoresEventos.ValorNoturno.Horas += jornada.horas_noturnas ?? 0;
288
- valoresEventos.ValorNoturno.Minutos += (jornada.horas_noturnas ?? 0) * 60;
289
- valoresEventos.ValorNoturnoTotal.Horas += jornada.horas_noturnas ?? 0;
290
- valoresEventos.ValorNoturnoTotal.Minutos += (jornada.horas_noturnas ?? 0) * 60;
291
- valoresEventos.ValorNoturnoTotal.Horas += jornada.horas_noturnas_extras ?? 0;
292
- valoresEventos.ValorNoturnoTotal.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
293
- const valorHorasTrabalhadas = (jornada.horas_normais ?? 0) + (jornada.horas_extras ?? 0) + (jornada.horas_noturnas ?? 0) + (jornada.horas_noturnas_extras ?? 0);
294
- valoresEventos.ValorHorasTrabalhadas.Horas += valorHorasTrabalhadas;
295
- valoresEventos.ValorHorasTrabalhadas.Minutos += valorHorasTrabalhadas * 60;
296
- if ((jornada.regime_compensacao ?? flit_calcular_jornada_1.RegimesCompensacao.HorasExtras) === flit_calcular_jornada_1.RegimesCompensacao.HorasExtras) {
297
- valoresEventos.ValorAtraso.Horas += jornada.horas_negativas ?? 0;
298
- valoresEventos.ValorAtraso.Minutos += (jornada.horas_negativas ?? 0) * 60;
299
- valoresEventos.ValorExtraIntrajornada.Horas += jornada.horas_extras_intrajornada ?? 0;
300
- valoresEventos.ValorExtraIntrajornada.Minutos += (jornada.horas_extras_intrajornada ?? 0) * 60;
301
- valoresEventos.FaixaSemanal.ValorFaixa1.Horas += jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0;
302
- valoresEventos.FaixaSemanal.ValorFaixa1.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0) * 60;
303
- valoresEventos.FaixaSemanal.ValorFaixa2.Horas += jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0;
304
- valoresEventos.FaixaSemanal.ValorFaixa2.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0) * 60;
305
- valoresEventos.FaixaSemanal.ValorFaixa3.Horas += jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0;
306
- valoresEventos.FaixaSemanal.ValorFaixa3.Minutos += (jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0) * 60;
307
- valoresEventos.FaixaDiferenciada.ValorFaixa1.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0;
308
- valoresEventos.FaixaDiferenciada.ValorFaixa1.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0) * 60;
309
- valoresEventos.FaixaDiferenciada.ValorFaixa2.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0;
310
- valoresEventos.FaixaDiferenciada.ValorFaixa2.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0) * 60;
311
- valoresEventos.FaixaDiferenciada.ValorFaixa3.Horas += jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0;
312
- valoresEventos.FaixaDiferenciada.ValorFaixa3.Minutos += (jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0) * 60;
313
- const valorExtraIntrajornadaComReducao = (jornada.horas_extras_intrajornada ?? 0) * (horarioNoturno?.base_reducao_horario_noturno || 1);
314
- valoresEventos.ValorExtraIntrajornadaComReducao.Horas += valorExtraIntrajornadaComReducao;
315
- valoresEventos.ValorExtraIntrajornadaComReducao.Minutos += valorExtraIntrajornadaComReducao * 60;
316
- const totalMinutosFaixasJornada = (jornada.faixas_horas_extras?.semanal?.faixa1 ?? 0) +
317
- (jornada.faixas_horas_extras?.semanal?.faixa2 ?? 0) +
318
- (jornada.faixas_horas_extras?.semanal?.faixa3 ?? 0) +
319
- (jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0) +
320
- (jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0) +
321
- (jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0);
322
- if (totalMinutosFaixasJornada <= 0) {
323
- if (await (0, utils_2.feriado)({
324
- empresas: empresas,
325
- feriados: feriados,
326
- elasticClient: elasticClient,
327
- dataHoraJornada: new Date(jornada.data_hora),
328
- ufEmpresaUsuarioJornada: jornada.usuario.empresa.uf,
329
- idEmpresaUsuarioJornada: jornada.usuario.empresa.uid,
330
- cidadeEmpresaUsuarioJornada: jornada.usuario.empresa.cidade,
331
- tipoOcorrenciaFrequenciaJornadaPrevista: jornada.jornada_prevista?.ocorrencia_frequencia?.tipo ?? ''
332
- })) {
333
- valoresEventos.ValorExtraFeriado.Horas += jornada.horas_extras ?? 0;
334
- valoresEventos.ValorExtraFeriado.Minutos += (jornada.horas_extras ?? 0) * 60;
335
- valoresEventos.ValorExtraNoturnoFeriado.Horas += jornada.horas_noturnas_extras ?? 0;
336
- valoresEventos.ValorExtraNoturnoFeriado.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
337
- }
338
- else {
339
- if (jornada.data_hora && (0, utils_2.sabado)(new Date(jornada.data_hora))) {
340
- valoresEventos.ValorExtraSabado.Horas += jornada.horas_extras ?? 0;
341
- valoresEventos.ValorExtraSabado.Minutos += (jornada.horas_extras ?? 0) * 60;
342
- valoresEventos.ValorExtraNoturnoSabado.Horas += jornada.horas_noturnas_extras ?? 0;
343
- valoresEventos.ValorExtraNoturnoSabado.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
344
- }
345
- else {
346
- if (jornada.data_hora && (0, utils_2.domingo)(new Date(jornada.data_hora))) {
347
- valoresEventos.ValorExtraDomingo.Horas += jornada.horas_extras ?? 0;
348
- valoresEventos.ValorExtraDomingo.Minutos += (jornada.horas_extras ?? 0) * 60;
349
- valoresEventos.ValorExtraNoturnoDomingo.Horas += jornada.horas_noturnas_extras ?? 0;
350
- valoresEventos.ValorExtraNoturnoDomingo.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
351
- }
352
- else {
353
- valoresEventos.ValorExtraSegSex.Horas += jornada.horas_extras ?? 0;
354
- valoresEventos.ValorExtraSegSex.Minutos += (jornada.horas_extras ?? 0) * 60;
355
- valoresEventos.ValorExtraNoturnoSegSex.Horas += jornada.horas_noturnas_extras ?? 0;
356
- valoresEventos.ValorExtraNoturnoSegSex.Minutos += (jornada.horas_noturnas_extras ?? 0) * 60;
357
- }
358
- }
359
- }
360
- }
361
- }
362
- }
363
- new unificacao_eventos_repetidos_1.UnificacaoEventosRepetidos().unificarEventosComCodigosRepetidos({
364
- valoresEventos: valoresEventos,
365
- parametrosIntegracao: parametrosIntegracao ?? {}
366
- });
367
- return aplicarFatorConversaoValoresEventos(valoresEventos);
368
- }
369
- exports.calcularValoresExportacao = calcularValoresExportacao;
370
- function retornaValorEvento(tipoEvento, valoresEventos) {
371
- switch (tipoEvento) {
372
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
373
- return valoresEventos.ValorExtraNoturnoSegSex;
374
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
375
- return valoresEventos.ValorExtraNoturnoDomingo;
376
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
377
- return valoresEventos.ValorExtraNoturnoFeriado;
378
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
379
- return valoresEventos.ValorExtraNoturnoSabado;
380
- case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
381
- return valoresEventos.ValorExtraIntrajornada;
382
- case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO:
383
- return valoresEventos.ValorExtraIntrajornadaComReducao;
384
- case models_1.TipoEventoExportacao.HORAS_NOTURNAS_TOTAIS:
385
- return valoresEventos.ValorNoturnoTotal;
386
- case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
387
- return valoresEventos.ValorExtraSabado;
388
- case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
389
- return valoresEventos.ValorExtraDomingo;
390
- case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
391
- return valoresEventos.ValorExtraFeriado;
392
- case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
393
- return valoresEventos.ValorExtraSegSex;
394
- case models_1.TipoEventoExportacao.HORA_NOTURNA:
395
- return valoresEventos.ValorNoturno;
396
- case models_1.TipoEventoExportacao.HORA_NORMAL:
397
- return valoresEventos.ValorNormal;
398
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_1:
399
- return valoresEventos.FaixaSemanal.ValorFaixa1;
400
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_2:
401
- return valoresEventos.FaixaSemanal.ValorFaixa2;
402
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_3:
403
- return valoresEventos.FaixaSemanal.ValorFaixa3;
404
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_1:
405
- return valoresEventos.FaixaDiferenciada.ValorFaixa1;
406
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_2:
407
- return valoresEventos.FaixaDiferenciada.ValorFaixa2;
408
- case models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_3:
409
- return valoresEventos.FaixaDiferenciada.ValorFaixa3;
410
- case models_1.TipoEventoExportacao.HORAS_TRABALHADAS:
411
- return valoresEventos.ValorHorasTrabalhadas;
412
- case models_1.TipoEventoExportacao.ATRASO:
413
- return {
414
- Horas: Math.abs(valoresEventos.ValorAtraso.Horas),
415
- Minutos: Math.abs(valoresEventos.ValorAtraso.Minutos)
416
- };
417
- case models_1.TipoEventoExportacao.FALTA:
418
- return {
419
- Dias: Math.abs(valoresEventos.ValorFaltas.Dias),
420
- Horas: Math.abs(valoresEventos.ValorFaltas.Horas),
421
- Minutos: Math.abs(valoresEventos.ValorFaltas.Minutos)
422
- };
423
- default:
424
- return {
425
- Dias: 0,
426
- Horas: 0,
427
- Minutos: 0
428
- };
429
- }
430
- }
431
- exports.retornaValorEvento = retornaValorEvento;
432
- function processarTiposEventosExportacao(tiposEventos) {
433
- const retorno = new Array();
434
- if (tiposEventos.length <= 0) {
435
- for (const tipoEvento of Object.values(Object.freeze(models_1.TipoEventoExportacao))) {
436
- retorno.push(tipoEvento);
437
- }
438
- }
439
- else {
440
- if (tiposEventos.includes(models_1.TiposEventosExportar.FALTA)) {
441
- retorno.push(models_1.TipoEventoExportacao.FALTA);
442
- }
443
- if (tiposEventos.includes(models_1.TiposEventosExportar.ATRASO)) {
444
- retorno.push(models_1.TipoEventoExportacao.ATRASO);
445
- }
446
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_NORMAL)) {
447
- retorno.push(models_1.TipoEventoExportacao.HORA_NORMAL);
448
- }
449
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_NOTURNA)) {
450
- retorno.push(models_1.TipoEventoExportacao.HORA_NOTURNA);
451
- }
452
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SAB)) {
453
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_SAB);
454
- }
455
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_DOM)) {
456
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_DOM);
457
- }
458
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FER)) {
459
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_FER);
460
- }
461
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORAS_TRABALHADAS)) {
462
- retorno.push(models_1.TipoEventoExportacao.HORAS_TRABALHADAS);
463
- }
464
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SEG_SEX)) {
465
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX);
466
- }
467
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORAS_NOTURNAS_TOTAIS)) {
468
- retorno.push(models_1.TipoEventoExportacao.HORAS_NOTURNAS_TOTAIS);
469
- }
470
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SAB)) {
471
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB);
472
- }
473
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_DOM)) {
474
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM);
475
- }
476
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_FER)) {
477
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER);
478
- }
479
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA)) {
480
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA);
481
- }
482
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SEG_SEX)) {
483
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX);
484
- }
485
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_1)) {
486
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_1);
487
- }
488
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_2)) {
489
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_2);
490
- }
491
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_3)) {
492
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_SEMANAL_3);
493
- }
494
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_1)) {
495
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_1);
496
- }
497
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_2)) {
498
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_2);
499
- }
500
- if (tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_3)) {
501
- retorno.push(models_1.TipoEventoExportacao.FAIXA_HORA_EXTRA_DIFERENCIADA_3);
502
- }
503
- if (tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO)) {
504
- retorno.push(models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO);
505
- }
506
- }
507
- return retorno;
508
- }
509
- 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
+ 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;