hcm-clocking-event-rule-nodejs 0.27.0 → 0.28.0
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/data/schedules/compensation.d.ts +243 -0
- package/data/schedules/compensation.js +275 -0
- package/data/schedules/compensation.js.map +1 -0
- package/data/schedules/overtimeAuthorization.d.ts +128 -0
- package/data/schedules/overtimeAuthorization.js +130 -0
- package/data/schedules/overtimeAuthorization.js.map +1 -0
- package/data/schedules/schedules.d.ts +90 -4
- package/data/schedules/schedules.js +118 -9
- package/data/schedules/schedules.js.map +1 -1
- package/data/timeEvaluation.d.ts +48 -0
- package/data/timeEvaluation.js +50 -0
- package/data/timeEvaluation.js.map +1 -1
- package/docs.zip +0 -0
- package/index.d.ts +4 -0
- package/index.js +11 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/data/schedules.d.ts +0 -74
- package/data/schedules.js +0 -79
- package/data/schedules.js.map +0 -1
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { Situation } from "../situation";
|
|
2
|
+
import { Workschedule } from "../workschedule/workschedule";
|
|
3
|
+
/**
|
|
4
|
+
* @hidden
|
|
5
|
+
* Parâmetros para criar uma programação de compensação de horas.
|
|
6
|
+
* @param startDate Data de início da compensação.
|
|
7
|
+
* @param endDate Data de fim da compensação.
|
|
8
|
+
* @param intervalStart Hora de início do intervalo de compensação.
|
|
9
|
+
* @param intervalEnd Hora de fim do intervalo de compensação.
|
|
10
|
+
* @param compensationType Tipo de compensação (ex: horas extras, banco de horas).
|
|
11
|
+
* @param periodType Tipo de período (ex: Início do expediente, fim do expediente).
|
|
12
|
+
* @param numberOfHours Número de horas a serem compensadas.
|
|
13
|
+
* @param situationId ID da situação da compensação.
|
|
14
|
+
* @param workscheduleId ID do horário de trabalho associado à compensação.
|
|
15
|
+
*
|
|
16
|
+
* @typedef {Object} CompensationParams
|
|
17
|
+
*/
|
|
18
|
+
export interface CompensationParams {
|
|
19
|
+
startDate: Date;
|
|
20
|
+
endDate: Date;
|
|
21
|
+
intervalStart: number;
|
|
22
|
+
intervalEnd: number;
|
|
23
|
+
compensationType: CompensationType;
|
|
24
|
+
periodType: PeriodType;
|
|
25
|
+
numberOfHours: number;
|
|
26
|
+
situationId: string;
|
|
27
|
+
workscheduleId: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Representa uma programação de compensação de horas.
|
|
31
|
+
* Uma compensação permite que o colaborador compense horas trabalhadas em um período específico.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* compensation.startDate; // Retorna a data de início da compensação.
|
|
36
|
+
* compensation.endDate; // Retorna a data de fim da compensação.
|
|
37
|
+
* compensation.intervalStart; // Retorna a hora de início do intervalo em minutos (0-1439).
|
|
38
|
+
* compensation.intervalEnd; // Retorna a hora de fim do intervalo em minutos (0-1439).
|
|
39
|
+
* compensation.compensationType; // Retorna o tipo de compensação (ex: horas extras, banco de horas).
|
|
40
|
+
* compensation.periodType; // Retorna o tipo de período (ex: diário, semanal, mensal).
|
|
41
|
+
* compensation.numberOfHours; // Retorna o número de horas a serem compensadas.
|
|
42
|
+
* compensation.situation; // Retorna a situação da compensação.
|
|
43
|
+
* compensation.workschedule; // Retorna o horário associado à compensação.
|
|
44
|
+
* ```
|
|
45
|
+
* @see {@link CompensationType}
|
|
46
|
+
* @see {@link PeriodType}
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
49
|
+
export declare class Compensation {
|
|
50
|
+
private readonly _startDate;
|
|
51
|
+
private readonly _endDate;
|
|
52
|
+
private readonly _intervalStart;
|
|
53
|
+
private readonly _intervalEnd;
|
|
54
|
+
private readonly _compensationType;
|
|
55
|
+
private readonly _periodType;
|
|
56
|
+
private readonly _numberOfHours;
|
|
57
|
+
private readonly _situationId;
|
|
58
|
+
private readonly _workscheduleId;
|
|
59
|
+
/**
|
|
60
|
+
* @hidden
|
|
61
|
+
* Parâmetros para criar uma programação de compensação de horas.
|
|
62
|
+
*/
|
|
63
|
+
constructor(params: CompensationParams);
|
|
64
|
+
/**
|
|
65
|
+
* Data de início da compensação.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* let startDate = compensation.startDate; // Retorna a data de início da compensação
|
|
70
|
+
* ```
|
|
71
|
+
* @returns Data de início da compensação.
|
|
72
|
+
*/
|
|
73
|
+
get startDate(): Date;
|
|
74
|
+
/**
|
|
75
|
+
* Data de fim da compensação.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* let endDate = compensation.endDate; // Retorna a data de fim da compensação
|
|
80
|
+
* ```
|
|
81
|
+
* @returns Data de fim da compensação.
|
|
82
|
+
*/
|
|
83
|
+
get endDate(): Date;
|
|
84
|
+
/**
|
|
85
|
+
* Hora de início do intervalo de compensação em minutos (0-1439).
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* let startInterval = compensation.intervalStart; // Retorna a hora de início do intervalo em minutos
|
|
90
|
+
* ```
|
|
91
|
+
* @returns Hora de início do intervalo em minutos se houver.
|
|
92
|
+
*/
|
|
93
|
+
get intervalStart(): number;
|
|
94
|
+
/**
|
|
95
|
+
* Hora de fim do intervalo de compensação em minutos (0-1439).
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```typescript
|
|
99
|
+
* let endInterval = compensation.intervalEnd; // Retorna a hora de fim do intervalo
|
|
100
|
+
* ```
|
|
101
|
+
* @returns Hora de fim do intervalo em minutos se houver.
|
|
102
|
+
*/
|
|
103
|
+
get intervalEnd(): number;
|
|
104
|
+
/**
|
|
105
|
+
* Tipo de compensação.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* let type = compensation.compensationType; // Retorna o tipo de compensação
|
|
110
|
+
* ```
|
|
111
|
+
* @returns Tipo de compensação.
|
|
112
|
+
* @see {@link CompensationType}
|
|
113
|
+
*/
|
|
114
|
+
get compensationType(): CompensationType;
|
|
115
|
+
/**
|
|
116
|
+
* Tipo de período.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* let type = compensation.periodType; // Retorna o tipo de período
|
|
121
|
+
* ```
|
|
122
|
+
* @returns Tipo de período.
|
|
123
|
+
* @see {@link PeriodType}
|
|
124
|
+
*/
|
|
125
|
+
get periodType(): PeriodType;
|
|
126
|
+
/**
|
|
127
|
+
* Número de horas a serem compensadas.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* let hours = compensation.numberOfHours; // Retorna o número de horas a serem compensadas
|
|
132
|
+
* ```
|
|
133
|
+
* @returns Número de horas.
|
|
134
|
+
*/
|
|
135
|
+
get numberOfHours(): number;
|
|
136
|
+
/**
|
|
137
|
+
* @hidden
|
|
138
|
+
* ID da situação da compensação.
|
|
139
|
+
* @returns ID da situação.
|
|
140
|
+
*/
|
|
141
|
+
private get situationId();
|
|
142
|
+
/**
|
|
143
|
+
* Obtém a situação associada a compensação.
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* let situation = compensation.situation; // Retorna a situação associada à compensação
|
|
148
|
+
* ```
|
|
149
|
+
* @returns Situação associada a compensação.
|
|
150
|
+
* @throws Error se a situação não for encontrada no contexto.
|
|
151
|
+
*/
|
|
152
|
+
get situation(): Situation;
|
|
153
|
+
/**
|
|
154
|
+
* Obtém o horário de trabalho associado à compensação.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* let workschedule = compensation.workschedule; // Retorna o horário de trabalho associado à compensação
|
|
159
|
+
* ```
|
|
160
|
+
* @returns Horário de trabalho associado à compensação.
|
|
161
|
+
* @throws Error se o horário de trabalho não for encontrado no contexto.
|
|
162
|
+
*/
|
|
163
|
+
get workschedule(): Workschedule | undefined;
|
|
164
|
+
/**
|
|
165
|
+
* @hidden
|
|
166
|
+
* ID do horário de trabalho associado à compensação.
|
|
167
|
+
* @returns ID do horário de trabalho.
|
|
168
|
+
*/
|
|
169
|
+
private get workscheduleId();
|
|
170
|
+
/**
|
|
171
|
+
* Data e hora de início da programação, no formato de Date.
|
|
172
|
+
*
|
|
173
|
+
* @example
|
|
174
|
+
* ```typescript
|
|
175
|
+
* let startDateTime = compensation.startDateTimeInterval; // Retorna a data e hora de início da programação
|
|
176
|
+
* startDateTime.toISOString(); // Formato ISO da data e hora, por exemplo: "2023-10-01T08:00:00.000Z"
|
|
177
|
+
* ```
|
|
178
|
+
* @returns Data e hora de início da programação.
|
|
179
|
+
*/
|
|
180
|
+
get startDateTimeInterval(): Date;
|
|
181
|
+
/**
|
|
182
|
+
* Data e hora de fim da programação, no formato de Date.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* let endDateTime = compensation.endDateTimeInterval; // Retorna a data e hora de fim da programação
|
|
187
|
+
* endDateTime.toISOString(); // Formato ISO da data e hora, por exemplo: "2023-10-01T17:0 0:00.000Z"
|
|
188
|
+
* ```
|
|
189
|
+
* @returns Data e hora de fim da programação.
|
|
190
|
+
*/
|
|
191
|
+
get endDateTimeInterval(): Date;
|
|
192
|
+
static clone(compensation: Compensation): Compensation;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Enumeração para os tipos de compensação.
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```typescript
|
|
199
|
+
* let type = CompensationType.OVERTIME_FOR_COMPENSATION; // Retorna o tipo de compensação para horas extras
|
|
200
|
+
* ```
|
|
201
|
+
* @enum {string}
|
|
202
|
+
*/
|
|
203
|
+
export declare enum CompensationType {
|
|
204
|
+
/** Extra para compensação */
|
|
205
|
+
OVERTIME_FOR_COMPENSATION = "OVERTIME_FOR_COMPENSATION",
|
|
206
|
+
/** Ausência para compensação */
|
|
207
|
+
ABSENCE_FOR_COMPENSATION = "ABSENCE_FOR_COMPENSATION",
|
|
208
|
+
/** Dispensar parte expediente */
|
|
209
|
+
RELEASE_PART_OF_WORKDAY = "RELEASE_PART_OF_WORKDAY",
|
|
210
|
+
/** Compensação de horas para banco de horas */
|
|
211
|
+
RELEASE_HOUR_INTERVAL = "RELEASE_HOUR_INTERVAL",
|
|
212
|
+
/** Intervalo fora expediente */
|
|
213
|
+
INTERVAL_OUTSIDE_WORKDAY = "INTERVAL_OUTSIDE_WORKDAY"
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Enumeração para o período de compensação.
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```typescript
|
|
220
|
+
* let period = PeriodType.ANY_PART_OF_WORKDAY; // Retorna o período de compensação para qualquer parte do expediente
|
|
221
|
+
* ```
|
|
222
|
+
* @enum {string}
|
|
223
|
+
*/
|
|
224
|
+
export declare enum PeriodType {
|
|
225
|
+
/** Qualquer parte do expediente */
|
|
226
|
+
ANY_PART_OF_WORKDAY = "ANY_PART_OF_WORKDAY",
|
|
227
|
+
/** Início e fim do expediente */
|
|
228
|
+
START_AND_END_OF_WORKDAY = "START_AND_END_OF_WORKDAY",
|
|
229
|
+
/** Durante intervalos de refeição */
|
|
230
|
+
DURING_MEAL_BREAKS = "DURING_MEAL_BREAKS",
|
|
231
|
+
/** Início do expediente */
|
|
232
|
+
START_OF_WORKDAY = "START_OF_WORKDAY",
|
|
233
|
+
/** Final do expediente */
|
|
234
|
+
END_OF_WORKDAY = "END_OF_WORKDAY",
|
|
235
|
+
/** Início do expediente antecipando horário */
|
|
236
|
+
START_OF_WORKDAY_ANTICIPATING_TIME = "START_OF_WORKDAY_ANTICIPATING_TIME",
|
|
237
|
+
/** Final do expediente prorrogando horário */
|
|
238
|
+
END_OF_WORKDAY_EXTENDING_TIME = "END_OF_WORKDAY_EXTENDING_TIME",
|
|
239
|
+
/** Dispensar 1ª parte do expediente */
|
|
240
|
+
DISMISS_FIRST_PART_OF_WORKDAY = "DISMISS_FIRST_PART_OF_WORKDAY",
|
|
241
|
+
/** Dispensar 2ª parte do expediente */
|
|
242
|
+
DISMISS_SECOND_PART_OF_WORKDAY = "DISMISS_SECOND_PART_OF_WORKDAY"
|
|
243
|
+
}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PeriodType = exports.CompensationType = exports.Compensation = void 0;
|
|
4
|
+
const object_utils_1 = require("../../utils/object.utils");
|
|
5
|
+
const contextReference_1 = require("../contextReference");
|
|
6
|
+
/**
|
|
7
|
+
* Representa uma programação de compensação de horas.
|
|
8
|
+
* Uma compensação permite que o colaborador compense horas trabalhadas em um período específico.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* compensation.startDate; // Retorna a data de início da compensação.
|
|
13
|
+
* compensation.endDate; // Retorna a data de fim da compensação.
|
|
14
|
+
* compensation.intervalStart; // Retorna a hora de início do intervalo em minutos (0-1439).
|
|
15
|
+
* compensation.intervalEnd; // Retorna a hora de fim do intervalo em minutos (0-1439).
|
|
16
|
+
* compensation.compensationType; // Retorna o tipo de compensação (ex: horas extras, banco de horas).
|
|
17
|
+
* compensation.periodType; // Retorna o tipo de período (ex: diário, semanal, mensal).
|
|
18
|
+
* compensation.numberOfHours; // Retorna o número de horas a serem compensadas.
|
|
19
|
+
* compensation.situation; // Retorna a situação da compensação.
|
|
20
|
+
* compensation.workschedule; // Retorna o horário associado à compensação.
|
|
21
|
+
* ```
|
|
22
|
+
* @see {@link CompensationType}
|
|
23
|
+
* @see {@link PeriodType}
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
class Compensation {
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
* Parâmetros para criar uma programação de compensação de horas.
|
|
30
|
+
*/
|
|
31
|
+
constructor(params) {
|
|
32
|
+
this._startDate = object_utils_1.ObjectUtils.toDateOrThrow(params.startDate, "compensation.startDate");
|
|
33
|
+
this._endDate = object_utils_1.ObjectUtils.toDateOrThrow(params.endDate, "compensation.endDate");
|
|
34
|
+
this._intervalStart = params.intervalStart;
|
|
35
|
+
this._intervalEnd = params.intervalEnd;
|
|
36
|
+
this._compensationType = params.compensationType;
|
|
37
|
+
this._periodType = params.periodType;
|
|
38
|
+
this._numberOfHours = params.numberOfHours;
|
|
39
|
+
this._situationId = params.situationId;
|
|
40
|
+
this._workscheduleId = params.workscheduleId;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Data de início da compensação.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* let startDate = compensation.startDate; // Retorna a data de início da compensação
|
|
48
|
+
* ```
|
|
49
|
+
* @returns Data de início da compensação.
|
|
50
|
+
*/
|
|
51
|
+
get startDate() {
|
|
52
|
+
return this._startDate;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Data de fim da compensação.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* let endDate = compensation.endDate; // Retorna a data de fim da compensação
|
|
60
|
+
* ```
|
|
61
|
+
* @returns Data de fim da compensação.
|
|
62
|
+
*/
|
|
63
|
+
get endDate() {
|
|
64
|
+
return this._endDate;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Hora de início do intervalo de compensação em minutos (0-1439).
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* let startInterval = compensation.intervalStart; // Retorna a hora de início do intervalo em minutos
|
|
72
|
+
* ```
|
|
73
|
+
* @returns Hora de início do intervalo em minutos se houver.
|
|
74
|
+
*/
|
|
75
|
+
get intervalStart() {
|
|
76
|
+
return this._intervalStart;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Hora de fim do intervalo de compensação em minutos (0-1439).
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```typescript
|
|
83
|
+
* let endInterval = compensation.intervalEnd; // Retorna a hora de fim do intervalo
|
|
84
|
+
* ```
|
|
85
|
+
* @returns Hora de fim do intervalo em minutos se houver.
|
|
86
|
+
*/
|
|
87
|
+
get intervalEnd() {
|
|
88
|
+
return this._intervalEnd;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Tipo de compensação.
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* let type = compensation.compensationType; // Retorna o tipo de compensação
|
|
96
|
+
* ```
|
|
97
|
+
* @returns Tipo de compensação.
|
|
98
|
+
* @see {@link CompensationType}
|
|
99
|
+
*/
|
|
100
|
+
get compensationType() {
|
|
101
|
+
return this._compensationType;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Tipo de período.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* let type = compensation.periodType; // Retorna o tipo de período
|
|
109
|
+
* ```
|
|
110
|
+
* @returns Tipo de período.
|
|
111
|
+
* @see {@link PeriodType}
|
|
112
|
+
*/
|
|
113
|
+
get periodType() {
|
|
114
|
+
return this._periodType;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Número de horas a serem compensadas.
|
|
118
|
+
*
|
|
119
|
+
* @example
|
|
120
|
+
* ```typescript
|
|
121
|
+
* let hours = compensation.numberOfHours; // Retorna o número de horas a serem compensadas
|
|
122
|
+
* ```
|
|
123
|
+
* @returns Número de horas.
|
|
124
|
+
*/
|
|
125
|
+
get numberOfHours() {
|
|
126
|
+
return this._numberOfHours;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* @hidden
|
|
130
|
+
* ID da situação da compensação.
|
|
131
|
+
* @returns ID da situação.
|
|
132
|
+
*/
|
|
133
|
+
get situationId() {
|
|
134
|
+
return this._situationId;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Obtém a situação associada a compensação.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* let situation = compensation.situation; // Retorna a situação associada à compensação
|
|
142
|
+
* ```
|
|
143
|
+
* @returns Situação associada a compensação.
|
|
144
|
+
* @throws Error se a situação não for encontrada no contexto.
|
|
145
|
+
*/
|
|
146
|
+
get situation() {
|
|
147
|
+
const situation = contextReference_1.ContextReference.getGlobalInstance().getSituationById(this._situationId);
|
|
148
|
+
if (!situation) {
|
|
149
|
+
throw new Error(`Situation with id ${this._situationId} not found`);
|
|
150
|
+
}
|
|
151
|
+
return situation;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Obtém o horário de trabalho associado à compensação.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* let workschedule = compensation.workschedule; // Retorna o horário de trabalho associado à compensação
|
|
159
|
+
* ```
|
|
160
|
+
* @returns Horário de trabalho associado à compensação.
|
|
161
|
+
* @throws Error se o horário de trabalho não for encontrado no contexto.
|
|
162
|
+
*/
|
|
163
|
+
get workschedule() {
|
|
164
|
+
const workschedule = contextReference_1.ContextReference.getGlobalInstance().getWorkschedule(this._workscheduleId);
|
|
165
|
+
if (!workschedule && !!this.workscheduleId) {
|
|
166
|
+
throw new Error(`Workschedule with id ${this._workscheduleId} not found`);
|
|
167
|
+
}
|
|
168
|
+
return workschedule;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* @hidden
|
|
172
|
+
* ID do horário de trabalho associado à compensação.
|
|
173
|
+
* @returns ID do horário de trabalho.
|
|
174
|
+
*/
|
|
175
|
+
get workscheduleId() {
|
|
176
|
+
return this._workscheduleId;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Data e hora de início da programação, no formato de Date.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* let startDateTime = compensation.startDateTimeInterval; // Retorna a data e hora de início da programação
|
|
184
|
+
* startDateTime.toISOString(); // Formato ISO da data e hora, por exemplo: "2023-10-01T08:00:00.000Z"
|
|
185
|
+
* ```
|
|
186
|
+
* @returns Data e hora de início da programação.
|
|
187
|
+
*/
|
|
188
|
+
get startDateTimeInterval() {
|
|
189
|
+
const date = new Date(this._startDate);
|
|
190
|
+
date.setMinutes(this._intervalStart);
|
|
191
|
+
return date;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Data e hora de fim da programação, no formato de Date.
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* let endDateTime = compensation.endDateTimeInterval; // Retorna a data e hora de fim da programação
|
|
199
|
+
* endDateTime.toISOString(); // Formato ISO da data e hora, por exemplo: "2023-10-01T17:0 0:00.000Z"
|
|
200
|
+
* ```
|
|
201
|
+
* @returns Data e hora de fim da programação.
|
|
202
|
+
*/
|
|
203
|
+
get endDateTimeInterval() {
|
|
204
|
+
const date = new Date(this._endDate);
|
|
205
|
+
date.setMinutes(this._intervalEnd);
|
|
206
|
+
return date;
|
|
207
|
+
}
|
|
208
|
+
static clone(compensation) {
|
|
209
|
+
return new Compensation({
|
|
210
|
+
startDate: compensation.startDate,
|
|
211
|
+
endDate: compensation.endDate,
|
|
212
|
+
intervalStart: compensation.intervalStart,
|
|
213
|
+
intervalEnd: compensation.intervalEnd,
|
|
214
|
+
compensationType: compensation.compensationType,
|
|
215
|
+
periodType: compensation.periodType,
|
|
216
|
+
numberOfHours: compensation.numberOfHours,
|
|
217
|
+
situationId: compensation.situationId,
|
|
218
|
+
workscheduleId: compensation.workscheduleId
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
exports.Compensation = Compensation;
|
|
223
|
+
/**
|
|
224
|
+
* Enumeração para os tipos de compensação.
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```typescript
|
|
228
|
+
* let type = CompensationType.OVERTIME_FOR_COMPENSATION; // Retorna o tipo de compensação para horas extras
|
|
229
|
+
* ```
|
|
230
|
+
* @enum {string}
|
|
231
|
+
*/
|
|
232
|
+
var CompensationType;
|
|
233
|
+
(function (CompensationType) {
|
|
234
|
+
/** Extra para compensação */
|
|
235
|
+
CompensationType["OVERTIME_FOR_COMPENSATION"] = "OVERTIME_FOR_COMPENSATION";
|
|
236
|
+
/** Ausência para compensação */
|
|
237
|
+
CompensationType["ABSENCE_FOR_COMPENSATION"] = "ABSENCE_FOR_COMPENSATION";
|
|
238
|
+
/** Dispensar parte expediente */
|
|
239
|
+
CompensationType["RELEASE_PART_OF_WORKDAY"] = "RELEASE_PART_OF_WORKDAY";
|
|
240
|
+
/** Compensação de horas para banco de horas */
|
|
241
|
+
CompensationType["RELEASE_HOUR_INTERVAL"] = "RELEASE_HOUR_INTERVAL";
|
|
242
|
+
/** Intervalo fora expediente */
|
|
243
|
+
CompensationType["INTERVAL_OUTSIDE_WORKDAY"] = "INTERVAL_OUTSIDE_WORKDAY";
|
|
244
|
+
})(CompensationType || (exports.CompensationType = CompensationType = {}));
|
|
245
|
+
/**
|
|
246
|
+
* Enumeração para o período de compensação.
|
|
247
|
+
*
|
|
248
|
+
* @example
|
|
249
|
+
* ```typescript
|
|
250
|
+
* let period = PeriodType.ANY_PART_OF_WORKDAY; // Retorna o período de compensação para qualquer parte do expediente
|
|
251
|
+
* ```
|
|
252
|
+
* @enum {string}
|
|
253
|
+
*/
|
|
254
|
+
var PeriodType;
|
|
255
|
+
(function (PeriodType) {
|
|
256
|
+
/** Qualquer parte do expediente */
|
|
257
|
+
PeriodType["ANY_PART_OF_WORKDAY"] = "ANY_PART_OF_WORKDAY";
|
|
258
|
+
/** Início e fim do expediente */
|
|
259
|
+
PeriodType["START_AND_END_OF_WORKDAY"] = "START_AND_END_OF_WORKDAY";
|
|
260
|
+
/** Durante intervalos de refeição */
|
|
261
|
+
PeriodType["DURING_MEAL_BREAKS"] = "DURING_MEAL_BREAKS";
|
|
262
|
+
/** Início do expediente */
|
|
263
|
+
PeriodType["START_OF_WORKDAY"] = "START_OF_WORKDAY";
|
|
264
|
+
/** Final do expediente */
|
|
265
|
+
PeriodType["END_OF_WORKDAY"] = "END_OF_WORKDAY";
|
|
266
|
+
/** Início do expediente antecipando horário */
|
|
267
|
+
PeriodType["START_OF_WORKDAY_ANTICIPATING_TIME"] = "START_OF_WORKDAY_ANTICIPATING_TIME";
|
|
268
|
+
/** Final do expediente prorrogando horário */
|
|
269
|
+
PeriodType["END_OF_WORKDAY_EXTENDING_TIME"] = "END_OF_WORKDAY_EXTENDING_TIME";
|
|
270
|
+
/** Dispensar 1ª parte do expediente */
|
|
271
|
+
PeriodType["DISMISS_FIRST_PART_OF_WORKDAY"] = "DISMISS_FIRST_PART_OF_WORKDAY";
|
|
272
|
+
/** Dispensar 2ª parte do expediente */
|
|
273
|
+
PeriodType["DISMISS_SECOND_PART_OF_WORKDAY"] = "DISMISS_SECOND_PART_OF_WORKDAY";
|
|
274
|
+
})(PeriodType || (exports.PeriodType = PeriodType = {}));
|
|
275
|
+
//# sourceMappingURL=compensation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compensation.js","sourceRoot":"","sources":["../../../src/data/schedules/compensation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hidden
|
|
3
|
+
* Parâmetros para criar uma programação de autorização de horas extras.
|
|
4
|
+
* @param startDate Data inicial.
|
|
5
|
+
* @param endDate Data final.
|
|
6
|
+
* @pram startTime Hora inicial.
|
|
7
|
+
* @pram endTime Hora final.
|
|
8
|
+
* @typedef {Object} OvertimeAuthorizationParams
|
|
9
|
+
*/
|
|
10
|
+
export interface OvertimeAuthorizationParams {
|
|
11
|
+
startDate: Date;
|
|
12
|
+
endDate: Date;
|
|
13
|
+
startTime: number;
|
|
14
|
+
endTime: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Representa um programação de autorização de horas extras.
|
|
18
|
+
* Programação utilizada quando as normas da empresa estabelecem que as horas extras necessitam ser
|
|
19
|
+
* autorizadas por algum nível de chefia da empresa.
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* overtimeAuthorization.startDate; // Retorna a data inicial da programação.
|
|
23
|
+
* overtimeAuthorization.startTime; // Retorna a hora inicial da programação.
|
|
24
|
+
* overtimeAuthorization.endDate; // Retorna a data final da programação.
|
|
25
|
+
* overtimeAuthorization.endTime; // Retorna a hora final da programação.
|
|
26
|
+
* overtimeAuthorization.startDateTime; // Retorna a data e hora de início do afastamento, no formado de Date.
|
|
27
|
+
* overtimeAuthorization.endDateTime; // Retorna a data e hora de término do afastamento ou null se não houver data final, no formado de Date.
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare class OvertimeAuthorization {
|
|
31
|
+
/**
|
|
32
|
+
* Data inicial da programação de autorização de horas extras.
|
|
33
|
+
* @param startDate Data inicial.
|
|
34
|
+
*/
|
|
35
|
+
private readonly _startDate;
|
|
36
|
+
/**
|
|
37
|
+
* Data final da programação de autorização de horas extras.
|
|
38
|
+
* @param endDate Data final.
|
|
39
|
+
*/
|
|
40
|
+
private readonly _endDate;
|
|
41
|
+
/**
|
|
42
|
+
* Hora inicial da programação de autorização de horas extras.
|
|
43
|
+
* @param startTime Hora inicial.
|
|
44
|
+
*/
|
|
45
|
+
private readonly _startTime;
|
|
46
|
+
/**
|
|
47
|
+
* Hora final da programação de autorização de horas extras.
|
|
48
|
+
* @param endTime Hora final.
|
|
49
|
+
*/
|
|
50
|
+
private readonly _endTime;
|
|
51
|
+
/**
|
|
52
|
+
* @hidden
|
|
53
|
+
*/
|
|
54
|
+
constructor(params: OvertimeAuthorizationParams);
|
|
55
|
+
/**
|
|
56
|
+
* Data de iníncio da programação.
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* let startDate = overtimeAuthorization.startDate; // Retorna a data início da programação
|
|
61
|
+
* ```
|
|
62
|
+
* @returns Data de início da programação.
|
|
63
|
+
*/
|
|
64
|
+
get startDate(): Date;
|
|
65
|
+
/**
|
|
66
|
+
* Data de fim da programação.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* let endDate = overtimeAuthorization.endDate; // Retorna a data fim da programação
|
|
71
|
+
* ```
|
|
72
|
+
* @returns Data de fim da programação.
|
|
73
|
+
*/
|
|
74
|
+
get endDate(): Date;
|
|
75
|
+
/**
|
|
76
|
+
* Hora de início da programação.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* let startTime = overtimeAuthorization.startTime; // Retorna a hora início da programação
|
|
81
|
+
* ```
|
|
82
|
+
* @returns Hora de início da programação.
|
|
83
|
+
*/
|
|
84
|
+
get startTime(): number;
|
|
85
|
+
/**
|
|
86
|
+
* Hora de fim da programação.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* let endTime = overtimeAuthorization.endTime; // Retorna a hora fim da programação
|
|
91
|
+
* ```
|
|
92
|
+
* @returns Hora de fim da programação.
|
|
93
|
+
*/
|
|
94
|
+
get endTime(): number;
|
|
95
|
+
/**
|
|
96
|
+
* Data e hora de início da programação, no formato de Date.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* let startDateTime = overtimeAuthorization.startDateTime; // Retorna a data e hora de início da programação
|
|
101
|
+
* startDateTime.toISOString(); // Formato ISO da data e hora, por exemplo: "2023-10-01T08:00:00.000Z"
|
|
102
|
+
* ```
|
|
103
|
+
* @returns Data e hora de início da programação.
|
|
104
|
+
*/
|
|
105
|
+
get startDateTime(): Date;
|
|
106
|
+
/**
|
|
107
|
+
* Data e hora de término da programação, no formato de Date.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* let endDateTime = overtimeAuthorization.endDateTime; // Retorna a data e hora de término da programação
|
|
112
|
+
* endDateTime.toISOString(); // Formato ISO da data e hora, por exemplo: "2023-10-01T17:00:00.000Z"
|
|
113
|
+
* ```
|
|
114
|
+
*
|
|
115
|
+
* @returns Data e hora de término da programação.
|
|
116
|
+
*/
|
|
117
|
+
get endDateTime(): Date | null;
|
|
118
|
+
/**
|
|
119
|
+
* Clona a programação de autorização de horas extras.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```typescript
|
|
123
|
+
* let clonedAuthorization = OvertimeAuthorization.clone(overtimeAuthorization);
|
|
124
|
+
* ```
|
|
125
|
+
* @returns Uma nova instância da programação de autorização de horas extras.
|
|
126
|
+
*/
|
|
127
|
+
static clone(overtimeAuthorization: OvertimeAuthorization): OvertimeAuthorization;
|
|
128
|
+
}
|