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.
@@ -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
+ }