flit-modulo-exportacoes 2.0.11 → 2.0.13
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/dao/contas-elastic.d.ts +6 -0
- package/dist/dao/contas-elastic.js +36 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +48 -9
- package/dist/utils.d.ts +2 -0
- package/dist/utils.js +15 -1
- package/package.json +4 -3
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ElasticBase } from './elastic-base';
|
|
2
|
+
import { SearchHit } from '@elastic/elasticsearch/lib/api/types';
|
|
3
|
+
export declare class ContasElastic extends ElasticBase {
|
|
4
|
+
private internalGetContasElastic;
|
|
5
|
+
getContaElastic(contaId: string): Promise<SearchHit<any>>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContasElastic = void 0;
|
|
4
|
+
const elastic_base_1 = require("./elastic-base");
|
|
5
|
+
class ContasElastic extends elastic_base_1.ElasticBase {
|
|
6
|
+
async internalGetContasElastic(contaId) {
|
|
7
|
+
return await this.elasticClient.search({
|
|
8
|
+
scroll: '1m',
|
|
9
|
+
index: 'contas',
|
|
10
|
+
size: this.totalRegistrosFiltradosElastic,
|
|
11
|
+
_source: [
|
|
12
|
+
'parametros.horario_noturno'
|
|
13
|
+
],
|
|
14
|
+
query: {
|
|
15
|
+
bool: {
|
|
16
|
+
must: [{
|
|
17
|
+
match: {
|
|
18
|
+
i_id: contaId
|
|
19
|
+
}
|
|
20
|
+
}, {
|
|
21
|
+
match: {
|
|
22
|
+
excluido: false
|
|
23
|
+
}
|
|
24
|
+
}]
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
sort: [{
|
|
28
|
+
i_id: 'asc'
|
|
29
|
+
}]
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
async getContaElastic(contaId) {
|
|
33
|
+
return (await this.retornaTodosDadosPaginacaoElastic(await this.internalGetContasElastic(contaId)))[0];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.ContasElastic = ContasElastic;
|
package/dist/index.d.ts
CHANGED
|
@@ -13,5 +13,9 @@ export declare function calcularValoresExportacao({ contaId, dataFinal, dataInic
|
|
|
13
13
|
jornadas: Array<SearchHit<any>>;
|
|
14
14
|
formaEnvioFaltas: EnumFormaEnvioFaltasEventosExportacoes;
|
|
15
15
|
}): Promise<ValoresEventosExportacao>;
|
|
16
|
+
export declare function aplicarFatorConversaoValoresEventos({ fatorConversao, valoresEventos }: {
|
|
17
|
+
fatorConversao: number;
|
|
18
|
+
valoresEventos: ValoresEventosExportacao;
|
|
19
|
+
}): ValoresEventosExportacao;
|
|
16
20
|
export declare function retornaValorEvento(tipoEvento: TipoEventoExportacao, valoresEventos: ValoresEventosExportacao): number;
|
|
17
21
|
export declare function processarTiposEventosExportar(tiposEventos: Array<TiposEventosExportar>): TiposEventosExportacaoArquivo;
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processarTiposEventosExportar = exports.retornaValorEvento = exports.calcularValoresExportacao = exports.validarDadosPayload = void 0;
|
|
3
|
+
exports.processarTiposEventosExportar = exports.retornaValorEvento = exports.aplicarFatorConversaoValoresEventos = exports.calcularValoresExportacao = exports.validarDadosPayload = void 0;
|
|
4
|
+
const contas_elastic_1 = require("./dao/contas-elastic");
|
|
4
5
|
const feriados_elastic_1 = require("./dao/feriados-elastic");
|
|
5
6
|
const flit_calcular_jornada_1 = require("flit-calcular-jornada");
|
|
6
7
|
const unificacao_eventos_repetidos_1 = require("./unificacao-eventos-repetidos");
|
|
7
8
|
const eventos_exportacoes_model_1 = require("./eventos-exportacoes-model");
|
|
8
|
-
const utils_1 = require("
|
|
9
|
+
const utils_1 = require("flit-calcular-jornada/dist/lib/helpers/utils");
|
|
10
|
+
const parametrosHorasNoturnas_model_1 = require("flit-calcular-jornada/dist/lib/models/parametrosHorasNoturnas.model");
|
|
9
11
|
const models_1 = require("./models");
|
|
12
|
+
const utils_2 = require("./utils");
|
|
10
13
|
function validarCampo(fn, fieldName, campo) {
|
|
11
14
|
if (!campo || campo.length <= 0) {
|
|
12
15
|
fn().push(`${fieldName} não informada.`);
|
|
@@ -26,6 +29,16 @@ async function calcularValoresExportacao({ contaId, dataFinal, dataInicial, elas
|
|
|
26
29
|
dataFinal: dataFinal,
|
|
27
30
|
dataInicial: dataInicial
|
|
28
31
|
});
|
|
32
|
+
const conta = await new contas_elastic_1.ContasElastic(elasticClient).getContaElastic(contaId);
|
|
33
|
+
let horarioNoturno = undefined;
|
|
34
|
+
if (conta?._source?.parametros?.horario_noturno) {
|
|
35
|
+
horarioNoturno = (0, utils_1.calcularConfiguracoesHorarioNoturnoJornada)(new parametrosHorasNoturnas_model_1.ParametrosHorarioNoturno({
|
|
36
|
+
fim: conta?._source?.parametros?.horario_noturno?.fim || '22:00',
|
|
37
|
+
inicio: conta?._source?.parametros?.horario_noturno?.inicio || '05:00',
|
|
38
|
+
tipo: (0, utils_2.getEnumParametrosTipoHorarioNoturno)(conta?._source?.parametros?.horario_noturno?.tipo),
|
|
39
|
+
hora_reduzida_segundos: conta?._source?.parametros?.horario_noturno?.hora_reduzida_segundos || 3600
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
29
42
|
const valoresEventos = {
|
|
30
43
|
ValorFaltas: 0,
|
|
31
44
|
ValorAtraso: 0,
|
|
@@ -58,15 +71,15 @@ async function calcularValoresExportacao({ contaId, dataFinal, dataInicial, elas
|
|
|
58
71
|
};
|
|
59
72
|
for (const jornadaElastic of jornadas) {
|
|
60
73
|
const jornada = jornadaElastic._source ?? {};
|
|
61
|
-
if ((0,
|
|
74
|
+
if ((0, utils_2.colaboradorFaltou)(jornada.jornada_realizada)) {
|
|
62
75
|
valoresEventos.datas_faltas.push(new Date(jornada.data_hora));
|
|
63
|
-
const minutosFalta = (0,
|
|
64
|
-
valoresEventos.ValorHorasFaltas += (0,
|
|
76
|
+
const minutosFalta = (0, utils_2.retornaNumeroMinutosPrevistosEscala)(jornada.jornada_prevista?.periodos ?? []);
|
|
77
|
+
valoresEventos.ValorHorasFaltas += (0, utils_2.arredondarTempoDecimal)(minutosFalta / 60, 1);
|
|
65
78
|
if (formaEnvioFaltas === eventos_exportacoes_model_1.EnumFormaEnvioFaltasEventosExportacoes.Dias) {
|
|
66
79
|
valoresEventos.ValorFaltas += 1;
|
|
67
80
|
}
|
|
68
81
|
else {
|
|
69
|
-
valoresEventos.ValorFaltas += (0,
|
|
82
|
+
valoresEventos.ValorFaltas += (0, utils_2.arredondarTempoDecimal)(minutosFalta / (formaEnvioFaltas === eventos_exportacoes_model_1.EnumFormaEnvioFaltasEventosExportacoes.Horas ? 60 : 1), 1);
|
|
70
83
|
}
|
|
71
84
|
}
|
|
72
85
|
valoresEventos.ValorNormal += jornada.horas_normais ?? 0;
|
|
@@ -83,7 +96,8 @@ async function calcularValoresExportacao({ contaId, dataFinal, dataInicial, elas
|
|
|
83
96
|
valoresEventos.FaixaDiferenciada.ValorFaixa1 += jornada.faixas_horas_extras?.diferenciada?.faixa1 ?? 0;
|
|
84
97
|
valoresEventos.FaixaDiferenciada.ValorFaixa2 += jornada.faixas_horas_extras?.diferenciada?.faixa2 ?? 0;
|
|
85
98
|
valoresEventos.FaixaDiferenciada.ValorFaixa3 += jornada.faixas_horas_extras?.diferenciada?.faixa3 ?? 0;
|
|
86
|
-
|
|
99
|
+
valoresEventos.ValorExtraIntrajornadaComReducao += (jornada.horas_extras_intrajornada ?? 0) * (horarioNoturno?.base_reducao_horario_noturno || 1);
|
|
100
|
+
if (await (0, utils_2.feriado)({
|
|
87
101
|
empresas: empresas,
|
|
88
102
|
feriados: feriados,
|
|
89
103
|
elasticClient: elasticClient,
|
|
@@ -97,12 +111,12 @@ async function calcularValoresExportacao({ contaId, dataFinal, dataInicial, elas
|
|
|
97
111
|
valoresEventos.ValorExtraNoturnoFeriado += jornada.horas_noturnas_extras ?? 0;
|
|
98
112
|
}
|
|
99
113
|
else {
|
|
100
|
-
if (jornada.data_hora && (0,
|
|
114
|
+
if (jornada.data_hora && (0, utils_2.sabado)(new Date(jornada.data_hora))) {
|
|
101
115
|
valoresEventos.ValorExtraSabado += jornada.horas_extras ?? 0;
|
|
102
116
|
valoresEventos.ValorExtraNoturnoSabado += jornada.horas_noturnas_extras ?? 0;
|
|
103
117
|
}
|
|
104
118
|
else {
|
|
105
|
-
if (jornada.data_hora && (0,
|
|
119
|
+
if (jornada.data_hora && (0, utils_2.domingo)(new Date(jornada.data_hora))) {
|
|
106
120
|
valoresEventos.ValorExtraDomingo += jornada.horas_extras ?? 0;
|
|
107
121
|
valoresEventos.ValorExtraNoturnoDomingo += jornada.horas_noturnas_extras ?? 0;
|
|
108
122
|
}
|
|
@@ -121,6 +135,31 @@ async function calcularValoresExportacao({ contaId, dataFinal, dataInicial, elas
|
|
|
121
135
|
return valoresEventos;
|
|
122
136
|
}
|
|
123
137
|
exports.calcularValoresExportacao = calcularValoresExportacao;
|
|
138
|
+
function aplicarFatorConversaoValoresEventos({ fatorConversao, valoresEventos }) {
|
|
139
|
+
return {
|
|
140
|
+
ValorFaltas: valoresEventos.ValorFaltas,
|
|
141
|
+
datas_faltas: valoresEventos.datas_faltas,
|
|
142
|
+
FaixaSemanal: valoresEventos.FaixaSemanal,
|
|
143
|
+
ValorHorasFaltas: valoresEventos.ValorHorasFaltas,
|
|
144
|
+
FaixaDiferenciada: valoresEventos.FaixaDiferenciada,
|
|
145
|
+
ValorNormal: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNormal * fatorConversao, 1),
|
|
146
|
+
ValorAtraso: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorAtraso * fatorConversao, 1),
|
|
147
|
+
ValorNoturno: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturno * fatorConversao, 1),
|
|
148
|
+
ValorExtraSegSex: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSegSex * fatorConversao, 1),
|
|
149
|
+
ValorExtraSabado: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraSabado * fatorConversao, 1),
|
|
150
|
+
ValorExtraDomingo: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraDomingo * fatorConversao, 1),
|
|
151
|
+
ValorExtraFeriado: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraFeriado * fatorConversao, 1),
|
|
152
|
+
ValorNoturnoTotal: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorNoturnoTotal * fatorConversao, 1),
|
|
153
|
+
ValorHorasTrabalhadas: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorHorasTrabalhadas * fatorConversao, 1),
|
|
154
|
+
ValorExtraIntrajornada: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornada * fatorConversao, 1),
|
|
155
|
+
ValorExtraNoturnoSegSex: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSegSex * fatorConversao, 1),
|
|
156
|
+
ValorExtraNoturnoSabado: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoSabado * fatorConversao, 1),
|
|
157
|
+
ValorExtraNoturnoDomingo: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoDomingo * fatorConversao, 1),
|
|
158
|
+
ValorExtraNoturnoFeriado: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraNoturnoFeriado * fatorConversao, 1),
|
|
159
|
+
ValorExtraIntrajornadaComReducao: (0, utils_2.arredondarTempoDecimal)(valoresEventos.ValorExtraIntrajornadaComReducao * fatorConversao, 1)
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
exports.aplicarFatorConversaoValoresEventos = aplicarFatorConversaoValoresEventos;
|
|
124
163
|
function retornaValorEvento(tipoEvento, valoresEventos) {
|
|
125
164
|
switch (tipoEvento) {
|
|
126
165
|
case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Client } from '@elastic/elasticsearch';
|
|
2
2
|
import { SearchHit } from '@elastic/elasticsearch/lib/api/types';
|
|
3
|
+
import { EnumParametrosTipoHorarioNoturno } from 'flit-calcular-jornada/dist/lib/models/parametrosHorasNoturnas.model';
|
|
3
4
|
export declare function arredondarTempoDecimal(tempoDecimal: number, minutosArred: number): number;
|
|
4
5
|
export declare function colaboradorFaltou(jornadaRealizada?: any): boolean;
|
|
5
6
|
export declare function sabado(data: Date): boolean;
|
|
@@ -16,3 +17,4 @@ export declare function feriado({ elasticClient, dataHoraJornada, empresas, feri
|
|
|
16
17
|
}): Promise<boolean>;
|
|
17
18
|
export declare function retornaNumeroMinutosPrevistosEscala(periodosJornadaPrevista: any[]): number;
|
|
18
19
|
export declare function retornaListaUsuariosJornadas(jornadas: Array<SearchHit<any>>): Array<string>;
|
|
20
|
+
export declare function getEnumParametrosTipoHorarioNoturno(tipoHorarioNoturno?: string): EnumParametrosTipoHorarioNoturno;
|
package/dist/utils.js
CHANGED
|
@@ -3,9 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.retornaListaUsuariosJornadas = exports.retornaNumeroMinutosPrevistosEscala = exports.feriado = exports.domingo = exports.sabado = exports.colaboradorFaltou = exports.arredondarTempoDecimal = void 0;
|
|
6
|
+
exports.getEnumParametrosTipoHorarioNoturno = exports.retornaListaUsuariosJornadas = exports.retornaNumeroMinutosPrevistosEscala = exports.feriado = exports.domingo = exports.sabado = exports.colaboradorFaltou = exports.arredondarTempoDecimal = void 0;
|
|
7
7
|
const moment_1 = __importDefault(require("moment"));
|
|
8
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");
|
|
9
10
|
function arredondarTempoDecimal(tempoDecimal, minutosArred) {
|
|
10
11
|
return (Math.round((tempoDecimal * 60) / minutosArred) * minutosArred) / 60;
|
|
11
12
|
}
|
|
@@ -148,3 +149,16 @@ function retornaListaUsuariosJornadas(jornadas) {
|
|
|
148
149
|
return usuarios;
|
|
149
150
|
}
|
|
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;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "flit-modulo-exportacoes",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.13",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/lib/index.js",
|
|
6
6
|
"directories": {
|
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@elastic/elasticsearch": "^8.8.1",
|
|
19
|
+
"@types/luxon": "^3.3.0",
|
|
19
20
|
"flit-calcular-jornada": "^2.1.4",
|
|
20
21
|
"prettier": "^2.8.8",
|
|
21
22
|
"tsc-alias": "^1.8.6",
|
|
22
|
-
"typescript": "^5.1.
|
|
23
|
+
"typescript": "^5.1.5"
|
|
23
24
|
},
|
|
24
25
|
"scripts": {
|
|
25
26
|
"build": "tsc --project tsconfig.json && tsc-alias -p tsconfig.json",
|
|
@@ -28,4 +29,4 @@
|
|
|
28
29
|
"version": "npm run format && git add -A lib",
|
|
29
30
|
"postversion": "git push && git push --tags"
|
|
30
31
|
}
|
|
31
|
-
}
|
|
32
|
+
}
|