flit-modulo-exportacoes 2.0.31 → 2.0.33

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,458 +1,458 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processarTiposEventosExportar = 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 processarTiposEventosExportar(tiposEventos) {
433
- return {
434
- enviarFaltas: (tiposEventos.length <= 0) || tiposEventos.includes(models_1.TiposEventosExportar.FALTA),
435
- enviarAtrasos: (tiposEventos.length <= 0) || tiposEventos.includes(models_1.TiposEventosExportar.ATRASO),
436
- enviarMinutosNormais: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_NORMAL),
437
- enviarMinutosNoturnos: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_NOTURNA),
438
- enviarMinutosExtrasSab: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SAB),
439
- enviarMinutosExtrasDom: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_DOM),
440
- enviarMinutosExtrasFer: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FER),
441
- enviarMinutosTrabalhados: (tiposEventos.length <= 0) || tiposEventos.includes(models_1.TiposEventosExportar.HORAS_TRABALHADAS),
442
- enviarMinutosExtrasSegSex: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SEG_SEX),
443
- enviarMinutosNoturnosTotais: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORAS_NOTURNAS_TOTAIS),
444
- enviarMinutosFaixaSemanal1: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_1),
445
- enviarMinutosFaixaSemanal2: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_2),
446
- enviarMinutosFaixaSemanal3: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_3),
447
- enviarMinutosExtrasNoturnosSab: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SAB),
448
- enviarMinutosExtrasNoturnosDom: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_DOM),
449
- enviarMinutosExtrasNoturnosFer: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_FER),
450
- enviarMinutosExtrasIntrajornada: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA),
451
- enviarMinutosExtrasNoturnosSegSex: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SEG_SEX),
452
- enviarMinutosFaixaDiferenciada1: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_1),
453
- enviarMinutosFaixaDiferenciada2: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_2),
454
- enviarMinutosFaixaDiferenciada3: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_3),
455
- enviarMinutosExtrasIntrajornadaComReducao: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO)
456
- };
457
- }
458
- exports.processarTiposEventosExportar = processarTiposEventosExportar;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processarTiposEventosExportar = 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 processarTiposEventosExportar(tiposEventos) {
433
+ return {
434
+ enviarFaltas: (tiposEventos.length <= 0) || tiposEventos.includes(models_1.TiposEventosExportar.FALTA),
435
+ enviarAtrasos: (tiposEventos.length <= 0) || tiposEventos.includes(models_1.TiposEventosExportar.ATRASO),
436
+ enviarMinutosNormais: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_NORMAL),
437
+ enviarMinutosNoturnos: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_NOTURNA),
438
+ enviarMinutosExtrasSab: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SAB),
439
+ enviarMinutosExtrasDom: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_DOM),
440
+ enviarMinutosExtrasFer: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FER),
441
+ enviarMinutosTrabalhados: (tiposEventos.length <= 0) || tiposEventos.includes(models_1.TiposEventosExportar.HORAS_TRABALHADAS),
442
+ enviarMinutosExtrasSegSex: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SEG_SEX),
443
+ enviarMinutosNoturnosTotais: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORAS_NOTURNAS_TOTAIS),
444
+ enviarMinutosFaixaSemanal1: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_1),
445
+ enviarMinutosFaixaSemanal2: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_2),
446
+ enviarMinutosFaixaSemanal3: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_SEMANAL_3),
447
+ enviarMinutosExtrasNoturnosSab: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SAB),
448
+ enviarMinutosExtrasNoturnosDom: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_DOM),
449
+ enviarMinutosExtrasNoturnosFer: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_FER),
450
+ enviarMinutosExtrasIntrajornada: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA),
451
+ enviarMinutosExtrasNoturnosSegSex: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SEG_SEX),
452
+ enviarMinutosFaixaDiferenciada1: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_1),
453
+ enviarMinutosFaixaDiferenciada2: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_2),
454
+ enviarMinutosFaixaDiferenciada3: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.FAIXA_HORA_EXTRA_DIFERENCIADA_3),
455
+ enviarMinutosExtrasIntrajornadaComReducao: (tiposEventos.length) <= 0 || tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA_COM_REDUCAO)
456
+ };
457
+ }
458
+ exports.processarTiposEventosExportar = processarTiposEventosExportar;