flit-modulo-exportacoes 1.0.6 → 1.0.7

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.
@@ -1,39 +1,39 @@
1
- export declare enum EnumTipoEventosExportacoes {
2
- Alterdata = "ALTERDATA",
3
- Dominio = "DOMINIO",
4
- Najason = "NAJASON",
5
- Prosoft = "PROSOFT",
6
- Questor = "QUESTOR"
7
- }
8
- export declare enum EnumFormaEnvioFaltasEventosExportacoes {
9
- Minutos = "MINUTOS",
10
- Horas = "HORAS",
11
- Dias = "DIAS"
12
- }
13
- export declare type PropsCodigosEventosExportacoes<T = any> = {
14
- [Property in keyof CodigosEventosExportacoes]: T;
15
- };
16
- export interface EventosExportacoes {
17
- descricao: string;
18
- forma_envio_faltas: EnumFormaEnvioFaltasEventosExportacoes;
19
- eventos: CodigosEventosExportacoes;
20
- excluido: boolean;
21
- tipo: EnumTipoEventosExportacoes;
22
- }
23
- interface CodigosEventosExportacoes {
24
- atraso: string;
25
- falta: string;
26
- hora_normal?: string;
27
- hora_extra_domingo?: string;
28
- hora_extra_feriado: string;
29
- hora_extra_sabado?: string;
30
- hora_extra: string;
31
- hora_extra_noturna_domingo?: string;
32
- hora_extra_noturna_feriado: string;
33
- hora_extra_noturna_sabado?: string;
34
- hora_extra_noturna: string;
35
- hora_extra_intrajornada?: string;
36
- hora_noturna: string;
37
- horas_noturnas_totais?: string;
38
- }
39
- export {};
1
+ export declare enum EnumTipoEventosExportacoes {
2
+ Alterdata = "ALTERDATA",
3
+ Dominio = "DOMINIO",
4
+ Najason = "NAJASON",
5
+ Prosoft = "PROSOFT",
6
+ Questor = "QUESTOR"
7
+ }
8
+ export declare enum EnumFormaEnvioFaltasEventosExportacoes {
9
+ Minutos = "MINUTOS",
10
+ Horas = "HORAS",
11
+ Dias = "DIAS"
12
+ }
13
+ export type PropsCodigosEventosExportacoes<T = any> = {
14
+ [Property in keyof CodigosEventosExportacoes]: T;
15
+ };
16
+ export interface EventosExportacoes {
17
+ descricao: string;
18
+ forma_envio_faltas: EnumFormaEnvioFaltasEventosExportacoes;
19
+ eventos: CodigosEventosExportacoes;
20
+ excluido: boolean;
21
+ tipo: EnumTipoEventosExportacoes;
22
+ }
23
+ interface CodigosEventosExportacoes {
24
+ atraso: string;
25
+ falta: string;
26
+ hora_normal?: string;
27
+ hora_extra_domingo?: string;
28
+ hora_extra_feriado: string;
29
+ hora_extra_sabado?: string;
30
+ hora_extra: string;
31
+ hora_extra_noturna_domingo?: string;
32
+ hora_extra_noturna_feriado: string;
33
+ hora_extra_noturna_sabado?: string;
34
+ hora_extra_noturna: string;
35
+ hora_extra_intrajornada?: string;
36
+ hora_noturna: string;
37
+ horas_noturnas_totais?: string;
38
+ }
39
+ export {};
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EnumFormaEnvioFaltasEventosExportacoes = exports.EnumTipoEventosExportacoes = void 0;
4
- var EnumTipoEventosExportacoes;
5
- (function (EnumTipoEventosExportacoes) {
6
- EnumTipoEventosExportacoes["Alterdata"] = "ALTERDATA";
7
- EnumTipoEventosExportacoes["Dominio"] = "DOMINIO";
8
- EnumTipoEventosExportacoes["Najason"] = "NAJASON";
9
- EnumTipoEventosExportacoes["Prosoft"] = "PROSOFT";
10
- EnumTipoEventosExportacoes["Questor"] = "QUESTOR";
11
- })(EnumTipoEventosExportacoes = exports.EnumTipoEventosExportacoes || (exports.EnumTipoEventosExportacoes = {}));
12
- var EnumFormaEnvioFaltasEventosExportacoes;
13
- (function (EnumFormaEnvioFaltasEventosExportacoes) {
14
- EnumFormaEnvioFaltasEventosExportacoes["Minutos"] = "MINUTOS";
15
- EnumFormaEnvioFaltasEventosExportacoes["Horas"] = "HORAS";
16
- EnumFormaEnvioFaltasEventosExportacoes["Dias"] = "DIAS";
17
- })(EnumFormaEnvioFaltasEventosExportacoes = exports.EnumFormaEnvioFaltasEventosExportacoes || (exports.EnumFormaEnvioFaltasEventosExportacoes = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnumFormaEnvioFaltasEventosExportacoes = exports.EnumTipoEventosExportacoes = void 0;
4
+ var EnumTipoEventosExportacoes;
5
+ (function (EnumTipoEventosExportacoes) {
6
+ EnumTipoEventosExportacoes["Alterdata"] = "ALTERDATA";
7
+ EnumTipoEventosExportacoes["Dominio"] = "DOMINIO";
8
+ EnumTipoEventosExportacoes["Najason"] = "NAJASON";
9
+ EnumTipoEventosExportacoes["Prosoft"] = "PROSOFT";
10
+ EnumTipoEventosExportacoes["Questor"] = "QUESTOR";
11
+ })(EnumTipoEventosExportacoes = exports.EnumTipoEventosExportacoes || (exports.EnumTipoEventosExportacoes = {}));
12
+ var EnumFormaEnvioFaltasEventosExportacoes;
13
+ (function (EnumFormaEnvioFaltasEventosExportacoes) {
14
+ EnumFormaEnvioFaltasEventosExportacoes["Minutos"] = "MINUTOS";
15
+ EnumFormaEnvioFaltasEventosExportacoes["Horas"] = "HORAS";
16
+ EnumFormaEnvioFaltasEventosExportacoes["Dias"] = "DIAS";
17
+ })(EnumFormaEnvioFaltasEventosExportacoes = exports.EnumFormaEnvioFaltasEventosExportacoes || (exports.EnumFormaEnvioFaltasEventosExportacoes = {}));
package/dist/index.d.ts CHANGED
@@ -1,18 +1,19 @@
1
- import { PayloadExportacaoPadrao, TipoEventoExportacao, TiposEventosExportar, ValoresEventosExportacao } from './models';
2
- export declare function validarDadosPayload(data: PayloadExportacaoPadrao, fn: () => Array<string>): boolean;
3
- export declare function retornaValorEvento(tipoEvento: TipoEventoExportacao, valoresEventos: ValoresEventosExportacao): number;
4
- export declare function processarTiposEventosExportar(tiposEventos: Array<TiposEventosExportar>): {
5
- enviarFaltas: boolean;
6
- enviarAtrasos: boolean;
7
- enviarMinutosNoturnos: boolean;
8
- enviarMinutosExtrasSab: boolean;
9
- enviarMinutosExtrasDom: boolean;
10
- enviarMinutosExtrasFer: boolean;
11
- enviarMinutosExtrasSegSex: boolean;
12
- enviarMinutosNoturnosTotais: boolean;
13
- enviarMinutosExtrasNoturnosSab: boolean;
14
- enviarMinutosExtrasNoturnosDom: boolean;
15
- enviarMinutosExtrasNoturnosFer: boolean;
16
- enviarMinutosExtrasIntrajornada: boolean;
17
- enviarMinutosExtrasNoturnosSegSex: boolean;
18
- };
1
+ import { PayloadExportacaoPadrao, TipoEventoExportacao, TiposEventosExportar, ValoresEventosExportacao } from './models';
2
+ export declare function validarDadosPayload(data: PayloadExportacaoPadrao, fn: () => Array<string>): boolean;
3
+ export declare function retornaValorEvento(tipoEvento: TipoEventoExportacao, valoresEventos: ValoresEventosExportacao): number;
4
+ export declare function processarTiposEventosExportar(tiposEventos: Array<TiposEventosExportar>): {
5
+ enviarFaltas: boolean;
6
+ enviarAtrasos: boolean;
7
+ enviarMinutosNormais: boolean;
8
+ enviarMinutosNoturnos: boolean;
9
+ enviarMinutosExtrasSab: boolean;
10
+ enviarMinutosExtrasDom: boolean;
11
+ enviarMinutosExtrasFer: boolean;
12
+ enviarMinutosExtrasSegSex: boolean;
13
+ enviarMinutosNoturnosTotais: boolean;
14
+ enviarMinutosExtrasNoturnosSab: boolean;
15
+ enviarMinutosExtrasNoturnosDom: boolean;
16
+ enviarMinutosExtrasNoturnosFer: boolean;
17
+ enviarMinutosExtrasIntrajornada: boolean;
18
+ enviarMinutosExtrasNoturnosSegSex: boolean;
19
+ };
package/dist/index.js CHANGED
@@ -1,81 +1,85 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processarTiposEventosExportar = exports.retornaValorEvento = exports.validarDadosPayload = void 0;
4
- const models_1 = require("./models");
5
- function validarCampo(fn, fieldName, campo) {
6
- if (!campo || campo.length <= 0) {
7
- fn().push(`${fieldName} não informada.`);
8
- }
9
- }
10
- function validarDadosPayload(data, fn) {
11
- validarCampo(fn, 'Conta', data.conta_id);
12
- validarCampo(fn, 'Data final', data.data_final);
13
- validarCampo(fn, 'Data inicial', data.data_inicial);
14
- validarCampo(fn, 'Tabela de eventos', data.tabela_eventos_id);
15
- return fn().length === 0;
16
- }
17
- exports.validarDadosPayload = validarDadosPayload;
18
- function retornaValorEvento(tipoEvento, valoresEventos) {
19
- switch (tipoEvento) {
20
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
21
- return valoresEventos.MinutosExtrasNoturnosSegSex;
22
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
23
- return valoresEventos.MinutosExtrasNoturnosDomingo;
24
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
25
- return valoresEventos.MinutosExtrasNoturnosFeriado;
26
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
27
- return valoresEventos.MinutosExtrasNoturnosSabado;
28
- case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
29
- return valoresEventos.MinutosExtrasIntrajornada;
30
- case models_1.TipoEventoExportacao.HORAS_NOTURNAS_TOTAIS:
31
- return valoresEventos.MinutosNoturnosTotais;
32
- case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
33
- return valoresEventos.MinutosExtrasSabado;
34
- case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
35
- return valoresEventos.MinutosExtrasDomingo;
36
- case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
37
- return valoresEventos.MinutosExtrasFeriado;
38
- case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
39
- return valoresEventos.MinutosExtrasSegSex;
40
- case models_1.TipoEventoExportacao.HORA_NOTURNA:
41
- return valoresEventos.MinutosNoturnos;
42
- case models_1.TipoEventoExportacao.ATRASO:
43
- return Math.abs(valoresEventos.MinutosAtraso);
44
- case models_1.TipoEventoExportacao.FALTA:
45
- return Math.abs(valoresEventos.ValorFaltas);
46
- default:
47
- return 0;
48
- }
49
- }
50
- exports.retornaValorEvento = retornaValorEvento;
51
- function processarTiposEventosExportar(tiposEventos) {
52
- return {
53
- enviarFaltas: tiposEventos.length <= 0 ||
54
- tiposEventos.includes(models_1.TiposEventosExportar.FALTA),
55
- enviarAtrasos: tiposEventos.length <= 0 ||
56
- tiposEventos.includes(models_1.TiposEventosExportar.ATRASO),
57
- enviarMinutosNoturnos: tiposEventos.length <= 0 ||
58
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_NOTURNA),
59
- enviarMinutosExtrasSab: tiposEventos.length <= 0 ||
60
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SAB),
61
- enviarMinutosExtrasDom: tiposEventos.length <= 0 ||
62
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_DOM),
63
- enviarMinutosExtrasFer: tiposEventos.length <= 0 ||
64
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FER),
65
- enviarMinutosExtrasSegSex: tiposEventos.length <= 0 ||
66
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SEG_SEX),
67
- enviarMinutosNoturnosTotais: tiposEventos.length <= 0 ||
68
- tiposEventos.includes(models_1.TiposEventosExportar.HORAS_NOTURNAS_TOTAIS),
69
- enviarMinutosExtrasNoturnosSab: tiposEventos.length <= 0 ||
70
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SAB),
71
- enviarMinutosExtrasNoturnosDom: tiposEventos.length <= 0 ||
72
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_DOM),
73
- enviarMinutosExtrasNoturnosFer: tiposEventos.length <= 0 ||
74
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_FER),
75
- enviarMinutosExtrasIntrajornada: tiposEventos.length <= 0 ||
76
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA),
77
- enviarMinutosExtrasNoturnosSegSex: tiposEventos.length <= 0 ||
78
- tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SEG_SEX),
79
- };
80
- }
81
- exports.processarTiposEventosExportar = processarTiposEventosExportar;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processarTiposEventosExportar = exports.retornaValorEvento = exports.validarDadosPayload = void 0;
4
+ const models_1 = require("./models");
5
+ function validarCampo(fn, fieldName, campo) {
6
+ if (!campo || campo.length <= 0) {
7
+ fn().push(`${fieldName} não informada.`);
8
+ }
9
+ }
10
+ function validarDadosPayload(data, fn) {
11
+ validarCampo(fn, 'Conta', data.conta_id);
12
+ validarCampo(fn, 'Data final', data.data_final);
13
+ validarCampo(fn, 'Data inicial', data.data_inicial);
14
+ validarCampo(fn, 'Tabela de eventos', data.tabela_eventos_id);
15
+ return fn().length === 0;
16
+ }
17
+ exports.validarDadosPayload = validarDadosPayload;
18
+ function retornaValorEvento(tipoEvento, valoresEventos) {
19
+ switch (tipoEvento) {
20
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
21
+ return valoresEventos.MinutosExtrasNoturnosSegSex;
22
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
23
+ return valoresEventos.MinutosExtrasNoturnosDomingo;
24
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
25
+ return valoresEventos.MinutosExtrasNoturnosFeriado;
26
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
27
+ return valoresEventos.MinutosExtrasNoturnosSabado;
28
+ case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
29
+ return valoresEventos.MinutosExtrasIntrajornada;
30
+ case models_1.TipoEventoExportacao.HORAS_NOTURNAS_TOTAIS:
31
+ return valoresEventos.MinutosNoturnosTotais;
32
+ case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
33
+ return valoresEventos.MinutosExtrasSabado;
34
+ case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
35
+ return valoresEventos.MinutosExtrasDomingo;
36
+ case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
37
+ return valoresEventos.MinutosExtrasFeriado;
38
+ case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
39
+ return valoresEventos.MinutosExtrasSegSex;
40
+ case models_1.TipoEventoExportacao.HORA_NOTURNA:
41
+ return valoresEventos.MinutosNoturnos;
42
+ case models_1.TipoEventoExportacao.HORA_NORMAL:
43
+ return valoresEventos.MinutosNormais;
44
+ case models_1.TipoEventoExportacao.ATRASO:
45
+ return Math.abs(valoresEventos.MinutosAtraso);
46
+ case models_1.TipoEventoExportacao.FALTA:
47
+ return Math.abs(valoresEventos.ValorFaltas);
48
+ default:
49
+ return 0;
50
+ }
51
+ }
52
+ exports.retornaValorEvento = retornaValorEvento;
53
+ function processarTiposEventosExportar(tiposEventos) {
54
+ return {
55
+ enviarFaltas: tiposEventos.length <= 0 ||
56
+ tiposEventos.includes(models_1.TiposEventosExportar.FALTA),
57
+ enviarAtrasos: tiposEventos.length <= 0 ||
58
+ tiposEventos.includes(models_1.TiposEventosExportar.ATRASO),
59
+ enviarMinutosNormais: tiposEventos.length <= 0 ||
60
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_NORMAL),
61
+ enviarMinutosNoturnos: tiposEventos.length <= 0 ||
62
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_NOTURNA),
63
+ enviarMinutosExtrasSab: tiposEventos.length <= 0 ||
64
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SAB),
65
+ enviarMinutosExtrasDom: tiposEventos.length <= 0 ||
66
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_DOM),
67
+ enviarMinutosExtrasFer: tiposEventos.length <= 0 ||
68
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_FER),
69
+ enviarMinutosExtrasSegSex: tiposEventos.length <= 0 ||
70
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_SEG_SEX),
71
+ enviarMinutosNoturnosTotais: tiposEventos.length <= 0 ||
72
+ tiposEventos.includes(models_1.TiposEventosExportar.HORAS_NOTURNAS_TOTAIS),
73
+ enviarMinutosExtrasNoturnosSab: tiposEventos.length <= 0 ||
74
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SAB),
75
+ enviarMinutosExtrasNoturnosDom: tiposEventos.length <= 0 ||
76
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_DOM),
77
+ enviarMinutosExtrasNoturnosFer: tiposEventos.length <= 0 ||
78
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_FER),
79
+ enviarMinutosExtrasIntrajornada: tiposEventos.length <= 0 ||
80
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_INTRAJORNADA),
81
+ enviarMinutosExtrasNoturnosSegSex: tiposEventos.length <= 0 ||
82
+ tiposEventos.includes(models_1.TiposEventosExportar.HORA_EXTRA_NOTURNA_SEG_SEX),
83
+ };
84
+ }
85
+ exports.processarTiposEventosExportar = processarTiposEventosExportar;
package/dist/models.d.ts CHANGED
@@ -1,87 +1,90 @@
1
- /**
2
- * Interface com a declaração dos campos do objeto "eventos" da coleção "eventos_exportacoes".
3
- *
4
- * @interface TipoEventoExportacao
5
- */
6
- export declare enum TipoEventoExportacao {
7
- FALTA = "falta",
8
- ATRASO = "atraso",
9
- HORA_NOTURNA = "hora_noturna",
10
- HORA_EXTRA_SEG_SEX = "hora_extra",
11
- HORA_EXTRA_SAB = "hora_extra_sabado",
12
- HORA_EXTRA_DOM = "hora_extra_domingo",
13
- HORA_EXTRA_FER = "hora_extra_feriado",
14
- HORAS_NOTURNAS_TOTAIS = "horas_noturnas_totais",
15
- HORA_EXTRA_NOTURNA_SEG_SEX = "hora_extra_noturna",
16
- HORA_EXTRA_INTRAJORNADA = "hora_extra_intrajornada",
17
- HORA_EXTRA_NOTURNA_SAB = "hora_extra_noturna_sabado",
18
- HORA_EXTRA_NOTURNA_DOM = "hora_extra_noturna_domingo",
19
- HORA_EXTRA_NOTURNA_FER = "hora_extra_noturna_feriado"
20
- }
21
- /**
22
- * Interface com a declaração dos tipos de eventos de exportação que o usuário seleciona no manager.
23
- *
24
- * @interface TiposEventosExportar
25
- */
26
- export declare enum TiposEventosExportar {
27
- FALTA = "FALTA",
28
- ATRASO = "ATRASO",
29
- HORA_NOTURNA = "HORA_NOTURNA",
30
- HORA_EXTRA_SAB = "HORA_EXTRA_SAB",
31
- HORA_EXTRA_DOM = "HORA_EXTRA_DOM",
32
- HORA_EXTRA_FER = "HORA_EXTRA_FER",
33
- HORA_EXTRA_SEG_SEX = "HORA_EXTRA_SEG_SEX",
34
- HORAS_NOTURNAS_TOTAIS = "HORAS_NOTURNAS_TOTAIS",
35
- HORA_EXTRA_NOTURNA_DOM = "HORA_EXTRA_NOTURNA_DOM",
36
- HORA_EXTRA_NOTURNA_FER = "HORA_EXTRA_NOTURNA_FER",
37
- HORA_EXTRA_NOTURNA_SAB = "HORA_EXTRA_NOTURNA_SAB",
38
- HORA_EXTRA_INTRAJORNADA = "HORA_EXTRA_INTRAJORNADA",
39
- HORA_EXTRA_NOTURNA_SEG_SEX = "HORA_EXTRA_NOTURNA_SEG_SEX"
40
- }
41
- /**
42
- * Interface do modelo do payload das funções de exportação.
43
- *
44
- * @interface PayloadExportacaoPadrao
45
- */
46
- export interface PayloadExportacaoPadrao {
47
- conta_id: string;
48
- timezone?: string;
49
- data_final: string;
50
- empresa_id?: string;
51
- usuario_id?: string;
52
- data_inicial: string;
53
- tabela_eventos_id: string;
54
- tipos_eventos: Array<TiposEventosExportar>;
55
- }
56
- /**
57
- * Interface do modelo do payload das funções de exportação.
58
- *
59
- * @interface DadosEmpresaExportacao
60
- */
61
- export interface DadosEmpresaExportacao {
62
- id: string;
63
- endereco: {
64
- uf: string;
65
- cidade: string;
66
- };
67
- }
68
- /**
69
- * Interface com o modelo dos valores calculados para montar o arquivo que será exportado.
70
- *
71
- * @interface ValoresEventosExportacao
72
- */
73
- export interface ValoresEventosExportacao {
74
- ValorFaltas: number;
75
- MinutosAtraso: number;
76
- MinutosNoturnos: number;
77
- MinutosExtrasSegSex: number;
78
- MinutosExtrasSabado: number;
79
- MinutosExtrasDomingo: number;
80
- MinutosExtrasFeriado: number;
81
- MinutosNoturnosTotais: number;
82
- MinutosExtrasIntrajornada: number;
83
- MinutosExtrasNoturnosSegSex: number;
84
- MinutosExtrasNoturnosSabado: number;
85
- MinutosExtrasNoturnosDomingo: number;
86
- MinutosExtrasNoturnosFeriado: number;
87
- }
1
+ /**
2
+ * Interface com a declaração dos campos do objeto "eventos" da coleção "eventos_exportacoes".
3
+ *
4
+ * @interface TipoEventoExportacao
5
+ */
6
+ export declare enum TipoEventoExportacao {
7
+ FALTA = "falta",
8
+ ATRASO = "atraso",
9
+ HORA_NORMAL = "hora_normal",
10
+ HORA_NOTURNA = "hora_noturna",
11
+ HORA_EXTRA_SEG_SEX = "hora_extra",
12
+ HORA_EXTRA_SAB = "hora_extra_sabado",
13
+ HORA_EXTRA_DOM = "hora_extra_domingo",
14
+ HORA_EXTRA_FER = "hora_extra_feriado",
15
+ HORAS_NOTURNAS_TOTAIS = "horas_noturnas_totais",
16
+ HORA_EXTRA_NOTURNA_SEG_SEX = "hora_extra_noturna",
17
+ HORA_EXTRA_INTRAJORNADA = "hora_extra_intrajornada",
18
+ HORA_EXTRA_NOTURNA_SAB = "hora_extra_noturna_sabado",
19
+ HORA_EXTRA_NOTURNA_DOM = "hora_extra_noturna_domingo",
20
+ HORA_EXTRA_NOTURNA_FER = "hora_extra_noturna_feriado"
21
+ }
22
+ /**
23
+ * Interface com a declaração dos tipos de eventos de exportação que o usuário seleciona no manager.
24
+ *
25
+ * @interface TiposEventosExportar
26
+ */
27
+ export declare enum TiposEventosExportar {
28
+ FALTA = "FALTA",
29
+ ATRASO = "ATRASO",
30
+ HORA_NORMAL = "HORA_NORMAL",
31
+ HORA_NOTURNA = "HORA_NOTURNA",
32
+ HORA_EXTRA_SAB = "HORA_EXTRA_SAB",
33
+ HORA_EXTRA_DOM = "HORA_EXTRA_DOM",
34
+ HORA_EXTRA_FER = "HORA_EXTRA_FER",
35
+ HORA_EXTRA_SEG_SEX = "HORA_EXTRA_SEG_SEX",
36
+ HORAS_NOTURNAS_TOTAIS = "HORAS_NOTURNAS_TOTAIS",
37
+ HORA_EXTRA_NOTURNA_DOM = "HORA_EXTRA_NOTURNA_DOM",
38
+ HORA_EXTRA_NOTURNA_FER = "HORA_EXTRA_NOTURNA_FER",
39
+ HORA_EXTRA_NOTURNA_SAB = "HORA_EXTRA_NOTURNA_SAB",
40
+ HORA_EXTRA_INTRAJORNADA = "HORA_EXTRA_INTRAJORNADA",
41
+ HORA_EXTRA_NOTURNA_SEG_SEX = "HORA_EXTRA_NOTURNA_SEG_SEX"
42
+ }
43
+ /**
44
+ * Interface do modelo do payload das funções de exportação.
45
+ *
46
+ * @interface PayloadExportacaoPadrao
47
+ */
48
+ export interface PayloadExportacaoPadrao {
49
+ conta_id: string;
50
+ timezone?: string;
51
+ data_final: string;
52
+ empresa_id?: string;
53
+ usuario_id?: string;
54
+ data_inicial: string;
55
+ tabela_eventos_id: string;
56
+ tipos_eventos: Array<TiposEventosExportar>;
57
+ }
58
+ /**
59
+ * Interface do modelo do payload das funções de exportação.
60
+ *
61
+ * @interface DadosEmpresaExportacao
62
+ */
63
+ export interface DadosEmpresaExportacao {
64
+ id: string;
65
+ endereco: {
66
+ uf: string;
67
+ cidade: string;
68
+ };
69
+ }
70
+ /**
71
+ * Interface com o modelo dos valores calculados para montar o arquivo que será exportado.
72
+ *
73
+ * @interface ValoresEventosExportacao
74
+ */
75
+ export interface ValoresEventosExportacao {
76
+ ValorFaltas: number;
77
+ MinutosAtraso: number;
78
+ MinutosNormais: number;
79
+ MinutosNoturnos: number;
80
+ MinutosExtrasSegSex: number;
81
+ MinutosExtrasSabado: number;
82
+ MinutosExtrasDomingo: number;
83
+ MinutosExtrasFeriado: number;
84
+ MinutosNoturnosTotais: number;
85
+ MinutosExtrasIntrajornada: number;
86
+ MinutosExtrasNoturnosSegSex: number;
87
+ MinutosExtrasNoturnosSabado: number;
88
+ MinutosExtrasNoturnosDomingo: number;
89
+ MinutosExtrasNoturnosFeriado: number;
90
+ }
package/dist/models.js CHANGED
@@ -1,45 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TiposEventosExportar = exports.TipoEventoExportacao = void 0;
4
- /**
5
- * Interface com a declaração dos campos do objeto "eventos" da coleção "eventos_exportacoes".
6
- *
7
- * @interface TipoEventoExportacao
8
- */
9
- var TipoEventoExportacao;
10
- (function (TipoEventoExportacao) {
11
- TipoEventoExportacao["FALTA"] = "falta";
12
- TipoEventoExportacao["ATRASO"] = "atraso";
13
- TipoEventoExportacao["HORA_NOTURNA"] = "hora_noturna";
14
- TipoEventoExportacao["HORA_EXTRA_SEG_SEX"] = "hora_extra";
15
- TipoEventoExportacao["HORA_EXTRA_SAB"] = "hora_extra_sabado";
16
- TipoEventoExportacao["HORA_EXTRA_DOM"] = "hora_extra_domingo";
17
- TipoEventoExportacao["HORA_EXTRA_FER"] = "hora_extra_feriado";
18
- TipoEventoExportacao["HORAS_NOTURNAS_TOTAIS"] = "horas_noturnas_totais";
19
- TipoEventoExportacao["HORA_EXTRA_NOTURNA_SEG_SEX"] = "hora_extra_noturna";
20
- TipoEventoExportacao["HORA_EXTRA_INTRAJORNADA"] = "hora_extra_intrajornada";
21
- TipoEventoExportacao["HORA_EXTRA_NOTURNA_SAB"] = "hora_extra_noturna_sabado";
22
- TipoEventoExportacao["HORA_EXTRA_NOTURNA_DOM"] = "hora_extra_noturna_domingo";
23
- TipoEventoExportacao["HORA_EXTRA_NOTURNA_FER"] = "hora_extra_noturna_feriado";
24
- })(TipoEventoExportacao = exports.TipoEventoExportacao || (exports.TipoEventoExportacao = {}));
25
- /**
26
- * Interface com a declaração dos tipos de eventos de exportação que o usuário seleciona no manager.
27
- *
28
- * @interface TiposEventosExportar
29
- */
30
- var TiposEventosExportar;
31
- (function (TiposEventosExportar) {
32
- TiposEventosExportar["FALTA"] = "FALTA";
33
- TiposEventosExportar["ATRASO"] = "ATRASO";
34
- TiposEventosExportar["HORA_NOTURNA"] = "HORA_NOTURNA";
35
- TiposEventosExportar["HORA_EXTRA_SAB"] = "HORA_EXTRA_SAB";
36
- TiposEventosExportar["HORA_EXTRA_DOM"] = "HORA_EXTRA_DOM";
37
- TiposEventosExportar["HORA_EXTRA_FER"] = "HORA_EXTRA_FER";
38
- TiposEventosExportar["HORA_EXTRA_SEG_SEX"] = "HORA_EXTRA_SEG_SEX";
39
- TiposEventosExportar["HORAS_NOTURNAS_TOTAIS"] = "HORAS_NOTURNAS_TOTAIS";
40
- TiposEventosExportar["HORA_EXTRA_NOTURNA_DOM"] = "HORA_EXTRA_NOTURNA_DOM";
41
- TiposEventosExportar["HORA_EXTRA_NOTURNA_FER"] = "HORA_EXTRA_NOTURNA_FER";
42
- TiposEventosExportar["HORA_EXTRA_NOTURNA_SAB"] = "HORA_EXTRA_NOTURNA_SAB";
43
- TiposEventosExportar["HORA_EXTRA_INTRAJORNADA"] = "HORA_EXTRA_INTRAJORNADA";
44
- TiposEventosExportar["HORA_EXTRA_NOTURNA_SEG_SEX"] = "HORA_EXTRA_NOTURNA_SEG_SEX";
45
- })(TiposEventosExportar = exports.TiposEventosExportar || (exports.TiposEventosExportar = {}));
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TiposEventosExportar = exports.TipoEventoExportacao = void 0;
4
+ /**
5
+ * Interface com a declaração dos campos do objeto "eventos" da coleção "eventos_exportacoes".
6
+ *
7
+ * @interface TipoEventoExportacao
8
+ */
9
+ var TipoEventoExportacao;
10
+ (function (TipoEventoExportacao) {
11
+ TipoEventoExportacao["FALTA"] = "falta";
12
+ TipoEventoExportacao["ATRASO"] = "atraso";
13
+ TipoEventoExportacao["HORA_NORMAL"] = "hora_normal";
14
+ TipoEventoExportacao["HORA_NOTURNA"] = "hora_noturna";
15
+ TipoEventoExportacao["HORA_EXTRA_SEG_SEX"] = "hora_extra";
16
+ TipoEventoExportacao["HORA_EXTRA_SAB"] = "hora_extra_sabado";
17
+ TipoEventoExportacao["HORA_EXTRA_DOM"] = "hora_extra_domingo";
18
+ TipoEventoExportacao["HORA_EXTRA_FER"] = "hora_extra_feriado";
19
+ TipoEventoExportacao["HORAS_NOTURNAS_TOTAIS"] = "horas_noturnas_totais";
20
+ TipoEventoExportacao["HORA_EXTRA_NOTURNA_SEG_SEX"] = "hora_extra_noturna";
21
+ TipoEventoExportacao["HORA_EXTRA_INTRAJORNADA"] = "hora_extra_intrajornada";
22
+ TipoEventoExportacao["HORA_EXTRA_NOTURNA_SAB"] = "hora_extra_noturna_sabado";
23
+ TipoEventoExportacao["HORA_EXTRA_NOTURNA_DOM"] = "hora_extra_noturna_domingo";
24
+ TipoEventoExportacao["HORA_EXTRA_NOTURNA_FER"] = "hora_extra_noturna_feriado";
25
+ })(TipoEventoExportacao = exports.TipoEventoExportacao || (exports.TipoEventoExportacao = {}));
26
+ /**
27
+ * Interface com a declaração dos tipos de eventos de exportação que o usuário seleciona no manager.
28
+ *
29
+ * @interface TiposEventosExportar
30
+ */
31
+ var TiposEventosExportar;
32
+ (function (TiposEventosExportar) {
33
+ TiposEventosExportar["FALTA"] = "FALTA";
34
+ TiposEventosExportar["ATRASO"] = "ATRASO";
35
+ TiposEventosExportar["HORA_NORMAL"] = "HORA_NORMAL";
36
+ TiposEventosExportar["HORA_NOTURNA"] = "HORA_NOTURNA";
37
+ TiposEventosExportar["HORA_EXTRA_SAB"] = "HORA_EXTRA_SAB";
38
+ TiposEventosExportar["HORA_EXTRA_DOM"] = "HORA_EXTRA_DOM";
39
+ TiposEventosExportar["HORA_EXTRA_FER"] = "HORA_EXTRA_FER";
40
+ TiposEventosExportar["HORA_EXTRA_SEG_SEX"] = "HORA_EXTRA_SEG_SEX";
41
+ TiposEventosExportar["HORAS_NOTURNAS_TOTAIS"] = "HORAS_NOTURNAS_TOTAIS";
42
+ TiposEventosExportar["HORA_EXTRA_NOTURNA_DOM"] = "HORA_EXTRA_NOTURNA_DOM";
43
+ TiposEventosExportar["HORA_EXTRA_NOTURNA_FER"] = "HORA_EXTRA_NOTURNA_FER";
44
+ TiposEventosExportar["HORA_EXTRA_NOTURNA_SAB"] = "HORA_EXTRA_NOTURNA_SAB";
45
+ TiposEventosExportar["HORA_EXTRA_INTRAJORNADA"] = "HORA_EXTRA_INTRAJORNADA";
46
+ TiposEventosExportar["HORA_EXTRA_NOTURNA_SEG_SEX"] = "HORA_EXTRA_NOTURNA_SEG_SEX";
47
+ })(TiposEventosExportar = exports.TiposEventosExportar || (exports.TiposEventosExportar = {}));
@@ -1,10 +1,10 @@
1
- import { ValoresEventosExportacao } from './models';
2
- export declare class UnificacaoEventosRepetidos {
3
- private adicionarEvento;
4
- private agruparArray;
5
- private processarValoresCodigosRepetidos;
6
- unificarEventosComCodigosRepetidos({ parametrosIntegracao, valoresEventos, }: {
7
- parametrosIntegracao: any;
8
- valoresEventos: ValoresEventosExportacao;
9
- }): void;
10
- }
1
+ import { ValoresEventosExportacao } from './models';
2
+ export declare class UnificacaoEventosRepetidos {
3
+ private adicionarEvento;
4
+ private agruparArray;
5
+ private processarValoresCodigosRepetidos;
6
+ unificarEventosComCodigosRepetidos({ parametrosIntegracao, valoresEventos, }: {
7
+ parametrosIntegracao: any;
8
+ valoresEventos: ValoresEventosExportacao;
9
+ }): void;
10
+ }
@@ -1,156 +1,165 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnificacaoEventosRepetidos = void 0;
4
- const models_1 = require("./models");
5
- class UnificacaoEventosRepetidos {
6
- adicionarEvento({ tipoEvento, parametrosIntegracao, codigosEventos, }) {
7
- const codigoEvento = parametrosIntegracao[tipoEvento];
8
- if (codigoEvento) {
9
- codigosEventos.push({
10
- codigo: codigoEvento,
11
- tipo: tipoEvento,
12
- });
13
- }
14
- }
15
- agruparArray({ campo, array, }) {
16
- return array.reduce((acc, item) => ({
17
- ...acc,
18
- [item[campo]]: [...(acc[item[campo]] ?? []), item],
19
- }), {});
20
- }
21
- processarValoresCodigosRepetidos({ valoresEventos, eventosAgrupados, }) {
22
- let somatorio = 0;
23
- for (let index = 0; index < eventosAgrupados.length; index++) {
24
- switch (eventosAgrupados[index].tipo) {
25
- case models_1.TipoEventoExportacao.ATRASO:
26
- somatorio += valoresEventos.MinutosAtraso ?? 0;
27
- if (index > 0) {
28
- valoresEventos.MinutosAtraso = 0;
29
- }
30
- break;
31
- case models_1.TipoEventoExportacao.HORA_NOTURNA:
32
- somatorio += valoresEventos.MinutosNoturnos ?? 0;
33
- if (index > 0) {
34
- valoresEventos.MinutosNoturnos = 0;
35
- }
36
- break;
37
- case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
38
- somatorio += valoresEventos.MinutosExtrasSegSex ?? 0;
39
- if (index > 0) {
40
- valoresEventos.MinutosExtrasSegSex = 0;
41
- }
42
- break;
43
- case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
44
- somatorio += valoresEventos.MinutosExtrasSabado ?? 0;
45
- if (index > 0) {
46
- valoresEventos.MinutosExtrasSabado = 0;
47
- }
48
- break;
49
- case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
50
- somatorio += valoresEventos.MinutosExtrasDomingo ?? 0;
51
- if (index > 0) {
52
- valoresEventos.MinutosExtrasDomingo = 0;
53
- }
54
- break;
55
- case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
56
- somatorio += valoresEventos.MinutosExtrasFeriado ?? 0;
57
- if (index > 0) {
58
- valoresEventos.MinutosExtrasFeriado = 0;
59
- }
60
- break;
61
- case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
62
- somatorio += valoresEventos.MinutosExtrasIntrajornada ?? 0;
63
- if (index > 0) {
64
- valoresEventos.MinutosExtrasIntrajornada = 0;
65
- }
66
- break;
67
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
68
- somatorio += valoresEventos.MinutosExtrasNoturnosSegSex ?? 0;
69
- if (index > 0) {
70
- valoresEventos.MinutosExtrasNoturnosSegSex = 0;
71
- }
72
- break;
73
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
74
- somatorio += valoresEventos.MinutosExtrasNoturnosSabado ?? 0;
75
- if (index > 0) {
76
- valoresEventos.MinutosExtrasNoturnosSabado = 0;
77
- }
78
- break;
79
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
80
- somatorio += valoresEventos.MinutosExtrasNoturnosDomingo ?? 0;
81
- if (index > 0) {
82
- valoresEventos.MinutosExtrasNoturnosDomingo = 0;
83
- }
84
- break;
85
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
86
- somatorio += valoresEventos.MinutosExtrasNoturnosFeriado ?? 0;
87
- if (index > 0) {
88
- valoresEventos.MinutosExtrasNoturnosFeriado = 0;
89
- }
90
- break;
91
- default:
92
- break;
93
- }
94
- }
95
- switch (eventosAgrupados[0].tipo) {
96
- case models_1.TipoEventoExportacao.ATRASO:
97
- valoresEventos.MinutosAtraso = somatorio;
98
- break;
99
- case models_1.TipoEventoExportacao.HORA_NOTURNA:
100
- valoresEventos.MinutosNoturnos = somatorio;
101
- break;
102
- case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
103
- valoresEventos.MinutosExtrasSegSex = somatorio;
104
- break;
105
- case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
106
- valoresEventos.MinutosExtrasSabado = somatorio;
107
- break;
108
- case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
109
- valoresEventos.MinutosExtrasDomingo = somatorio;
110
- break;
111
- case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
112
- valoresEventos.MinutosExtrasFeriado = somatorio;
113
- break;
114
- case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
115
- valoresEventos.MinutosExtrasIntrajornada = somatorio;
116
- break;
117
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
118
- valoresEventos.MinutosExtrasNoturnosSegSex = somatorio;
119
- break;
120
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
121
- valoresEventos.MinutosExtrasNoturnosSabado = somatorio;
122
- break;
123
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
124
- valoresEventos.MinutosExtrasNoturnosDomingo = somatorio;
125
- break;
126
- case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
127
- valoresEventos.MinutosExtrasNoturnosFeriado = somatorio;
128
- break;
129
- default:
130
- break;
131
- }
132
- }
133
- unificarEventosComCodigosRepetidos({ parametrosIntegracao, valoresEventos, }) {
134
- const codigosEventos = new Array();
135
- for (const tipoEvento of Object.values(Object.freeze(models_1.TipoEventoExportacao))) {
136
- this.adicionarEvento({
137
- tipoEvento: tipoEvento,
138
- codigosEventos: codigosEventos,
139
- parametrosIntegracao: parametrosIntegracao,
140
- });
141
- }
142
- const eventosAgrupados = this.agruparArray({
143
- campo: 'codigo',
144
- array: codigosEventos,
145
- });
146
- for (const eventoAgrupado of Object.keys(eventosAgrupados)) {
147
- if (eventosAgrupados[eventoAgrupado].length > 1) {
148
- this.processarValoresCodigosRepetidos({
149
- valoresEventos: valoresEventos,
150
- eventosAgrupados: eventosAgrupados[eventoAgrupado],
151
- });
152
- }
153
- }
154
- }
155
- }
156
- exports.UnificacaoEventosRepetidos = UnificacaoEventosRepetidos;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UnificacaoEventosRepetidos = void 0;
4
+ const models_1 = require("./models");
5
+ class UnificacaoEventosRepetidos {
6
+ adicionarEvento({ tipoEvento, parametrosIntegracao, codigosEventos, }) {
7
+ const codigoEvento = parametrosIntegracao[tipoEvento];
8
+ if (codigoEvento) {
9
+ codigosEventos.push({
10
+ codigo: codigoEvento,
11
+ tipo: tipoEvento,
12
+ });
13
+ }
14
+ }
15
+ agruparArray({ campo, array, }) {
16
+ return array.reduce((acc, item) => ({
17
+ ...acc,
18
+ [item[campo]]: [...(acc[item[campo]] ?? []), item],
19
+ }), {});
20
+ }
21
+ processarValoresCodigosRepetidos({ valoresEventos, eventosAgrupados, }) {
22
+ let somatorio = 0;
23
+ for (let index = 0; index < eventosAgrupados.length; index++) {
24
+ switch (eventosAgrupados[index].tipo) {
25
+ case models_1.TipoEventoExportacao.ATRASO:
26
+ somatorio += valoresEventos.MinutosAtraso ?? 0;
27
+ if (index > 0) {
28
+ valoresEventos.MinutosAtraso = 0;
29
+ }
30
+ break;
31
+ case models_1.TipoEventoExportacao.HORA_NORMAL:
32
+ somatorio += valoresEventos.MinutosNormais ?? 0;
33
+ if (index > 0) {
34
+ valoresEventos.MinutosNormais = 0;
35
+ }
36
+ break;
37
+ case models_1.TipoEventoExportacao.HORA_NOTURNA:
38
+ somatorio += valoresEventos.MinutosNoturnos ?? 0;
39
+ if (index > 0) {
40
+ valoresEventos.MinutosNoturnos = 0;
41
+ }
42
+ break;
43
+ case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
44
+ somatorio += valoresEventos.MinutosExtrasSegSex ?? 0;
45
+ if (index > 0) {
46
+ valoresEventos.MinutosExtrasSegSex = 0;
47
+ }
48
+ break;
49
+ case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
50
+ somatorio += valoresEventos.MinutosExtrasSabado ?? 0;
51
+ if (index > 0) {
52
+ valoresEventos.MinutosExtrasSabado = 0;
53
+ }
54
+ break;
55
+ case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
56
+ somatorio += valoresEventos.MinutosExtrasDomingo ?? 0;
57
+ if (index > 0) {
58
+ valoresEventos.MinutosExtrasDomingo = 0;
59
+ }
60
+ break;
61
+ case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
62
+ somatorio += valoresEventos.MinutosExtrasFeriado ?? 0;
63
+ if (index > 0) {
64
+ valoresEventos.MinutosExtrasFeriado = 0;
65
+ }
66
+ break;
67
+ case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
68
+ somatorio += valoresEventos.MinutosExtrasIntrajornada ?? 0;
69
+ if (index > 0) {
70
+ valoresEventos.MinutosExtrasIntrajornada = 0;
71
+ }
72
+ break;
73
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
74
+ somatorio += valoresEventos.MinutosExtrasNoturnosSegSex ?? 0;
75
+ if (index > 0) {
76
+ valoresEventos.MinutosExtrasNoturnosSegSex = 0;
77
+ }
78
+ break;
79
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
80
+ somatorio += valoresEventos.MinutosExtrasNoturnosSabado ?? 0;
81
+ if (index > 0) {
82
+ valoresEventos.MinutosExtrasNoturnosSabado = 0;
83
+ }
84
+ break;
85
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
86
+ somatorio += valoresEventos.MinutosExtrasNoturnosDomingo ?? 0;
87
+ if (index > 0) {
88
+ valoresEventos.MinutosExtrasNoturnosDomingo = 0;
89
+ }
90
+ break;
91
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
92
+ somatorio += valoresEventos.MinutosExtrasNoturnosFeriado ?? 0;
93
+ if (index > 0) {
94
+ valoresEventos.MinutosExtrasNoturnosFeriado = 0;
95
+ }
96
+ break;
97
+ default:
98
+ break;
99
+ }
100
+ }
101
+ switch (eventosAgrupados[0].tipo) {
102
+ case models_1.TipoEventoExportacao.ATRASO:
103
+ valoresEventos.MinutosAtraso = somatorio;
104
+ break;
105
+ case models_1.TipoEventoExportacao.HORA_NORMAL:
106
+ valoresEventos.MinutosNormais = somatorio;
107
+ break;
108
+ case models_1.TipoEventoExportacao.HORA_NOTURNA:
109
+ valoresEventos.MinutosNoturnos = somatorio;
110
+ break;
111
+ case models_1.TipoEventoExportacao.HORA_EXTRA_SEG_SEX:
112
+ valoresEventos.MinutosExtrasSegSex = somatorio;
113
+ break;
114
+ case models_1.TipoEventoExportacao.HORA_EXTRA_SAB:
115
+ valoresEventos.MinutosExtrasSabado = somatorio;
116
+ break;
117
+ case models_1.TipoEventoExportacao.HORA_EXTRA_DOM:
118
+ valoresEventos.MinutosExtrasDomingo = somatorio;
119
+ break;
120
+ case models_1.TipoEventoExportacao.HORA_EXTRA_FER:
121
+ valoresEventos.MinutosExtrasFeriado = somatorio;
122
+ break;
123
+ case models_1.TipoEventoExportacao.HORA_EXTRA_INTRAJORNADA:
124
+ valoresEventos.MinutosExtrasIntrajornada = somatorio;
125
+ break;
126
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SEG_SEX:
127
+ valoresEventos.MinutosExtrasNoturnosSegSex = somatorio;
128
+ break;
129
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_SAB:
130
+ valoresEventos.MinutosExtrasNoturnosSabado = somatorio;
131
+ break;
132
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_DOM:
133
+ valoresEventos.MinutosExtrasNoturnosDomingo = somatorio;
134
+ break;
135
+ case models_1.TipoEventoExportacao.HORA_EXTRA_NOTURNA_FER:
136
+ valoresEventos.MinutosExtrasNoturnosFeriado = somatorio;
137
+ break;
138
+ default:
139
+ break;
140
+ }
141
+ }
142
+ unificarEventosComCodigosRepetidos({ parametrosIntegracao, valoresEventos, }) {
143
+ const codigosEventos = new Array();
144
+ for (const tipoEvento of Object.values(Object.freeze(models_1.TipoEventoExportacao))) {
145
+ this.adicionarEvento({
146
+ tipoEvento: tipoEvento,
147
+ codigosEventos: codigosEventos,
148
+ parametrosIntegracao: parametrosIntegracao,
149
+ });
150
+ }
151
+ const eventosAgrupados = this.agruparArray({
152
+ campo: 'codigo',
153
+ array: codigosEventos,
154
+ });
155
+ for (const eventoAgrupado of Object.keys(eventosAgrupados)) {
156
+ if (eventosAgrupados[eventoAgrupado].length > 1) {
157
+ this.processarValoresCodigosRepetidos({
158
+ valoresEventos: valoresEventos,
159
+ eventosAgrupados: eventosAgrupados[eventoAgrupado],
160
+ });
161
+ }
162
+ }
163
+ }
164
+ }
165
+ exports.UnificacaoEventosRepetidos = UnificacaoEventosRepetidos;
package/package.json CHANGED
@@ -1,28 +1,28 @@
1
- {
2
- "name": "flit-modulo-exportacoes",
3
- "version": "1.0.6",
4
- "description": "",
5
- "main": "dist/lib/index.js",
6
- "directories": {
7
- "lib": "lib"
8
- },
9
- "keywords": [],
10
- "author": "DirectOn Tecnologia",
11
- "license": "ISC",
12
- "types": "dist/lib/index.d.ts",
13
- "prepublish": "npm run build",
14
- "dependencies": {
15
- "tsc-alias": "^1.7.0"
16
- },
17
- "devDependencies": {
18
- "prettier": "^2.7.1",
19
- "typescript": "^4.8.4"
20
- },
21
- "scripts": {
22
- "build": "tsc --project tsconfig.json && tsc-alias -p tsconfig.json",
23
- "format": "prettier --write \"lib/**/*.ts\"",
24
- "prepare": "npm run build",
25
- "version": "npm run format && git add -A lib",
26
- "postversion": "git push && git push --tags"
27
- }
28
- }
1
+ {
2
+ "name": "flit-modulo-exportacoes",
3
+ "version": "1.0.7",
4
+ "description": "",
5
+ "main": "dist/lib/index.js",
6
+ "directories": {
7
+ "lib": "lib"
8
+ },
9
+ "keywords": [],
10
+ "author": "DirectOn Tecnologia",
11
+ "license": "ISC",
12
+ "types": "dist/lib/index.d.ts",
13
+ "prepublish": "npm run build",
14
+ "dependencies": {
15
+ "tsc-alias": "^1.8.2"
16
+ },
17
+ "devDependencies": {
18
+ "prettier": "^2.8.1",
19
+ "typescript": "^4.9.4"
20
+ },
21
+ "scripts": {
22
+ "build": "tsc --project tsconfig.json && tsc-alias -p tsconfig.json",
23
+ "format": "prettier --write \"lib/**/*.ts\"",
24
+ "prepare": "npm run build",
25
+ "version": "npm run format && git add -A lib",
26
+ "postversion": "git push && git push --tags"
27
+ }
28
+ }
package/tslint.json CHANGED
@@ -1,118 +1,118 @@
1
- {
2
- "rules": {
3
- // -- Strict errors --
4
- // These lint rules are likely always a good idea.
5
-
6
- // Force function overloads to be declared together. This ensures readers understand APIs.
7
- "adjacent-overload-signatures": true,
8
-
9
- // Do not allow the subtle/obscure comma operator.
10
- "ban-comma-operator": true,
11
-
12
- // Do not allow internal modules or namespaces . These are deprecated in favor of ES6 modules.
13
- "no-namespace": true,
14
-
15
- // Do not allow parameters to be reassigned. To avoid bugs, developers should instead assign new values to new vars.
16
- "no-parameter-reassignment": true,
17
-
18
- // Force the use of ES6-style imports instead of /// <reference path=> imports.
19
- "no-reference": true,
20
-
21
- // Do not allow type assertions that do nothing. This is a big warning that the developer may not understand the
22
- // code currently being edited (they may be incorrectly handling a different type case that does not exist).
23
- "no-unnecessary-type-assertion": true,
24
-
25
- // Disallow nonsensical label usage.
26
- "label-position": true,
27
-
28
- // Disallows the (often typo) syntax if (var1 = var2). Replace with if (var2) { var1 = var2 }.
29
- "no-conditional-assignment": true,
30
-
31
- // Disallows constructors for primitive types (e.g. new Number('123'), though Number('123') is still allowed).
32
- "no-construct": true,
33
-
34
- // Do not allow super() to be called twice in a constructor.
35
- "no-duplicate-super": true,
36
-
37
- // Do not allow the same case to appear more than once in a switch block.
38
- "no-duplicate-switch-case": true,
39
-
40
- // Do not allow a variable to be declared more than once in the same block. Consider function parameters in this
41
- // rule.
42
- "no-duplicate-variable": [true, "check-parameters"],
43
-
44
- // Disallows a variable definition in an inner scope from shadowing a variable in an outer scope. Developers should
45
- // instead use a separate variable name.
46
- "no-shadowed-variable": true,
47
-
48
- // Empty blocks are almost never needed. Allow the one general exception: empty catch blocks.
49
- "no-empty": [true, "allow-empty-catch"],
50
-
51
- // Functions must either be handled directly (e.g. with a catch() handler) or returned to another function.
52
- // This is a major source of errors in Cloud Functions and the team strongly recommends leaving this rule on.
53
- "no-floating-promises": true,
54
-
55
- // Do not allow any imports for modules that are not in package.json. These will almost certainly fail when
56
- // deployed.
57
- "no-implicit-dependencies": true,
58
-
59
- // The 'this' keyword can only be used inside of classes.
60
- "no-invalid-this": true,
61
-
62
- // Do not allow strings to be thrown because they will not include stack traces. Throw Errors instead.
63
- "no-string-throw": true,
64
-
65
- // Disallow control flow statements, such as return, continue, break, and throw in finally blocks.
66
- "no-unsafe-finally": true,
67
-
68
- // Do not allow variables to be used before they are declared.
69
- "no-use-before-declare": true,
70
-
71
- // Expressions must always return a value. Avoids common errors like const myValue = functionReturningVoid();
72
- "no-void-expression": [true, "ignore-arrow-function-shorthand"],
73
-
74
- // Disallow duplicate imports in the same file.
75
- "no-duplicate-imports": true,
76
-
77
-
78
- // -- Strong Warnings --
79
- // These rules should almost never be needed, but may be included due to legacy code.
80
- // They are left as a warning to avoid frustration with blocked deploys when the developer
81
- // understand the warning and wants to deploy anyway.
82
-
83
- // Warn when an empty interface is defined. These are generally not useful.
84
- "no-empty-interface": {"severity": "warning"},
85
-
86
- // Warn when an import will have side effects.
87
- "no-import-side-effect": {"severity": "warning"},
88
-
89
- // Warn when variables are defined with var. Var has subtle meaning that can lead to bugs. Strongly prefer const for
90
- // most values and let for values that will change.
91
- "no-var-keyword": {"severity": "warning"},
92
-
93
- // Prefer === and !== over == and !=. The latter operators support overloads that are often accidental.
94
- "triple-equals": {"severity": "warning"},
95
-
96
- // Warn when using deprecated APIs.
97
- "deprecation": {"severity": "warning"},
98
-
99
- // -- Light Warnings --
100
- // These rules are intended to help developers use better style. Simpler code has fewer bugs. These would be "info"
101
- // if TSLint supported such a level.
102
-
103
- // prefer for( ... of ... ) to an index loop when the index is only used to fetch an object from an array.
104
- // (Even better: check out utils like .map if transforming an array!)
105
- "prefer-for-of": {"severity": "warning"},
106
-
107
- // Warns if function overloads could be unified into a single function with optional or rest parameters.
108
- "unified-signatures": {"severity": "warning"},
109
-
110
- // Prefer const for values that will not change. This better documents code.
111
- "prefer-const": {"severity": "warning"},
112
-
113
- // Multi-line object literals and function calls should have a trailing comma. This helps avoid merge conflicts.
114
- "trailing-comma": {"severity": "warning"}
115
- },
116
-
117
- "defaultSeverity": "error"
118
- }
1
+ {
2
+ "rules": {
3
+ // -- Strict errors --
4
+ // These lint rules are likely always a good idea.
5
+
6
+ // Force function overloads to be declared together. This ensures readers understand APIs.
7
+ "adjacent-overload-signatures": true,
8
+
9
+ // Do not allow the subtle/obscure comma operator.
10
+ "ban-comma-operator": true,
11
+
12
+ // Do not allow internal modules or namespaces . These are deprecated in favor of ES6 modules.
13
+ "no-namespace": true,
14
+
15
+ // Do not allow parameters to be reassigned. To avoid bugs, developers should instead assign new values to new vars.
16
+ "no-parameter-reassignment": true,
17
+
18
+ // Force the use of ES6-style imports instead of /// <reference path=> imports.
19
+ "no-reference": true,
20
+
21
+ // Do not allow type assertions that do nothing. This is a big warning that the developer may not understand the
22
+ // code currently being edited (they may be incorrectly handling a different type case that does not exist).
23
+ "no-unnecessary-type-assertion": true,
24
+
25
+ // Disallow nonsensical label usage.
26
+ "label-position": true,
27
+
28
+ // Disallows the (often typo) syntax if (var1 = var2). Replace with if (var2) { var1 = var2 }.
29
+ "no-conditional-assignment": true,
30
+
31
+ // Disallows constructors for primitive types (e.g. new Number('123'), though Number('123') is still allowed).
32
+ "no-construct": true,
33
+
34
+ // Do not allow super() to be called twice in a constructor.
35
+ "no-duplicate-super": true,
36
+
37
+ // Do not allow the same case to appear more than once in a switch block.
38
+ "no-duplicate-switch-case": true,
39
+
40
+ // Do not allow a variable to be declared more than once in the same block. Consider function parameters in this
41
+ // rule.
42
+ "no-duplicate-variable": [true, "check-parameters"],
43
+
44
+ // Disallows a variable definition in an inner scope from shadowing a variable in an outer scope. Developers should
45
+ // instead use a separate variable name.
46
+ "no-shadowed-variable": true,
47
+
48
+ // Empty blocks are almost never needed. Allow the one general exception: empty catch blocks.
49
+ "no-empty": [true, "allow-empty-catch"],
50
+
51
+ // Functions must either be handled directly (e.g. with a catch() handler) or returned to another function.
52
+ // This is a major source of errors in Cloud Functions and the team strongly recommends leaving this rule on.
53
+ "no-floating-promises": true,
54
+
55
+ // Do not allow any imports for modules that are not in package.json. These will almost certainly fail when
56
+ // deployed.
57
+ "no-implicit-dependencies": true,
58
+
59
+ // The 'this' keyword can only be used inside of classes.
60
+ "no-invalid-this": true,
61
+
62
+ // Do not allow strings to be thrown because they will not include stack traces. Throw Errors instead.
63
+ "no-string-throw": true,
64
+
65
+ // Disallow control flow statements, such as return, continue, break, and throw in finally blocks.
66
+ "no-unsafe-finally": true,
67
+
68
+ // Do not allow variables to be used before they are declared.
69
+ "no-use-before-declare": true,
70
+
71
+ // Expressions must always return a value. Avoids common errors like const myValue = functionReturningVoid();
72
+ "no-void-expression": [true, "ignore-arrow-function-shorthand"],
73
+
74
+ // Disallow duplicate imports in the same file.
75
+ "no-duplicate-imports": true,
76
+
77
+
78
+ // -- Strong Warnings --
79
+ // These rules should almost never be needed, but may be included due to legacy code.
80
+ // They are left as a warning to avoid frustration with blocked deploys when the developer
81
+ // understand the warning and wants to deploy anyway.
82
+
83
+ // Warn when an empty interface is defined. These are generally not useful.
84
+ "no-empty-interface": {"severity": "warning"},
85
+
86
+ // Warn when an import will have side effects.
87
+ "no-import-side-effect": {"severity": "warning"},
88
+
89
+ // Warn when variables are defined with var. Var has subtle meaning that can lead to bugs. Strongly prefer const for
90
+ // most values and let for values that will change.
91
+ "no-var-keyword": {"severity": "warning"},
92
+
93
+ // Prefer === and !== over == and !=. The latter operators support overloads that are often accidental.
94
+ "triple-equals": {"severity": "warning"},
95
+
96
+ // Warn when using deprecated APIs.
97
+ "deprecation": {"severity": "warning"},
98
+
99
+ // -- Light Warnings --
100
+ // These rules are intended to help developers use better style. Simpler code has fewer bugs. These would be "info"
101
+ // if TSLint supported such a level.
102
+
103
+ // prefer for( ... of ... ) to an index loop when the index is only used to fetch an object from an array.
104
+ // (Even better: check out utils like .map if transforming an array!)
105
+ "prefer-for-of": {"severity": "warning"},
106
+
107
+ // Warns if function overloads could be unified into a single function with optional or rest parameters.
108
+ "unified-signatures": {"severity": "warning"},
109
+
110
+ // Prefer const for values that will not change. This better documents code.
111
+ "prefer-const": {"severity": "warning"},
112
+
113
+ // Multi-line object literals and function calls should have a trailing comma. This helps avoid merge conflicts.
114
+ "trailing-comma": {"severity": "warning"}
115
+ },
116
+
117
+ "defaultSeverity": "error"
118
+ }