flit-modulo-exportacoes 2.0.38 → 2.0.40

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,244 +1,244 @@
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 getDadosCadastraisExportacao({ usuarioId, empresaId, jornadas, empresas, usuarios }) {
169
- let pisFuncionario = '';
170
- const jornadasComPIS = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.pis));
171
- if (jornadasComPIS.length > 0) {
172
- pisFuncionario = jornadasComPIS[0]._source?.usuario?.pis;
173
- }
174
- if (!pisFuncionario) {
175
- const usuariosId = usuarios.filter(u => u._source?.i_id === usuarioId);
176
- if (usuariosId.length > 0) {
177
- pisFuncionario = usuariosId[0]._source.pis ?? '';
178
- }
179
- }
180
- let cpfFuncionario = '';
181
- const jornadasComCPF = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.cpf));
182
- if (jornadasComCPF.length > 0) {
183
- cpfFuncionario = jornadasComCPF[0]._source?.usuario?.cpf;
184
- }
185
- if (!cpfFuncionario) {
186
- const usuariosId = usuarios.filter(u => u._source?.i_id === usuarioId);
187
- if (usuariosId.length > 0) {
188
- cpfFuncionario = usuariosId[0]._source.cpf ?? '';
189
- }
190
- }
191
- let codigoExternoFuncionario = '';
192
- const jornadasComCodigoExternoFuncionario = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.parametros?.codigo_externo));
193
- if (jornadasComCodigoExternoFuncionario.length > 0) {
194
- codigoExternoFuncionario = jornadasComCodigoExternoFuncionario[0]._source?.usuario?.parametros?.codigo_externo;
195
- }
196
- if (!codigoExternoFuncionario) {
197
- const usuariosId = usuarios.filter(u => u._source?.i_id === usuarioId);
198
- if (usuariosId.length > 0) {
199
- codigoExternoFuncionario = usuariosId[0]._source?.parametros?.codigo_externo ?? '';
200
- }
201
- }
202
- let cnpjEmpresa = '';
203
- const jornadasComCNPJ = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.cnpj));
204
- if (jornadasComCNPJ.length > 0) {
205
- cnpjEmpresa = jornadasComCNPJ[0]._source?.usuario?.empresa?.cnpj;
206
- }
207
- if (!cnpjEmpresa) {
208
- const empresasId = empresas.filter(e => e._source?.i_id === empresaId);
209
- if (empresasId.length > 0) {
210
- cnpjEmpresa = empresasId[0]._source.cnpj ?? '';
211
- }
212
- }
213
- let nomeEmpresa = '';
214
- const jornadasComNomeEmpresa = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.nome));
215
- if (jornadasComNomeEmpresa.length > 0) {
216
- nomeEmpresa = jornadasComNomeEmpresa[0]._source?.usuario?.empresa?.nome;
217
- }
218
- if (!nomeEmpresa) {
219
- const empresasId = empresas.filter(e => e._source?.i_id === empresaId);
220
- if (empresasId.length > 0) {
221
- nomeEmpresa = empresasId[0]._source.razao || empresasId[0]._source.fantasia || '';
222
- }
223
- }
224
- let codigoExternoEmpresa = '';
225
- const jornadasComCodigoExternoEmpresa = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.parametros?.codigo_externo));
226
- if (jornadasComCodigoExternoEmpresa.length > 0) {
227
- codigoExternoEmpresa = jornadasComCodigoExternoEmpresa[0]._source?.usuario?.empresa?.parametros?.codigo_externo;
228
- }
229
- if (!codigoExternoEmpresa) {
230
- const empresasId = empresas.filter(e => e._source?.i_id === empresaId);
231
- if (empresasId.length > 0) {
232
- codigoExternoEmpresa = empresasId[0]._source?.parametros?.codigo_externo ?? '';
233
- }
234
- }
235
- return {
236
- cnpjEmpresa: cnpjEmpresa,
237
- nomeEmpresa: nomeEmpresa,
238
- cpfFuncionario: cpfFuncionario,
239
- pisFuncionario: pisFuncionario,
240
- codigoExternoEmpresa: codigoExternoEmpresa,
241
- codigoExternoFuncionario: codigoExternoFuncionario
242
- };
243
- }
244
- 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 getDadosCadastraisExportacao({ usuarioId, empresaId, jornadas, empresas, usuarios }) {
169
+ let pisFuncionario = '';
170
+ const jornadasComPIS = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.pis));
171
+ if (jornadasComPIS.length > 0) {
172
+ pisFuncionario = jornadasComPIS[0]._source?.usuario?.pis;
173
+ }
174
+ if (!pisFuncionario) {
175
+ const usuariosId = usuarios.filter(u => u._source?.i_id === usuarioId);
176
+ if (usuariosId.length > 0) {
177
+ pisFuncionario = usuariosId[0]._source.pis ?? '';
178
+ }
179
+ }
180
+ let cpfFuncionario = '';
181
+ const jornadasComCPF = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.cpf));
182
+ if (jornadasComCPF.length > 0) {
183
+ cpfFuncionario = jornadasComCPF[0]._source?.usuario?.cpf;
184
+ }
185
+ if (!cpfFuncionario) {
186
+ const usuariosId = usuarios.filter(u => u._source?.i_id === usuarioId);
187
+ if (usuariosId.length > 0) {
188
+ cpfFuncionario = usuariosId[0]._source.cpf ?? '';
189
+ }
190
+ }
191
+ let codigoExternoFuncionario = '';
192
+ const jornadasComCodigoExternoFuncionario = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.parametros?.codigo_externo));
193
+ if (jornadasComCodigoExternoFuncionario.length > 0) {
194
+ codigoExternoFuncionario = jornadasComCodigoExternoFuncionario[0]._source?.usuario?.parametros?.codigo_externo;
195
+ }
196
+ if (!codigoExternoFuncionario) {
197
+ const usuariosId = usuarios.filter(u => u._source?.i_id === usuarioId);
198
+ if (usuariosId.length > 0) {
199
+ codigoExternoFuncionario = usuariosId[0]._source?.parametros?.codigo_externo ?? '';
200
+ }
201
+ }
202
+ let cnpjEmpresa = '';
203
+ const jornadasComCNPJ = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.cnpj));
204
+ if (jornadasComCNPJ.length > 0) {
205
+ cnpjEmpresa = jornadasComCNPJ[0]._source?.usuario?.empresa?.cnpj;
206
+ }
207
+ if (!cnpjEmpresa) {
208
+ const empresasId = empresas.filter(e => e._source?.i_id === empresaId);
209
+ if (empresasId.length > 0) {
210
+ cnpjEmpresa = empresasId[0]._source.cnpj ?? '';
211
+ }
212
+ }
213
+ let nomeEmpresa = '';
214
+ const jornadasComNomeEmpresa = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.nome));
215
+ if (jornadasComNomeEmpresa.length > 0) {
216
+ nomeEmpresa = jornadasComNomeEmpresa[0]._source?.usuario?.empresa?.nome;
217
+ }
218
+ if (!nomeEmpresa) {
219
+ const empresasId = empresas.filter(e => e._source?.i_id === empresaId);
220
+ if (empresasId.length > 0) {
221
+ nomeEmpresa = empresasId[0]._source.razao || empresasId[0]._source.fantasia || '';
222
+ }
223
+ }
224
+ let codigoExternoEmpresa = '';
225
+ const jornadasComCodigoExternoEmpresa = jornadas.filter(jornada => !isNullOrUndefined(jornada?._source?.usuario?.empresa?.parametros?.codigo_externo));
226
+ if (jornadasComCodigoExternoEmpresa.length > 0) {
227
+ codigoExternoEmpresa = jornadasComCodigoExternoEmpresa[0]._source?.usuario?.empresa?.parametros?.codigo_externo;
228
+ }
229
+ if (!codigoExternoEmpresa) {
230
+ const empresasId = empresas.filter(e => e._source?.i_id === empresaId);
231
+ if (empresasId.length > 0) {
232
+ codigoExternoEmpresa = empresasId[0]._source?.parametros?.codigo_externo ?? '';
233
+ }
234
+ }
235
+ return {
236
+ cnpjEmpresa: cnpjEmpresa,
237
+ nomeEmpresa: nomeEmpresa,
238
+ cpfFuncionario: cpfFuncionario,
239
+ pisFuncionario: pisFuncionario,
240
+ codigoExternoEmpresa: codigoExternoEmpresa,
241
+ codigoExternoFuncionario: codigoExternoFuncionario
242
+ };
243
+ }
244
+ exports.getDadosCadastraisExportacao = getDadosCadastraisExportacao;
package/package.json CHANGED
@@ -1,32 +1,32 @@
1
- {
2
- "name": "flit-modulo-exportacoes",
3
- "version": "2.0.38",
4
- "description": "",
5
- "main": "dist/index.js",
6
- "directories": {
7
- "lib": "lib"
8
- },
9
- "keywords": [],
10
- "author": "DirectOn Tecnologia",
11
- "license": "ISC",
12
- "types": "dist/index.d.ts",
13
- "prepublish": "npm run build",
14
- "dependencies": {
15
- "moment": "^2.29.4"
16
- },
17
- "devDependencies": {
18
- "@elastic/elasticsearch": "^8.10.0",
19
- "@types/luxon": "^3.3.2",
20
- "flit-calcular-jornada": "^2.1.20",
21
- "prettier": "^3.0.3",
22
- "tsc-alias": "^1.8.8",
23
- "typescript": "^4.9.5"
24
- },
25
- "scripts": {
26
- "build": "tsc --project tsconfig.json && tsc-alias -p tsconfig.json",
27
- "format": "prettier --write \"lib/**/*.ts\"",
28
- "prepare": "npm run build",
29
- "version": "npm run format && git add -A lib",
30
- "postversion": "git push && git push --tags"
31
- }
32
- }
1
+ {
2
+ "name": "flit-modulo-exportacoes",
3
+ "version": "2.0.40",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "directories": {
7
+ "lib": "lib"
8
+ },
9
+ "keywords": [],
10
+ "author": "DirectOn Tecnologia",
11
+ "license": "ISC",
12
+ "types": "dist/index.d.ts",
13
+ "prepublish": "npm run build",
14
+ "dependencies": {
15
+ "moment": "^2.29.4"
16
+ },
17
+ "devDependencies": {
18
+ "@elastic/elasticsearch": "^8.10.0",
19
+ "@types/luxon": "^3.3.2",
20
+ "flit-calcular-jornada": "^2.1.20",
21
+ "prettier": "^3.0.3",
22
+ "tsc-alias": "^1.8.8",
23
+ "typescript": "^4.9.5"
24
+ },
25
+ "scripts": {
26
+ "build": "tsc --project tsconfig.json && tsc-alias -p tsconfig.json",
27
+ "format": "prettier --write \"lib/**/*.ts\"",
28
+ "prepare": "npm run build",
29
+ "version": "npm run format && git add -A lib",
30
+ "postversion": "git push && git push --tags"
31
+ }
32
+ }