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/utils.d.ts CHANGED
@@ -1,34 +1,34 @@
1
- import { Client } from '@elastic/elasticsearch';
2
- import { SearchHit } from '@elastic/elasticsearch/lib/api/types';
3
- import { EnumParametrosTipoHorarioNoturno } from 'flit-calcular-jornada/dist/lib/models/parametrosHorasNoturnas.model';
4
- export declare function arredondarTempoDecimal(tempoDecimal: number, minutosArred: number): number;
5
- export declare function colaboradorFaltou(jornadaRealizada?: any): boolean;
6
- export declare function sabado(data: Date): boolean;
7
- export declare function domingo(data: Date): boolean;
8
- export declare function feriado({ elasticClient, dataHoraJornada, empresas, feriados, idEmpresaUsuarioJornada, ufEmpresaUsuarioJornada, cidadeEmpresaUsuarioJornada, tipoOcorrenciaFrequenciaJornadaPrevista }: {
9
- elasticClient: Client;
10
- dataHoraJornada: Date;
11
- empresas: Array<SearchHit<any>>;
12
- feriados: Array<SearchHit<any>>;
13
- idEmpresaUsuarioJornada: string;
14
- ufEmpresaUsuarioJornada: string;
15
- cidadeEmpresaUsuarioJornada: string;
16
- tipoOcorrenciaFrequenciaJornadaPrevista: string;
17
- }): Promise<boolean>;
18
- export declare function retornaNumeroMinutosPrevistosEscala(periodosJornadaPrevista: any[]): number;
19
- export declare function retornaListaUsuariosJornadas(jornadas: Array<SearchHit<any>>): Array<string>;
20
- export declare function getEnumParametrosTipoHorarioNoturno(tipoHorarioNoturno?: string): EnumParametrosTipoHorarioNoturno;
21
- export declare function getDadosCadastraisExportacao({ usuarioId, empresaId, jornadas, empresas, usuarios }: {
22
- usuarioId: string;
23
- empresaId: string;
24
- jornadas: Array<SearchHit<any>>;
25
- empresas: Array<SearchHit<any>>;
26
- usuarios: Array<SearchHit<any>>;
27
- }): {
28
- cnpjEmpresa: string;
29
- nomeEmpresa: string;
30
- cpfFuncionario: string;
31
- pisFuncionario: string;
32
- codigoExternoEmpresa: string;
33
- codigoExternoFuncionario: string;
34
- };
1
+ import { Client } from '@elastic/elasticsearch';
2
+ import { SearchHit } from '@elastic/elasticsearch/lib/api/types';
3
+ import { EnumParametrosTipoHorarioNoturno } from 'flit-calcular-jornada/dist/lib/models/parametrosHorasNoturnas.model';
4
+ export declare function arredondarTempoDecimal(tempoDecimal: number, minutosArred: number): number;
5
+ export declare function colaboradorFaltou(jornadaRealizada?: any): boolean;
6
+ export declare function sabado(data: Date): boolean;
7
+ export declare function domingo(data: Date): boolean;
8
+ export declare function feriado({ elasticClient, dataHoraJornada, empresas, feriados, idEmpresaUsuarioJornada, ufEmpresaUsuarioJornada, cidadeEmpresaUsuarioJornada, tipoOcorrenciaFrequenciaJornadaPrevista }: {
9
+ elasticClient: Client;
10
+ dataHoraJornada: Date;
11
+ empresas: Array<SearchHit<any>>;
12
+ feriados: Array<SearchHit<any>>;
13
+ idEmpresaUsuarioJornada: string;
14
+ ufEmpresaUsuarioJornada: string;
15
+ cidadeEmpresaUsuarioJornada: string;
16
+ tipoOcorrenciaFrequenciaJornadaPrevista: string;
17
+ }): Promise<boolean>;
18
+ export declare function retornaNumeroMinutosPrevistosEscala(periodosJornadaPrevista: any[]): number;
19
+ export declare function retornaListaUsuariosJornadas(jornadas: Array<SearchHit<any>>): Array<string>;
20
+ export declare function getEnumParametrosTipoHorarioNoturno(tipoHorarioNoturno?: string): EnumParametrosTipoHorarioNoturno;
21
+ export declare function getDadosCadastraisExportacao({ usuarioId, empresaId, jornadas, empresas, usuarios }: {
22
+ usuarioId: string;
23
+ empresaId: string;
24
+ jornadas: Array<SearchHit<any>>;
25
+ empresas: Array<SearchHit<any>>;
26
+ usuarios: Array<SearchHit<any>>;
27
+ }): {
28
+ cnpjEmpresa: string;
29
+ nomeEmpresa: string;
30
+ cpfFuncionario: string;
31
+ pisFuncionario: string;
32
+ codigoExternoEmpresa: string;
33
+ codigoExternoFuncionario: string;
34
+ };
package/dist/utils.js CHANGED
@@ -1,276 +1,276 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getDadosCadastraisExportacao = exports.getEnumParametrosTipoHorarioNoturno = exports.retornaListaUsuariosJornadas = exports.retornaNumeroMinutosPrevistosEscala = exports.feriado = exports.domingo = exports.sabado = exports.colaboradorFaltou = exports.arredondarTempoDecimal = void 0;
7
- const moment_1 = __importDefault(require("moment"));
8
- const empresas_feriado_elastic_1 = require("./dao/empresas-feriado-elastic");
9
- const parametrosHorasNoturnas_model_1 = require("flit-calcular-jornada/dist/lib/models/parametrosHorasNoturnas.model");
10
- function arredondarTempoDecimal(tempoDecimal, minutosArred) {
11
- return (Math.round((tempoDecimal * 60) / minutosArred) * minutosArred) / 60;
12
- }
13
- exports.arredondarTempoDecimal = arredondarTempoDecimal;
14
- function colaboradorFaltou(jornadaRealizada) {
15
- const tipoOcorrencia = (jornadaRealizada?.ocorrencia_frequencia?.tipo ?? '').toLowerCase();
16
- const suspensao = (tipoOcorrencia === 'suspensão') || (tipoOcorrencia === 'suspensao');
17
- const possuiMarcacoes = (jornadaRealizada?.periodos ?? []).length > 0;
18
- return (tipoOcorrencia === 'falta') || (suspensao && (!possuiMarcacoes));
19
- }
20
- exports.colaboradorFaltou = colaboradorFaltou;
21
- function sabado(data) {
22
- return data.getDay() === 6;
23
- }
24
- exports.sabado = sabado;
25
- function domingo(data) {
26
- return data.getDay() === 0;
27
- }
28
- exports.domingo = domingo;
29
- function getDadosEmpresa({ empresas, idEmpresaUsuarioJornada, ufEmpresaUsuarioJornada, cidadeEmpresaUsuarioJornada }) {
30
- if (ufEmpresaUsuarioJornada && cidadeEmpresaUsuarioJornada) {
31
- return {
32
- id: idEmpresaUsuarioJornada ?? '',
33
- endereco: {
34
- uf: ufEmpresaUsuarioJornada ?? '',
35
- cidade: cidadeEmpresaUsuarioJornada ?? ''
36
- }
37
- };
38
- }
39
- else {
40
- const empresaFiltrada = (empresas ?? []).filter(e => e._source?.i_id === idEmpresaUsuarioJornada);
41
- if (empresaFiltrada.length > 0) {
42
- return {
43
- id: idEmpresaUsuarioJornada ?? '',
44
- endereco: {
45
- uf: empresaFiltrada[0]?._source?.endereco?.uf ?? '',
46
- cidade: empresaFiltrada[0]?._source?.endereco?.cidade ?? ''
47
- }
48
- };
49
- }
50
- else {
51
- return {
52
- id: idEmpresaUsuarioJornada ?? '',
53
- endereco: {
54
- uf: '',
55
- cidade: ''
56
- }
57
- };
58
- }
59
- }
60
- }
61
- async function feriado({ elasticClient, dataHoraJornada, empresas, feriados, idEmpresaUsuarioJornada, ufEmpresaUsuarioJornada, cidadeEmpresaUsuarioJornada, tipoOcorrenciaFrequenciaJornadaPrevista }) {
62
- if (tipoOcorrenciaFrequenciaJornadaPrevista.trim().toUpperCase() === 'FERIADO') {
63
- return true;
64
- }
65
- const dadosEmpresa = getDadosEmpresa({
66
- empresas: empresas,
67
- idEmpresaUsuarioJornada: idEmpresaUsuarioJornada,
68
- ufEmpresaUsuarioJornada: ufEmpresaUsuarioJornada,
69
- cidadeEmpresaUsuarioJornada: cidadeEmpresaUsuarioJornada,
70
- });
71
- for (const feriado of feriados) {
72
- if (feriado?._source) {
73
- const dataFeriado = new Date(feriado._source.data);
74
- const dataJornada = dataHoraJornada ?? new Date();
75
- if ((dataFeriado.getDate() === dataJornada.getDate()) && (dataFeriado.getMonth() === dataJornada.getMonth()) && (dataFeriado.getFullYear() === dataJornada.getFullYear())) {
76
- if ((feriado._source.tipo ?? '').toUpperCase() === 'NACIONAL') {
77
- return true;
78
- }
79
- else {
80
- if ((feriado._source.tipo ?? '').toUpperCase() === 'ESTADUAL') {
81
- if (!feriado._source.uf) {
82
- return true;
83
- }
84
- if (feriado._source.todas_empresas && (feriado._source.uf === dadosEmpresa.endereco.uf)) {
85
- return true;
86
- }
87
- }
88
- if ((feriado._source.tipo ?? '').toUpperCase() === 'MUNICIPAL') {
89
- if ((!feriado._source.uf) || (!feriado._source.municipio)) {
90
- return true;
91
- }
92
- if (feriado._source.todas_empresas && (feriado._source.uf === dadosEmpresa.endereco.uf) && (feriado._source.municipio === dadosEmpresa.endereco.cidade)) {
93
- return true;
94
- }
95
- }
96
- if (!feriado._source.todas_empresas) {
97
- const empresasFeriado = await new empresas_feriado_elastic_1.EmpresasFeriadoElastic(elasticClient).getEmpresasFeriadoElastic({
98
- empresaId: dadosEmpresa.id,
99
- feriadoId: feriado._source.i_id
100
- });
101
- if (empresasFeriado.length > 0) {
102
- return true;
103
- }
104
- }
105
- }
106
- }
107
- }
108
- }
109
- return false;
110
- }
111
- exports.feriado = feriado;
112
- function retornarDiferencaMinutosHorarios(dataHora1, dataHora2) {
113
- const dataHora1SemSegundos = new Date(dataHora1);
114
- dataHora1SemSegundos.setSeconds(0, 0);
115
- const dataHora2SemSegundos = new Date(dataHora2);
116
- dataHora2SemSegundos.setSeconds(0, 0);
117
- return Math.abs((dataHora1SemSegundos.getTime() - dataHora2SemSegundos.getTime()) / 60 / 1000);
118
- }
119
- function retornaNumeroMinutosPrevistosEscala(periodosJornadaPrevista) {
120
- let totalMinutosEscala = 0;
121
- let ultimaDataHora = undefined;
122
- (periodosJornadaPrevista ?? []).forEach(periodo => {
123
- if (periodo?.entrada?.hora && periodo?.saida?.hora) {
124
- let horaEntradaEscala = new Date(0, 0, 0, 0, 0, 0, 0);
125
- horaEntradaEscala.setHours(Number.parseInt(periodo.entrada.hora.split(':')[0]), Number.parseInt(periodo.entrada.hora.split(':')[1]), 0, 0);
126
- if (ultimaDataHora && horaEntradaEscala.getTime() < ultimaDataHora.getTime()) {
127
- horaEntradaEscala = (0, moment_1.default)(horaEntradaEscala).add(1, 'day').toDate();
128
- }
129
- ultimaDataHora = horaEntradaEscala;
130
- let horaSaidaEscala = new Date(horaEntradaEscala);
131
- horaSaidaEscala.setHours(Number.parseInt(periodo.saida.hora.split(':')[0]), Number.parseInt(periodo.saida.hora.split(':')[1]), 0, 0);
132
- if (horaSaidaEscala.getTime() < ultimaDataHora.getTime()) {
133
- horaSaidaEscala = (0, moment_1.default)(horaSaidaEscala).add(1, 'day').toDate();
134
- }
135
- ultimaDataHora = horaSaidaEscala;
136
- totalMinutosEscala += retornarDiferencaMinutosHorarios(horaSaidaEscala, horaEntradaEscala);
137
- }
138
- });
139
- return totalMinutosEscala ?? 0;
140
- }
141
- exports.retornaNumeroMinutosPrevistosEscala = retornaNumeroMinutosPrevistosEscala;
142
- function retornaListaUsuariosJornadas(jornadas) {
143
- const usuarios = new Array();
144
- jornadas.forEach(jornada => {
145
- if (jornada?._source?.usuario?.uid && (usuarios.indexOf(jornada._source.usuario.uid) < 0)) {
146
- usuarios.push(jornada._source.usuario.uid);
147
- }
148
- });
149
- return usuarios;
150
- }
151
- exports.retornaListaUsuariosJornadas = retornaListaUsuariosJornadas;
152
- function getEnumParametrosTipoHorarioNoturno(tipoHorarioNoturno) {
153
- switch ((tipoHorarioNoturno ?? '').toUpperCase()) {
154
- case parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.RURAL:
155
- return parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.RURAL;
156
- case parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.URBANO:
157
- return parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.URBANO;
158
- case parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.PECUARIA:
159
- return parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.PECUARIA;
160
- default:
161
- return parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.CUSTOMIZADO;
162
- }
163
- }
164
- exports.getEnumParametrosTipoHorarioNoturno = getEnumParametrosTipoHorarioNoturno;
165
- function isNullOrUndefined(dado) {
166
- return (dado === null) || (dado === undefined);
167
- }
168
- function getPISFuncionario({ jornadas, usuariosId }) {
169
- let pisFuncionario = '';
170
- if (usuariosId.length > 0) {
171
- pisFuncionario = usuariosId[0]._source.pis ?? '';
172
- }
173
- if (!pisFuncionario) {
174
- const jornadasComPIS = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.pis));
175
- if (jornadasComPIS.length > 0) {
176
- pisFuncionario = jornadasComPIS[0]._source?.usuario?.pis ?? '';
177
- }
178
- }
179
- return pisFuncionario ?? '';
180
- }
181
- function getCPFFuncionario({ jornadas, usuariosId }) {
182
- let cpfFuncionario = '';
183
- if (usuariosId.length > 0) {
184
- cpfFuncionario = usuariosId[0]._source.cpf ?? '';
185
- }
186
- if (!cpfFuncionario) {
187
- const jornadasComCPF = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.cpf));
188
- if (jornadasComCPF.length > 0) {
189
- cpfFuncionario = jornadasComCPF[0]._source?.usuario?.cpf ?? '';
190
- }
191
- }
192
- return cpfFuncionario ?? '';
193
- }
194
- function getCodigoExternoFuncionario({ jornadas, usuariosId }) {
195
- let codigoExternoFuncionario = '';
196
- if (usuariosId.length > 0) {
197
- codigoExternoFuncionario = usuariosId[0]._source?.parametros?.codigo_externo ?? '';
198
- }
199
- if (!codigoExternoFuncionario) {
200
- const jornadasComCodigoExternoFuncionario = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.parametros?.codigo_externo));
201
- if (jornadasComCodigoExternoFuncionario.length > 0) {
202
- codigoExternoFuncionario = jornadasComCodigoExternoFuncionario[0]._source?.usuario?.parametros?.codigo_externo ?? '';
203
- }
204
- }
205
- return codigoExternoFuncionario ?? '';
206
- }
207
- function getCNPJEmpresa({ jornadas, empresasId }) {
208
- let cnpjEmpresa = '';
209
- if (empresasId.length > 0) {
210
- cnpjEmpresa = empresasId[0]._source.cnpj ?? '';
211
- }
212
- if (!cnpjEmpresa) {
213
- const jornadasComCNPJ = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.cnpj));
214
- if (jornadasComCNPJ.length > 0) {
215
- cnpjEmpresa = jornadasComCNPJ[0]._source?.usuario?.empresa?.cnpj ?? '';
216
- }
217
- }
218
- return cnpjEmpresa ?? '';
219
- }
220
- function getNomeEmpresa({ jornadas, empresasId }) {
221
- let nomeEmpresa = '';
222
- if (empresasId.length > 0) {
223
- nomeEmpresa = empresasId[0]._source.razao || empresasId[0]._source.fantasia || '';
224
- }
225
- if (!nomeEmpresa) {
226
- const jornadasComNomeEmpresa = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.nome));
227
- if (jornadasComNomeEmpresa.length > 0) {
228
- nomeEmpresa = jornadasComNomeEmpresa[0]._source?.usuario?.empresa?.nome ?? '';
229
- }
230
- }
231
- return nomeEmpresa ?? '';
232
- }
233
- function getCodigoExternoEmpresa({ jornadas, empresasId }) {
234
- let codigoExternoEmpresa = '';
235
- if (empresasId.length > 0) {
236
- codigoExternoEmpresa = empresasId[0]._source?.parametros?.codigo_externo ?? '';
237
- }
238
- if (!codigoExternoEmpresa) {
239
- const jornadasComCodigoExternoEmpresa = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.parametros?.codigo_externo));
240
- if (jornadasComCodigoExternoEmpresa.length > 0) {
241
- codigoExternoEmpresa = jornadasComCodigoExternoEmpresa[0]._source?.usuario?.empresa?.parametros?.codigo_externo ?? '';
242
- }
243
- }
244
- return codigoExternoEmpresa ?? '';
245
- }
246
- function getDadosCadastraisExportacao({ usuarioId, empresaId, jornadas, empresas, usuarios }) {
247
- const usuariosId = usuarios.filter(u => (!isNullOrUndefined(u._source?.i_id)) && (u._source?.i_id === usuarioId));
248
- const empresasId = empresas.filter(e => (!isNullOrUndefined(e._source?.i_id)) && (e._source?.i_id === empresaId));
249
- return {
250
- cnpjEmpresa: getCNPJEmpresa({
251
- jornadas: jornadas,
252
- empresasId: empresasId
253
- }),
254
- nomeEmpresa: getNomeEmpresa({
255
- jornadas: jornadas,
256
- empresasId: empresasId
257
- }),
258
- cpfFuncionario: getCPFFuncionario({
259
- jornadas: jornadas,
260
- usuariosId: usuariosId
261
- }),
262
- pisFuncionario: getPISFuncionario({
263
- jornadas: jornadas,
264
- usuariosId: usuariosId
265
- }),
266
- codigoExternoEmpresa: getCodigoExternoEmpresa({
267
- jornadas: jornadas,
268
- empresasId: empresasId
269
- }),
270
- codigoExternoFuncionario: getCodigoExternoFuncionario({
271
- jornadas: jornadas,
272
- usuariosId: usuariosId
273
- })
274
- };
275
- }
276
- exports.getDadosCadastraisExportacao = getDadosCadastraisExportacao;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDadosCadastraisExportacao = exports.getEnumParametrosTipoHorarioNoturno = exports.retornaListaUsuariosJornadas = exports.retornaNumeroMinutosPrevistosEscala = exports.feriado = exports.domingo = exports.sabado = exports.colaboradorFaltou = exports.arredondarTempoDecimal = void 0;
7
+ const moment_1 = __importDefault(require("moment"));
8
+ const empresas_feriado_elastic_1 = require("./dao/empresas-feriado-elastic");
9
+ const parametrosHorasNoturnas_model_1 = require("flit-calcular-jornada/dist/lib/models/parametrosHorasNoturnas.model");
10
+ function arredondarTempoDecimal(tempoDecimal, minutosArred) {
11
+ return (Math.round((tempoDecimal * 60) / minutosArred) * minutosArred) / 60;
12
+ }
13
+ exports.arredondarTempoDecimal = arredondarTempoDecimal;
14
+ function colaboradorFaltou(jornadaRealizada) {
15
+ const tipoOcorrencia = (jornadaRealizada?.ocorrencia_frequencia?.tipo ?? '').toLowerCase();
16
+ const suspensao = (tipoOcorrencia === 'suspensão') || (tipoOcorrencia === 'suspensao');
17
+ const possuiMarcacoes = (jornadaRealizada?.periodos ?? []).length > 0;
18
+ return (tipoOcorrencia === 'falta') || (suspensao && (!possuiMarcacoes));
19
+ }
20
+ exports.colaboradorFaltou = colaboradorFaltou;
21
+ function sabado(data) {
22
+ return data.getDay() === 6;
23
+ }
24
+ exports.sabado = sabado;
25
+ function domingo(data) {
26
+ return data.getDay() === 0;
27
+ }
28
+ exports.domingo = domingo;
29
+ function getDadosEmpresa({ empresas, idEmpresaUsuarioJornada, ufEmpresaUsuarioJornada, cidadeEmpresaUsuarioJornada }) {
30
+ if (ufEmpresaUsuarioJornada && cidadeEmpresaUsuarioJornada) {
31
+ return {
32
+ id: idEmpresaUsuarioJornada ?? '',
33
+ endereco: {
34
+ uf: ufEmpresaUsuarioJornada ?? '',
35
+ cidade: cidadeEmpresaUsuarioJornada ?? ''
36
+ }
37
+ };
38
+ }
39
+ else {
40
+ const empresaFiltrada = (empresas ?? []).filter(e => e._source?.i_id === idEmpresaUsuarioJornada);
41
+ if (empresaFiltrada.length > 0) {
42
+ return {
43
+ id: idEmpresaUsuarioJornada ?? '',
44
+ endereco: {
45
+ uf: empresaFiltrada[0]?._source?.endereco?.uf ?? '',
46
+ cidade: empresaFiltrada[0]?._source?.endereco?.cidade ?? ''
47
+ }
48
+ };
49
+ }
50
+ else {
51
+ return {
52
+ id: idEmpresaUsuarioJornada ?? '',
53
+ endereco: {
54
+ uf: '',
55
+ cidade: ''
56
+ }
57
+ };
58
+ }
59
+ }
60
+ }
61
+ async function feriado({ elasticClient, dataHoraJornada, empresas, feriados, idEmpresaUsuarioJornada, ufEmpresaUsuarioJornada, cidadeEmpresaUsuarioJornada, tipoOcorrenciaFrequenciaJornadaPrevista }) {
62
+ if (tipoOcorrenciaFrequenciaJornadaPrevista.trim().toUpperCase() === 'FERIADO') {
63
+ return true;
64
+ }
65
+ const dadosEmpresa = getDadosEmpresa({
66
+ empresas: empresas,
67
+ idEmpresaUsuarioJornada: idEmpresaUsuarioJornada,
68
+ ufEmpresaUsuarioJornada: ufEmpresaUsuarioJornada,
69
+ cidadeEmpresaUsuarioJornada: cidadeEmpresaUsuarioJornada,
70
+ });
71
+ for (const feriado of feriados) {
72
+ if (feriado?._source) {
73
+ const dataFeriado = new Date(feriado._source.data);
74
+ const dataJornada = dataHoraJornada ?? new Date();
75
+ if ((dataFeriado.getDate() === dataJornada.getDate()) && (dataFeriado.getMonth() === dataJornada.getMonth()) && (dataFeriado.getFullYear() === dataJornada.getFullYear())) {
76
+ if ((feriado._source.tipo ?? '').toUpperCase() === 'NACIONAL') {
77
+ return true;
78
+ }
79
+ else {
80
+ if ((feriado._source.tipo ?? '').toUpperCase() === 'ESTADUAL') {
81
+ if (!feriado._source.uf) {
82
+ return true;
83
+ }
84
+ if (feriado._source.todas_empresas && (feriado._source.uf === dadosEmpresa.endereco.uf)) {
85
+ return true;
86
+ }
87
+ }
88
+ if ((feriado._source.tipo ?? '').toUpperCase() === 'MUNICIPAL') {
89
+ if ((!feriado._source.uf) || (!feriado._source.municipio)) {
90
+ return true;
91
+ }
92
+ if (feriado._source.todas_empresas && (feriado._source.uf === dadosEmpresa.endereco.uf) && (feriado._source.municipio === dadosEmpresa.endereco.cidade)) {
93
+ return true;
94
+ }
95
+ }
96
+ if (!feriado._source.todas_empresas) {
97
+ const empresasFeriado = await new empresas_feriado_elastic_1.EmpresasFeriadoElastic(elasticClient).getEmpresasFeriadoElastic({
98
+ empresaId: dadosEmpresa.id,
99
+ feriadoId: feriado._source.i_id
100
+ });
101
+ if (empresasFeriado.length > 0) {
102
+ return true;
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
108
+ }
109
+ return false;
110
+ }
111
+ exports.feriado = feriado;
112
+ function retornarDiferencaMinutosHorarios(dataHora1, dataHora2) {
113
+ const dataHora1SemSegundos = new Date(dataHora1);
114
+ dataHora1SemSegundos.setSeconds(0, 0);
115
+ const dataHora2SemSegundos = new Date(dataHora2);
116
+ dataHora2SemSegundos.setSeconds(0, 0);
117
+ return Math.abs((dataHora1SemSegundos.getTime() - dataHora2SemSegundos.getTime()) / 60 / 1000);
118
+ }
119
+ function retornaNumeroMinutosPrevistosEscala(periodosJornadaPrevista) {
120
+ let totalMinutosEscala = 0;
121
+ let ultimaDataHora = undefined;
122
+ (periodosJornadaPrevista ?? []).forEach(periodo => {
123
+ if (periodo?.entrada?.hora && periodo?.saida?.hora) {
124
+ let horaEntradaEscala = new Date(0, 0, 0, 0, 0, 0, 0);
125
+ horaEntradaEscala.setHours(Number.parseInt(periodo.entrada.hora.split(':')[0]), Number.parseInt(periodo.entrada.hora.split(':')[1]), 0, 0);
126
+ if (ultimaDataHora && horaEntradaEscala.getTime() < ultimaDataHora.getTime()) {
127
+ horaEntradaEscala = (0, moment_1.default)(horaEntradaEscala).add(1, 'day').toDate();
128
+ }
129
+ ultimaDataHora = horaEntradaEscala;
130
+ let horaSaidaEscala = new Date(horaEntradaEscala);
131
+ horaSaidaEscala.setHours(Number.parseInt(periodo.saida.hora.split(':')[0]), Number.parseInt(periodo.saida.hora.split(':')[1]), 0, 0);
132
+ if (horaSaidaEscala.getTime() < ultimaDataHora.getTime()) {
133
+ horaSaidaEscala = (0, moment_1.default)(horaSaidaEscala).add(1, 'day').toDate();
134
+ }
135
+ ultimaDataHora = horaSaidaEscala;
136
+ totalMinutosEscala += retornarDiferencaMinutosHorarios(horaSaidaEscala, horaEntradaEscala);
137
+ }
138
+ });
139
+ return totalMinutosEscala ?? 0;
140
+ }
141
+ exports.retornaNumeroMinutosPrevistosEscala = retornaNumeroMinutosPrevistosEscala;
142
+ function retornaListaUsuariosJornadas(jornadas) {
143
+ const usuarios = new Array();
144
+ jornadas.forEach(jornada => {
145
+ if (jornada?._source?.usuario?.uid && (usuarios.indexOf(jornada._source.usuario.uid) < 0)) {
146
+ usuarios.push(jornada._source.usuario.uid);
147
+ }
148
+ });
149
+ return usuarios;
150
+ }
151
+ exports.retornaListaUsuariosJornadas = retornaListaUsuariosJornadas;
152
+ function getEnumParametrosTipoHorarioNoturno(tipoHorarioNoturno) {
153
+ switch ((tipoHorarioNoturno ?? '').toUpperCase()) {
154
+ case parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.RURAL:
155
+ return parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.RURAL;
156
+ case parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.URBANO:
157
+ return parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.URBANO;
158
+ case parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.PECUARIA:
159
+ return parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.PECUARIA;
160
+ default:
161
+ return parametrosHorasNoturnas_model_1.EnumParametrosTipoHorarioNoturno.CUSTOMIZADO;
162
+ }
163
+ }
164
+ exports.getEnumParametrosTipoHorarioNoturno = getEnumParametrosTipoHorarioNoturno;
165
+ function isNullOrUndefined(dado) {
166
+ return (dado === null) || (dado === undefined);
167
+ }
168
+ function getPISFuncionario({ jornadas, usuariosId }) {
169
+ let pisFuncionario = '';
170
+ if (usuariosId.length > 0) {
171
+ pisFuncionario = usuariosId[0]._source.pis ?? '';
172
+ }
173
+ if (!pisFuncionario) {
174
+ const jornadasComPIS = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.pis));
175
+ if (jornadasComPIS.length > 0) {
176
+ pisFuncionario = jornadasComPIS[0]._source?.usuario?.pis ?? '';
177
+ }
178
+ }
179
+ return pisFuncionario ?? '';
180
+ }
181
+ function getCPFFuncionario({ jornadas, usuariosId }) {
182
+ let cpfFuncionario = '';
183
+ if (usuariosId.length > 0) {
184
+ cpfFuncionario = usuariosId[0]._source.cpf ?? '';
185
+ }
186
+ if (!cpfFuncionario) {
187
+ const jornadasComCPF = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.cpf));
188
+ if (jornadasComCPF.length > 0) {
189
+ cpfFuncionario = jornadasComCPF[0]._source?.usuario?.cpf ?? '';
190
+ }
191
+ }
192
+ return cpfFuncionario ?? '';
193
+ }
194
+ function getCodigoExternoFuncionario({ jornadas, usuariosId }) {
195
+ let codigoExternoFuncionario = '';
196
+ if (usuariosId.length > 0) {
197
+ codigoExternoFuncionario = usuariosId[0]._source?.parametros?.codigo_externo ?? '';
198
+ }
199
+ if (!codigoExternoFuncionario) {
200
+ const jornadasComCodigoExternoFuncionario = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.parametros?.codigo_externo));
201
+ if (jornadasComCodigoExternoFuncionario.length > 0) {
202
+ codigoExternoFuncionario = jornadasComCodigoExternoFuncionario[0]._source?.usuario?.parametros?.codigo_externo ?? '';
203
+ }
204
+ }
205
+ return codigoExternoFuncionario ?? '';
206
+ }
207
+ function getCNPJEmpresa({ jornadas, empresasId }) {
208
+ let cnpjEmpresa = '';
209
+ if (empresasId.length > 0) {
210
+ cnpjEmpresa = empresasId[0]._source.cnpj ?? '';
211
+ }
212
+ if (!cnpjEmpresa) {
213
+ const jornadasComCNPJ = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.cnpj));
214
+ if (jornadasComCNPJ.length > 0) {
215
+ cnpjEmpresa = jornadasComCNPJ[0]._source?.usuario?.empresa?.cnpj ?? '';
216
+ }
217
+ }
218
+ return cnpjEmpresa ?? '';
219
+ }
220
+ function getNomeEmpresa({ jornadas, empresasId }) {
221
+ let nomeEmpresa = '';
222
+ if (empresasId.length > 0) {
223
+ nomeEmpresa = empresasId[0]._source.razao || empresasId[0]._source.fantasia || '';
224
+ }
225
+ if (!nomeEmpresa) {
226
+ const jornadasComNomeEmpresa = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.nome));
227
+ if (jornadasComNomeEmpresa.length > 0) {
228
+ nomeEmpresa = jornadasComNomeEmpresa[0]._source?.usuario?.empresa?.nome ?? '';
229
+ }
230
+ }
231
+ return nomeEmpresa ?? '';
232
+ }
233
+ function getCodigoExternoEmpresa({ jornadas, empresasId }) {
234
+ let codigoExternoEmpresa = '';
235
+ if (empresasId.length > 0) {
236
+ codigoExternoEmpresa = empresasId[0]._source?.parametros?.codigo_externo ?? '';
237
+ }
238
+ if (!codigoExternoEmpresa) {
239
+ const jornadasComCodigoExternoEmpresa = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.parametros?.codigo_externo));
240
+ if (jornadasComCodigoExternoEmpresa.length > 0) {
241
+ codigoExternoEmpresa = jornadasComCodigoExternoEmpresa[0]._source?.usuario?.empresa?.parametros?.codigo_externo ?? '';
242
+ }
243
+ }
244
+ return codigoExternoEmpresa ?? '';
245
+ }
246
+ function getDadosCadastraisExportacao({ usuarioId, empresaId, jornadas, empresas, usuarios }) {
247
+ const usuariosId = usuarios.filter(u => (!isNullOrUndefined(u._source?.i_id)) && (u._source?.i_id === usuarioId));
248
+ const empresasId = empresas.filter(e => (!isNullOrUndefined(e._source?.i_id)) && (e._source?.i_id === empresaId));
249
+ return {
250
+ cnpjEmpresa: getCNPJEmpresa({
251
+ jornadas: jornadas,
252
+ empresasId: empresasId
253
+ }),
254
+ nomeEmpresa: getNomeEmpresa({
255
+ jornadas: jornadas,
256
+ empresasId: empresasId
257
+ }),
258
+ cpfFuncionario: getCPFFuncionario({
259
+ jornadas: jornadas,
260
+ usuariosId: usuariosId
261
+ }),
262
+ pisFuncionario: getPISFuncionario({
263
+ jornadas: jornadas,
264
+ usuariosId: usuariosId
265
+ }),
266
+ codigoExternoEmpresa: getCodigoExternoEmpresa({
267
+ jornadas: jornadas,
268
+ empresasId: empresasId
269
+ }),
270
+ codigoExternoFuncionario: getCodigoExternoFuncionario({
271
+ jornadas: jornadas,
272
+ usuariosId: usuariosId
273
+ })
274
+ };
275
+ }
276
+ exports.getDadosCadastraisExportacao = getDadosCadastraisExportacao;