dts-backoffice-util 5.0.0 → 6.0.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.
Files changed (57) hide show
  1. package/README.md +1 -1
  2. package/dts-backoffice-util.d.ts +1 -0
  3. package/{esm2015/dts-backoffice-util.js → esm2020/dts-backoffice-util.mjs} +0 -0
  4. package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.mjs +269 -0
  5. package/{esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js → esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.mjs} +0 -0
  6. package/esm2020/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.mjs +183 -0
  7. package/esm2020/lib/dts-backoffice-util.module.mjs +56 -0
  8. package/{esm2015/lib/interfaces/filter-range.interface.js → esm2020/lib/interfaces/filter-range.interface.mjs} +0 -0
  9. package/{esm2015/lib/interfaces/totvs-response.interface.js → esm2020/lib/interfaces/totvs-response.interface.mjs} +0 -0
  10. package/{esm2015/lib/model/session-info.model.js → esm2020/lib/model/session-info.model.mjs} +0 -0
  11. package/esm2020/lib/pipes/dts-date-format.pipe.mjs +20 -0
  12. package/esm2020/lib/services/breadcrumb-control.service.mjs +82 -0
  13. package/esm2020/lib/services/cache-params.service.mjs +25 -0
  14. package/esm2020/lib/services/menu-datasul.service.mjs +41 -0
  15. package/esm2020/lib/services/profile.service.mjs +55 -0
  16. package/esm2020/lib/services/report.service.mjs +57 -0
  17. package/esm2020/lib/services/session-info.service.mjs +36 -0
  18. package/esm2020/lib/services/translate.service.mjs +23 -0
  19. package/{esm2015/lib/utils/date.util.js → esm2020/lib/utils/date.util.mjs} +0 -0
  20. package/{esm2015/lib/utils/disclaimer.util.js → esm2020/lib/utils/disclaimer.util.mjs} +0 -0
  21. package/{esm2015/lib/utils/field-validation.util.js → esm2020/lib/utils/field-validation.util.mjs} +0 -0
  22. package/esm2020/lib/utils/file.util.mjs +122 -0
  23. package/{esm2015/lib/utils/filter-range.util.js → esm2020/lib/utils/filter-range.util.mjs} +0 -0
  24. package/{esm2015/lib/utils/generic-functions.utils.js → esm2020/lib/utils/generic-functions.utils.mjs} +0 -0
  25. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  26. package/fesm2015/{dts-backoffice-util.js → dts-backoffice-util.mjs} +132 -181
  27. package/fesm2015/dts-backoffice-util.mjs.map +1 -0
  28. package/fesm2020/dts-backoffice-util.mjs +1844 -0
  29. package/fesm2020/dts-backoffice-util.mjs.map +1 -0
  30. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.d.ts +3 -0
  31. package/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.d.ts +3 -0
  32. package/lib/dts-backoffice-util.module.d.ts +10 -0
  33. package/lib/pipes/dts-date-format.pipe.d.ts +3 -0
  34. package/lib/services/breadcrumb-control.service.d.ts +3 -0
  35. package/lib/services/cache-params.service.d.ts +3 -0
  36. package/lib/services/menu-datasul.service.d.ts +3 -0
  37. package/lib/services/profile.service.d.ts +3 -0
  38. package/lib/services/report.service.d.ts +3 -0
  39. package/lib/services/session-info.service.d.ts +3 -0
  40. package/lib/services/translate.service.d.ts +3 -0
  41. package/package.json +22 -10
  42. package/bundles/dts-backoffice-util.umd.js +0 -2017
  43. package/bundles/dts-backoffice-util.umd.js.map +0 -1
  44. package/dts-backoffice-util.metadata.json +0 -1
  45. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +0 -274
  46. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +0 -190
  47. package/esm2015/lib/dts-backoffice-util.module.js +0 -40
  48. package/esm2015/lib/pipes/dts-date-format.pipe.js +0 -17
  49. package/esm2015/lib/services/breadcrumb-control.service.js +0 -88
  50. package/esm2015/lib/services/cache-params.service.js +0 -32
  51. package/esm2015/lib/services/menu-datasul.service.js +0 -47
  52. package/esm2015/lib/services/profile.service.js +0 -65
  53. package/esm2015/lib/services/report.service.js +0 -65
  54. package/esm2015/lib/services/session-info.service.js +0 -46
  55. package/esm2015/lib/services/translate.service.js +0 -21
  56. package/esm2015/lib/utils/file.util.js +0 -128
  57. package/fesm2015/dts-backoffice-util.js.map +0 -1
@@ -1,274 +0,0 @@
1
- import { Component, Input, ViewChild, Output, EventEmitter } from '@angular/core';
2
- import { PoI18nService, PoNotificationService } from '@po-ui/ng-components';
3
- import { ScheduleParameters } from './totvs-schedule-execution.model';
4
- import { NgForm } from '@angular/forms';
5
- import { TotvsScheduleExecutionService } from './totvs-schedule-execution.service';
6
- export class TotvsScheduleExecutionComponent {
7
- constructor(poI18nService, rpwService, poNotification) {
8
- this.poI18nService = poI18nService;
9
- this.rpwService = rpwService;
10
- this.poNotification = poNotification;
11
- this.programEMS5 = false;
12
- this.programVersion = '';
13
- this.disabledParams = false;
14
- this.loading = false;
15
- this.endExecution = new EventEmitter();
16
- this.jsonObject = {};
17
- this.literals = {};
18
- }
19
- ngOnInit() {
20
- /* VERIFICAR COMO FICARÁ A TRADUÇÃO
21
- forkJoin(
22
- this.poI18nService.getLiterals(),
23
- this.poI18nService.getLiterals({ context: 'generalRpw' })
24
- ).subscribe(literals => {
25
- literals.map(item => Object.assign(this.literals, item) );
26
- this.setupComponents();
27
- });*/
28
- this.setupComponents();
29
- }
30
- setupComponents() {
31
- this.executionTypeOptions = [
32
- { label: 'Executar Hoje', value: 1 },
33
- { label: 'Agendar Execução', value: 2 }
34
- ];
35
- this.frequencyOptions = [
36
- { label: 'Uma vez no dia', value: 'no' },
37
- { label: 'Várias vezes no dia', value: 'yes' }
38
- ];
39
- this.frequencyTypeOptions = [
40
- { label: 'Hora(s)', value: 'hour' },
41
- { label: 'Minuto(s)', value: 'minute' }
42
- ];
43
- this.weeklyOptions = [
44
- { label: 'Domingo', value: 'Sunday' },
45
- { label: 'Segunda', value: 'Monday' },
46
- { label: 'Terça', value: 'Tuesday' },
47
- { label: 'Quarta', value: 'Wednesday' },
48
- { label: 'Quinta', value: 'Thursday' },
49
- { label: 'Sexta', value: 'Friday' },
50
- { label: 'Sábado', value: 'Saturday' }
51
- ];
52
- this.zoomRpwServiceColumns = [
53
- { property: 'code', label: 'Servidor', type: 'string', width: '20%' },
54
- { property: 'name', label: 'Descrição', type: 'string', width: '80%' }
55
- ];
56
- this.model = new ScheduleParameters();
57
- this.model.executionType = 1;
58
- this.model.repeatType = 1;
59
- this.model.repeatExecution = false;
60
- }
61
- setScheduleParameters(schParam) {
62
- if (!schParam) {
63
- return;
64
- }
65
- this.model = schParam;
66
- }
67
- fieldRpwServiceFormat(value) {
68
- return `${value.code} - ${value.name}`;
69
- }
70
- isExecutionSchedule() {
71
- return (this.model.executionType === 2);
72
- }
73
- isRepeatExecution() {
74
- return this.model.repeatExecution;
75
- }
76
- isFrenquency() {
77
- return (this.model.frequency === 'yes');
78
- }
79
- changeRepeatExecution() {
80
- const date = new Date();
81
- if (!this.model.execAppointHourInit) {
82
- this.model.execAppointHourInit = `${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}`;
83
- }
84
- if (!this.model.execAppointHourFinal) {
85
- this.model.execAppointHourFinal = `${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}`;
86
- }
87
- this.model.selectWeeklys = [];
88
- this.model.dayOfMonth = 0;
89
- this.model.frequency = 'no';
90
- this.model.frequencyType = 'hour';
91
- this.model.frequencyValue = 0;
92
- }
93
- changeExecutionType() {
94
- const date = new Date();
95
- this.model.execAppointDate = date;
96
- this.model.execAppointHour = `${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}`;
97
- }
98
- changeTypeFrequency() {
99
- }
100
- getActiveTab(codTab) {
101
- return (this.model.repeatType === codTab);
102
- }
103
- setActiveTab(codTab) {
104
- this.model.repeatType = codTab;
105
- }
106
- addZero(num) {
107
- let str = `${num}`;
108
- if (num < 10) {
109
- str = `0${num}`;
110
- }
111
- return str;
112
- }
113
- executeSchedule() {
114
- if (this.disabledParams) {
115
- return;
116
- }
117
- if (!this.validate()) {
118
- return;
119
- }
120
- this.jsonObject = {};
121
- this.jsonObject.status = 'active';
122
- this.jsonObject.processID = this.programName;
123
- this.jsonObject.recurrent = this.model.repeatExecution;
124
- this.jsonObject.executionParameter = {};
125
- if (this.model.executionType === 1) {
126
- const date = new Date();
127
- this.jsonObject.firstExecution = `${date.getFullYear()}-${(date.getMonth() + 1)}-${date.getDate()}T${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}:00.000Z`;
128
- }
129
- if (this.model.executionType === 2) {
130
- this.jsonObject.firstExecution = `${this.model.execAppointDate}T${this.model.execAppointHour}:00.000Z`;
131
- }
132
- this.jsonObject.executionParameter.parametros = [];
133
- this.jsonObject.executionParameter.parametros[0] = { chave: 'rpwServer', valor: this.model.executionServer };
134
- this.jsonObject.executionParameter.parametros[1] = { chave: 'RPW_PROGRAM', valor: this.externalName };
135
- this.jsonObject.executionParameter.parametros[2] = { chave: 'RPW_PRG_EMS5', valor: this.programEMS5 ? 'yes' : 'no' };
136
- this.jsonObject.executionParameter.parametros[3] = { chave: 'RPW_PRG_VERS', valor: this.programVersion };
137
- this.jsonObject.executionParameter.parametros[4] = {};
138
- this.jsonObject.executionParameter.parametros[4].parametros_negocio = this.parameters;
139
- // Executa hoje ou agendada
140
- this.rpwService.createExecution(this.jsonObject, this.loading).subscribe(() => {
141
- this.poNotification.success('Agendamento realizado com sucesso !');
142
- });
143
- if (this.model.repeatExecution) {
144
- if (this.model.repeatType === 1) {
145
- this.jsonObject.daily = {
146
- hour: this.getHourOrMinute(this.model.execAppointHourInit, 'h'),
147
- minute: this.getHourOrMinute(this.model.execAppointHourInit, 'm')
148
- };
149
- }
150
- if (this.model.repeatType === 2) {
151
- this.jsonObject.weekly = {
152
- hour: this.getHourOrMinute(this.model.execAppointHourInit, 'h'),
153
- minute: this.getHourOrMinute(this.model.execAppointHourInit, 'm'),
154
- daysOfWeek: this.model.selectWeeklys
155
- };
156
- }
157
- if (this.model.repeatType === 3) {
158
- this.jsonObject.monthly = {
159
- hour: this.getHourOrMinute(this.model.execAppointHourInit, 'h'),
160
- minute: this.getHourOrMinute(this.model.execAppointHourInit, 'm'),
161
- day: this.model.dayOfMonth
162
- };
163
- }
164
- if (this.isFrenquency()) {
165
- this.jsonObject.rangeExecutions = {
166
- frequency: {
167
- type: this.model.frequencyType,
168
- value: this.model.frequencyValue
169
- },
170
- rangeLimit: {
171
- hour: this.getHourOrMinute(this.model.execAppointHourFinal, 'h'),
172
- minute: this.getHourOrMinute(this.model.execAppointHourFinal, 'm')
173
- }
174
- };
175
- }
176
- // Executa a diária, semanal ou mensal
177
- this.rpwService.createExecution(this.jsonObject, this.loading).subscribe(() => {
178
- });
179
- }
180
- this.endExecution.emit(this.model);
181
- }
182
- getHourOrMinute(value, type) {
183
- if (type === 'h') {
184
- return +value.substring(0, 2);
185
- }
186
- if (type === 'm') {
187
- return +value.substring(3, 6);
188
- }
189
- }
190
- compareHour(hourInit, hourFinal) {
191
- if (hourInit === hourFinal) {
192
- return false;
193
- }
194
- if (this.getHourOrMinute(hourInit, 'h') < this.getHourOrMinute(hourFinal, 'h')) {
195
- return true;
196
- }
197
- if (this.getHourOrMinute(hourInit, 'm') > this.getHourOrMinute(hourFinal, 'm')) {
198
- return false;
199
- }
200
- return true;
201
- }
202
- validate() {
203
- if (!this.scheduleExecutionForm.valid) {
204
- this.poNotification.error('Verifique as inconsistências em tela.');
205
- return false;
206
- }
207
- if (!this.model.executionServer) {
208
- this.poNotification.error('Servidor de Execução não foi informado.');
209
- return false;
210
- }
211
- if (this.isExecutionSchedule() && (!this.model.execAppointDate || !this.model.execAppointHour)) {
212
- this.poNotification.error('Informar a data e a hora para agendamento da execução.');
213
- return false;
214
- }
215
- if (this.model.repeatExecution) {
216
- if (!this.model.execAppointHourInit) {
217
- this.poNotification.error('Informar a hora de início para a execução.');
218
- return false;
219
- }
220
- if (this.model.repeatType === 2 && (this.model.selectWeeklys.length === 0)) {
221
- this.poNotification.error('Informar os dias da semana para a execução.');
222
- return false;
223
- }
224
- if (this.model.repeatType === 3 && (!this.model.dayOfMonth)) {
225
- this.poNotification.error('Informar o dia para a execução.');
226
- return false;
227
- }
228
- if (this.isFrenquency()) {
229
- if (!this.compareHour(this.model.execAppointHourInit, this.model.execAppointHourFinal)) {
230
- this.poNotification.error('Hora Fim deve ser maior que Hora Início.');
231
- return false;
232
- }
233
- if (this.model.frequencyValue === 0) {
234
- this.poNotification.error('Informar a frequência de execução (A cada hora/minuto).');
235
- return false;
236
- }
237
- }
238
- }
239
- return true;
240
- }
241
- }
242
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
243
- TotvsScheduleExecutionComponent.decorators = [
244
- { type: Component, args: [{
245
- selector: 'app-totvs-schedule-execution',
246
- template: "<form #scheduleExecutionForm=\"ngForm\">\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"executionType\"\r\n p-label=\"Data de Execu\u00E7\u00E3o\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.executionType\"\r\n [p-options]=\"executionTypeOptions\"\r\n (p-change)=\"changeExecutionType()\">\r\n </po-radio-group>\r\n\r\n <po-datepicker *ngIf=isExecutionSchedule()\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"model.execAppointDate\"\r\n p-label=\"Agendar para\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointDate\">\r\n </po-datepicker>\r\n\r\n <po-input *ngIf=isExecutionSchedule()\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHour\"\r\n p-label=\"Hora\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHour\">\r\n </po-input>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-lookup\r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"executionServer\"\r\n p-label=\"Servidor de Execu\u00E7\u00E3o\"\r\n p-placeholder=\"Servidor de Execu\u00E7\u00E3o\"\r\n [p-columns]=\"zoomRpwServiceColumns\"\r\n [p-field-format]=\"fieldRpwServiceFormat\"\r\n [p-filter-service]=\"rpwService\"\r\n p-field-label=\"name\"\r\n p-field-value=\"code\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.executionServer\">\r\n </po-lookup>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-switch\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"repeatExecution\"\r\n p-label=\"Repetir ocorr\u00EAncia ?\"\r\n p-label-off=\"N\u00E3o\"\r\n p-label-on=\"Sim\"\r\n [(ngModel)]=\"model.repeatExecution\"\r\n [p-disabled]=\"disabledParams\"\r\n (click)=\"changeRepeatExecution()\">\r\n </po-switch>\r\n </div>\r\n\r\n <div class=\"po-row\" *ngIf=\"isRepeatExecution()\">\r\n \r\n <po-tabs>\r\n\r\n <po-tab \r\n p-label=\"Di\u00E1ria\" \r\n [p-active]=\"getActiveTab(1)\" \r\n (p-click)=\"setActiveTab(1)\">\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyDaily\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n \r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"> \r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitDaily\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n \r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalDaily\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n \r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueDaily\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n \r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeDaily\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n\r\n <po-tab \r\n p-label=\"Semanal\"\r\n [p-active]=\"getActiveTab(2)\"\r\n (p-click)=\"setActiveTab(2)\">\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-multiselect\r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"selectWeeklys\"\r\n p-label=\"Dias da Semana\"\r\n p-placeholder=\"Escolha os dias da semana\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.selectWeeklys\"\r\n [p-options]=\"weeklyOptions\">\r\n </po-multiselect>\r\n </div>\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyWeekly\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n\r\n <div class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitWeekly\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n\r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalWeekly\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n\r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueWeekly\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n\r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeWeekly\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n\r\n <po-tab \r\n p-label=\"Mensal\" \r\n [p-active]=\"getActiveTab(3)\" \r\n (p-click)=\"setActiveTab(3)\">\r\n\r\n <div class=\"po-row po-sm-12 po-md-12 po-lg-12 po-xl-12\">\r\n <po-number\r\n class=\"po-sm-3 po-md-3 po-lg-3 po-xl-3\"\r\n name=\"dayOfMonth\"\r\n p-label=\"Dia do m\u00EAs\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"2\"\r\n p-min=\"0\"\r\n p-max=\"31\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.dayOfMonth\">\r\n </po-number>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-radio-group \r\n class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\"\r\n name=\"frequencyMonthly\"\r\n p-label=\"Frequ\u00EAncia\"\r\n p-columns=1\r\n [(ngModel)]=\"model.frequency\"\r\n [p-disabled]=\"disabledParams\"\r\n [p-options]=\"frequencyOptions\"\r\n (p-change)=\"changeTypeFrequency()\">\r\n </po-radio-group>\r\n </div>\r\n\r\n <div class=\"po-row po-sm-6 po-md-6 po-lg-6 po-xl-6\">\r\n <po-input\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourInitMonthly\"\r\n p-label=\"Hora In\u00EDcio\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourInit\">\r\n </po-input>\r\n\r\n <po-input *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-6 po-md-6 po-lg-6 po-xl-6\"\r\n name=\"execAppointHourFinalWeekly\"\r\n p-label=\"Hora Fim\"\r\n p-mask=\"99:99\"\r\n p-mask-format-model=\"true\"\r\n p-pattern=\"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$\"\r\n p-error-pattern=\"Hora inv\u00E1lida\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.execAppointHourFinal\">\r\n </po-input>\r\n\r\n <po-number *ngIf=\"isFrenquency()\"\r\n class=\"po-sm-5 po-md-5 po-lg-5 po-xl-5\"\r\n name=\"frequencyValueWeekly\"\r\n p-label=\"A cada\"\r\n p-minlength=\"1\"\r\n p-maxlength=\"3\"\r\n p-min=\"0\"\r\n p-max=\"999\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyValue\">\r\n </po-number>\r\n\r\n <po-select *ngIf=\"isFrenquency()\"\r\n class=\"po-mt-3 po-sm-7 po-md-7 po-lg-7 po-xl-7\"\r\n name=\"frequencyTypeWeekly\"\r\n p-label=\"\"\r\n [p-options]=\"frequencyTypeOptions\"\r\n [p-disabled]=\"disabledParams\"\r\n [(ngModel)]=\"model.frequencyType\">\r\n </po-select>\r\n </div>\r\n </po-tab>\r\n </po-tabs>\r\n </div>\r\n\r\n <div class=\"po-sm-12 po-md-12 po-lg-12 po-xl-12\" style=\"padding-top: 15px;\">\r\n <po-button\r\n style=\"float: right;\"\r\n p-label=\"Gerar Agendamento RPW\"\r\n [p-disabled]=\"disabledParams\"\r\n (click)=\"executeSchedule()\">\r\n </po-button>\r\n </div>\r\n</form>\r\n",
247
- styles: [""]
248
- },] }
249
- ];
250
- /**
251
- * @type {function(): !Array<(null|{
252
- * type: ?,
253
- * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
254
- * })>}
255
- * @nocollapse
256
- */
257
- TotvsScheduleExecutionComponent.ctorParameters = () => [
258
- { type: PoI18nService },
259
- { type: TotvsScheduleExecutionService },
260
- { type: PoNotificationService }
261
- ];
262
- /** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
263
- TotvsScheduleExecutionComponent.propDecorators = {
264
- scheduleExecutionForm: [{ type: ViewChild, args: ['scheduleExecutionForm', { static: true },] }],
265
- programName: [{ type: Input }],
266
- externalName: [{ type: Input }],
267
- programEMS5: [{ type: Input }],
268
- programVersion: [{ type: Input }],
269
- parameters: [{ type: Input }],
270
- disabledParams: [{ type: Input }],
271
- loading: [{ type: Input }],
272
- endExecution: [{ type: Output }]
273
- };
274
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R0cy1iYWNrb2ZmaWNlLXV0aWwvc3JjL2xpYi9jb21wb25lbnRzL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBc0IsYUFBYSxFQUFFLHFCQUFxQixFQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFBdUIsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFRbkYsTUFBTSxPQUFPLCtCQUErQjtJQVl4QyxZQUNXLGFBQTRCLEVBQzVCLFVBQXlDLEVBQ3pDLGNBQXFDO1FBRnJDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQStCO1FBQ3pDLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQVZ2QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztRQUVwQixtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2YsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBY3BDLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFFN0IsYUFBUSxHQUFRLEVBQUUsQ0FBQztJQVZuQixDQUFDO0lBWUQsUUFBUTtRQUNKOzs7Ozs7O2VBT087UUFFUCxJQUFJ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QUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO29CQUN0RSxPQUFPLEtBQUssQ0FBQztpQkFDaEI7Z0JBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsS0FBSyxDQUFDLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7b0JBQ3JGLE9BQU8sS0FBSyxDQUFDO2lCQUNoQjthQUNKO1NBQ0o7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzs7O1lBclJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsOEJBQThCO2dCQUN4Qywyd2JBQXdEOzthQUUzRDs7Ozs7Ozs7OztZQVQ0QixhQUFhO1lBR2pDLDZCQUE2QjtZQUhNLHFCQUFxQjs7OztvQ0FZNUQsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTswQkFFbkQsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7NkJBQ0wsS0FBSzt5QkFDTCxLQUFLOzZCQUNMLEtBQUs7c0JBQ0wsS0FBSzsyQkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBWaWV3Q2hpbGQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBvUmFkaW9Hcm91cE9wdGlvbiwgUG9JMThuU2VydmljZSwgUG9Ob3RpZmljYXRpb25TZXJ2aWNlLCBQb0xvb2t1cENvbHVtbiB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgSVNjaGVkdWxlUGFyYW1ldGVycywgU2NoZWR1bGVQYXJhbWV0ZXJzIH0gZnJvbSAnLi90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFRvdHZzU2NoZWR1bGVFeGVjdXRpb25TZXJ2aWNlIH0gZnJvbSAnLi90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYXBwLXRvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi5jb21wb25lbnQuY3NzJ11cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBUb3R2c1NjaGVkdWxlRXhlY3V0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3NjaGVkdWxlRXhlY3V0aW9uRm9ybScsIHsgc3RhdGljOiB0cnVlIH0pIHNjaGVkdWxlRXhlY3V0aW9uRm9ybTogTmdGb3JtO1xyXG5cclxuICAgIEBJbnB1dCgpIHByb2dyYW1OYW1lOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBleHRlcm5hbE5hbWU6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHByb2dyYW1FTVM1ID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBwcm9ncmFtVmVyc2lvbiA9ICcnO1xyXG4gICAgQElucHV0KCkgcGFyYW1ldGVyczogW107XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZFBhcmFtcyA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgQE91dHB1dCgpIGVuZEV4ZWN1dGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwdWJsaWMgcG9JMThuU2VydmljZTogUG9JMThuU2VydmljZSxcclxuICAgICAgICBwdWJsaWMgcnB3U2VydmljZTogVG90dnNTY2hlZHVsZUV4ZWN1dGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHBvTm90aWZpY2F0aW9uOiBQb05vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgIH1cclxuXHJcbiAgICBleGVjdXRpb25UeXBlT3B0aW9uczogQXJyYXk8UG9SYWRpb0dyb3VwT3B0aW9uPjtcclxuICAgIGZyZXF1ZW5jeU9wdGlvbnM6IEFycmF5PFBvUmFkaW9Hcm91cE9wdGlvbj47XHJcbiAgICBmcmVxdWVuY3lUeXBlT3B0aW9uczogQXJyYXk8UG9SYWRpb0dyb3VwT3B0aW9uPjtcclxuICAgIHdlZWtseU9wdGlvbnM6IEFycmF5PFBvUmFkaW9Hcm91cE9wdGlvbj47XHJcbiAgICB6b29tUnB3U2VydmljZUNvbHVtbnM6IEFycmF5PFBvTG9va3VwQ29sdW1uPjtcclxuICAgIG1vZGVsOiBTY2hlZHVsZVBhcmFtZXRlcnM7XHJcbiAgICBwcml2YXRlIGpzb25PYmplY3Q6IGFueSA9IHt9O1xyXG5cclxuICAgIGxpdGVyYWxzOiBhbnkgPSB7fTtcclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICAvKiBWRVJJRklDQVIgQ09NTyBGSUNBUsOBIEEgVFJBRFXDh8ODT1xyXG4gICAgICAgIGZvcmtKb2luKFxyXG4gICAgICAgICAgICAgIHRoaXMucG9JMThuU2VydmljZS5nZXRMaXRlcmFscygpLFxyXG4gICAgICAgICAgICAgIHRoaXMucG9JMThuU2VydmljZS5nZXRMaXRlcmFscyh7IGNvbnRleHQ6ICdnZW5lcmFsUnB3JyB9KVxyXG4gICAgICAgICAgKS5zdWJzY3JpYmUobGl0ZXJhbHMgPT4ge1xyXG4gICAgICAgICAgICAgIGxpdGVyYWxzLm1hcChpdGVtID0+IE9iamVjdC5hc3NpZ24odGhpcy5saXRlcmFscywgaXRlbSkgKTtcclxuICAgICAgICAgICAgICB0aGlzLnNldHVwQ29tcG9uZW50cygpO1xyXG4gICAgICAgICAgfSk7Ki9cclxuXHJcbiAgICAgICAgdGhpcy5zZXR1cENvbXBvbmVudHMoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXR1cENvbXBvbmVudHMoKSB7XHJcbiAgICAgICAgdGhpcy5leGVjdXRpb25UeXBlT3B0aW9ucyA9IFtcclxuICAgICAgICAgICAgeyBsYWJlbDogJ0V4ZWN1dGFyIEhvamUnLCB2YWx1ZTogMSB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnQWdlbmRhciBFeGVjdcOnw6NvJywgdmFsdWU6IDIgfVxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIHRoaXMuZnJlcXVlbmN5T3B0aW9ucyA9IFtcclxuICAgICAgICAgICAgeyBsYWJlbDogJ1VtYSB2ZXogbm8gZGlhJywgdmFsdWU6ICdubycgfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ1bDoXJpYXMgdmV6ZXMgbm8gZGlhJywgdmFsdWU6ICd5ZXMnIH1cclxuICAgICAgICBdO1xyXG5cclxuICAgICAgICB0aGlzLmZyZXF1ZW5jeVR5cGVPcHRpb25zID0gW1xyXG4gICAgICAgICAgICB7IGxhYmVsOiAnSG9yYShzKScsIHZhbHVlOiAnaG91cicgfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ01pbnV0byhzKScsIHZhbHVlOiAnbWludXRlJyB9XHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgdGhpcy53ZWVrbHlPcHRpb25zID0gW1xyXG4gICAgICAgICAgICB7IGxhYmVsOiAnRG9taW5nbycsIHZhbHVlOiAnU3VuZGF5JyB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnU2VndW5kYScsIHZhbHVlOiAnTW9uZGF5JyB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnVGVyw6dhJywgdmFsdWU6ICdUdWVzZGF5JyB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnUXVhcnRhJywgdmFsdWU6ICdXZWRuZXNkYXknIH0sXHJcbiAgICAgICAgICAgIHsgbGFiZWw6ICdRdWludGEnLCB2YWx1ZTogJ1RodXJzZGF5JyB9LFxyXG4gICAgICAgICAgICB7IGxhYmVsOiAnU2V4dGEnLCB2YWx1ZTogJ0ZyaWRheScgfSxcclxuICAgICAgICAgICAgeyBsYWJlbDogJ1PDoWJhZG8nLCB2YWx1ZTogJ1NhdHVyZGF5JyB9XHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgdGhpcy56b29tUnB3U2VydmljZUNvbHVtbnMgPSBbXHJcbiAgICAgICAgICAgIHsgcHJvcGVydHk6ICdjb2RlJywgbGFiZWw6ICdTZXJ2aWRvcicsIHR5cGU6ICdzdHJpbmcnLCB3aWR0aDogJzIwJScgfSxcclxuICAgICAgICAgICAgeyBwcm9wZXJ0eTogJ25hbWUnLCBsYWJlbDogJ0Rlc2NyacOnw6NvJywgdHlwZTogJ3N0cmluZycsIHdpZHRoOiAnODAlJyB9XHJcbiAgICAgICAgXTtcclxuXHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IG5ldyBTY2hlZHVsZVBhcmFtZXRlcnMoKTtcclxuICAgICAgICB0aGlzLm1vZGVsLmV4ZWN1dGlvblR5cGUgPSAxO1xyXG4gICAgICAgIHRoaXMubW9kZWwucmVwZWF0VHlwZSA9IDE7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5yZXBlYXRFeGVjdXRpb24gPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0U2NoZWR1bGVQYXJhbWV0ZXJzKHNjaFBhcmFtOiBJU2NoZWR1bGVQYXJhbWV0ZXJzKSB7XHJcbiAgICAgICAgaWYgKCFzY2hQYXJhbSkgeyByZXR1cm47IH1cclxuICAgICAgICB0aGlzLm1vZGVsID0gc2NoUGFyYW07XHJcbiAgICB9XHJcblxyXG4gICAgZmllbGRScHdTZXJ2aWNlRm9ybWF0KHZhbHVlKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke3ZhbHVlLmNvZGV9IC0gJHt2YWx1ZS5uYW1lfWA7XHJcbiAgICB9XHJcblxyXG4gICAgaXNFeGVjdXRpb25TY2hlZHVsZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMubW9kZWwuZXhlY3V0aW9uVHlwZSA9PT0gMik7XHJcbiAgICB9XHJcblxyXG4gICAgaXNSZXBlYXRFeGVjdXRpb24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kZWwucmVwZWF0RXhlY3V0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGlzRnJlbnF1ZW5jeSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMubW9kZWwuZnJlcXVlbmN5ID09PSAneWVzJyk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlUmVwZWF0RXhlY3V0aW9uKCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCkgeyB0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckluaXQgPSBgJHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRIb3VycygpKX06JHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRNaW51dGVzKCkpfWA7IH1cclxuICAgICAgICBpZiAoIXRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VyRmluYWwpIHsgdGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJGaW5hbCA9IGAke3RoaXMuYWRkWmVybyhkYXRlLmdldEhvdXJzKCkpfToke3RoaXMuYWRkWmVybyhkYXRlLmdldE1pbnV0ZXMoKSl9YDsgfVxyXG4gICAgICAgIHRoaXMubW9kZWwuc2VsZWN0V2Vla2x5cyA9IFtdO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZGF5T2ZNb250aCA9IDA7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5mcmVxdWVuY3kgPSAnbm8nO1xyXG4gICAgICAgIHRoaXMubW9kZWwuZnJlcXVlbmN5VHlwZSA9ICdob3VyJztcclxuICAgICAgICB0aGlzLm1vZGVsLmZyZXF1ZW5jeVZhbHVlID0gMDtcclxuICAgIH1cclxuXHJcbiAgICBjaGFuZ2VFeGVjdXRpb25UeXBlKCkge1xyXG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgICAgICB0aGlzLm1vZGVsLmV4ZWNBcHBvaW50RGF0ZSA9IGRhdGU7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXIgPSBgJHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRIb3VycygpKX06JHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRNaW51dGVzKCkpfWA7XHJcbiAgICB9XHJcblxyXG4gICAgY2hhbmdlVHlwZUZyZXF1ZW5jeSgpIHtcclxuICAgIH1cclxuXHJcbiAgICBnZXRBY3RpdmVUYWIoY29kVGFiOiBudW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gKHRoaXMubW9kZWwucmVwZWF0VHlwZSA9PT0gY29kVGFiKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRBY3RpdmVUYWIoY29kVGFiOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLm1vZGVsLnJlcGVhdFR5cGUgPSBjb2RUYWI7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkWmVybyhudW06IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHN0ciA9IGAke251bX1gO1xyXG4gICAgICAgIGlmIChudW0gPCAxMCkgeyBzdHIgPSBgMCR7bnVtfWA7IH1cclxuICAgICAgICByZXR1cm4gc3RyO1xyXG4gICAgfVxyXG5cclxuICAgIGV4ZWN1dGVTY2hlZHVsZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZFBhcmFtcykgeyByZXR1cm47IH1cclxuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGUoKSkgeyByZXR1cm47IH1cclxuXHJcbiAgICAgICAgdGhpcy5qc29uT2JqZWN0ID0ge307XHJcbiAgICAgICAgdGhpcy5qc29uT2JqZWN0LnN0YXR1cyA9ICdhY3RpdmUnO1xyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdC5wcm9jZXNzSUQgPSB0aGlzLnByb2dyYW1OYW1lO1xyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdC5yZWN1cnJlbnQgPSB0aGlzLm1vZGVsLnJlcGVhdEV4ZWN1dGlvbjtcclxuICAgICAgICB0aGlzLmpzb25PYmplY3QuZXhlY3V0aW9uUGFyYW1ldGVyID0ge307XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmV4ZWN1dGlvblR5cGUgPT09IDEpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuanNvbk9iamVjdC5maXJzdEV4ZWN1dGlvbiA9IGAke2RhdGUuZ2V0RnVsbFllYXIoKX0tJHsoZGF0ZS5nZXRNb250aCgpICsgMSl9LSR7ZGF0ZS5nZXREYXRlKCl9VCR7dGhpcy5hZGRaZXJvKGRhdGUuZ2V0SG91cnMoKSl9OiR7dGhpcy5hZGRaZXJvKGRhdGUuZ2V0TWludXRlcygpKX06MDAuMDAwWmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLmV4ZWN1dGlvblR5cGUgPT09IDIpIHtcclxuICAgICAgICAgICAgdGhpcy5qc29uT2JqZWN0LmZpcnN0RXhlY3V0aW9uID0gYCR7dGhpcy5tb2RlbC5leGVjQXBwb2ludERhdGV9VCR7dGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJ9OjAwLjAwMFpgO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5qc29uT2JqZWN0LmV4ZWN1dGlvblBhcmFtZXRlci5wYXJhbWV0cm9zID0gW107XHJcbiAgICAgICAgdGhpcy5qc29uT2JqZWN0LmV4ZWN1dGlvblBhcmFtZXRlci5wYXJhbWV0cm9zWzBdID0geyBjaGF2ZTogJ3Jwd1NlcnZlcicsIHZhbG9yOiB0aGlzLm1vZGVsLmV4ZWN1dGlvblNlcnZlciB9O1xyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdC5leGVjdXRpb25QYXJhbWV0ZXIucGFyYW1ldHJvc1sxXSA9IHsgY2hhdmU6ICdSUFdfUFJPR1JBTScsIHZhbG9yOiB0aGlzLmV4dGVybmFsTmFtZSB9O1xyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdC5leGVjdXRpb25QYXJhbWV0ZXIucGFyYW1ldHJvc1syXSA9IHsgY2hhdmU6ICdSUFdfUFJHX0VNUzUnLCB2YWxvcjogdGhpcy5wcm9ncmFtRU1TNSA/ICd5ZXMnIDogJ25vJyB9O1xyXG4gICAgICAgIHRoaXMuanNvbk9iamVjdC5leGVjdXRpb25QYXJhbWV0ZXIucGFyYW1ldHJvc1szXSA9IHsgY2hhdmU6ICdSUFdfUFJHX1ZFUlMnLCB2YWxvcjogdGhpcy5wcm9ncmFtVmVyc2lvbiB9O1xyXG5cclxuICAgICAgICB0aGlzLmpzb25PYmplY3QuZXhlY3V0aW9uUGFyYW1ldGVyLnBhcmFtZXRyb3NbNF0gPSB7fTtcclxuICAgICAgICB0aGlzLmpzb25PYmplY3QuZXhlY3V0aW9uUGFyYW1ldGVyLnBhcmFtZXRyb3NbNF0ucGFyYW1ldHJvc19uZWdvY2lvID0gdGhpcy5wYXJhbWV0ZXJzO1xyXG5cclxuICAgICAgICAvLyBFeGVjdXRhIGhvamUgb3UgYWdlbmRhZGFcclxuICAgICAgICB0aGlzLnJwd1NlcnZpY2UuY3JlYXRlRXhlY3V0aW9uKHRoaXMuanNvbk9iamVjdCwgdGhpcy5sb2FkaW5nKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnBvTm90aWZpY2F0aW9uLnN1Y2Nlc3MoJ0FnZW5kYW1lbnRvIHJlYWxpemFkbyBjb20gc3VjZXNzbyAhJyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1vZGVsLnJlcGVhdEV4ZWN1dGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbC5yZXBlYXRUeXBlID09PSAxKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmplY3QuZGFpbHkgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaG91cjogdGhpcy5nZXRIb3VyT3JNaW51dGUodGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJJbml0LCAnaCcpLFxyXG4gICAgICAgICAgICAgICAgICAgIG1pbnV0ZTogdGhpcy5nZXRIb3VyT3JNaW51dGUodGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJJbml0LCAnbScpXHJcbiAgICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbC5yZXBlYXRUeXBlID09PSAyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpzb25PYmplY3Qud2Vla2x5ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhvdXI6IHRoaXMuZ2V0SG91ck9yTWludXRlKHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCwgJ2gnKSxcclxuICAgICAgICAgICAgICAgICAgICBtaW51dGU6IHRoaXMuZ2V0SG91ck9yTWludXRlKHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCwgJ20nKSxcclxuICAgICAgICAgICAgICAgICAgICBkYXlzT2ZXZWVrOiB0aGlzLm1vZGVsLnNlbGVjdFdlZWtseXNcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsLnJlcGVhdFR5cGUgPT09IDMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuanNvbk9iamVjdC5tb250aGx5ID0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhvdXI6IHRoaXMuZ2V0SG91ck9yTWludXRlKHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCwgJ2gnKSxcclxuICAgICAgICAgICAgICAgICAgICBtaW51dGU6IHRoaXMuZ2V0SG91ck9yTWludXRlKHRoaXMubW9kZWwuZXhlY0FwcG9pbnRIb3VySW5pdCwgJ20nKSxcclxuICAgICAgICAgICAgICAgICAgICBkYXk6IHRoaXMubW9kZWwuZGF5T2ZNb250aFxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuaXNGcmVucXVlbmN5KCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuanNvbk9iamVjdC5yYW5nZUV4ZWN1dGlvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZnJlcXVlbmN5OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHRoaXMubW9kZWwuZnJlcXVlbmN5VHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMubW9kZWwuZnJlcXVlbmN5VmFsdWVcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHJhbmdlTGltaXQ6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaG91cjogdGhpcy5nZXRIb3VyT3JNaW51dGUodGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJGaW5hbCwgJ2gnKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWludXRlOiB0aGlzLmdldEhvdXJPck1pbnV0ZSh0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckZpbmFsLCAnbScpXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gRXhlY3V0YSBhIGRpw6FyaWEsIHNlbWFuYWwgb3UgbWVuc2FsXHJcbiAgICAgICAgICAgIHRoaXMucnB3U2VydmljZS5jcmVhdGVFeGVjdXRpb24odGhpcy5qc29uT2JqZWN0LCB0aGlzLmxvYWRpbmcpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5lbmRFeGVjdXRpb24uZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRIb3VyT3JNaW51dGUodmFsdWU6IHN0cmluZywgdHlwZTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgICAgICBpZiAodHlwZSA9PT0gJ2gnKSB7IHJldHVybiArdmFsdWUuc3Vic3RyaW5nKDAsIDIpOyB9XHJcbiAgICAgICAgaWYgKHR5cGUgPT09ICdtJykgeyByZXR1cm4gK3ZhbHVlLnN1YnN0cmluZygzLCA2KTsgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbXBhcmVIb3VyKGhvdXJJbml0OiBzdHJpbmcsIGhvdXJGaW5hbDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGhvdXJJbml0ID09PSBob3VyRmluYWwpIHsgcmV0dXJuIGZhbHNlOyB9XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0SG91ck9yTWludXRlKGhvdXJJbml0LCAnaCcpIDwgdGhpcy5nZXRIb3VyT3JNaW51dGUoaG91ckZpbmFsLCAnaCcpKSB7IHJldHVybiB0cnVlOyB9XHJcbiAgICAgICAgaWYgKHRoaXMuZ2V0SG91ck9yTWludXRlKGhvdXJJbml0LCAnbScpID4gdGhpcy5nZXRIb3VyT3JNaW51dGUoaG91ckZpbmFsLCAnbScpKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXRlKCk6IGJvb2xlYW4ge1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuc2NoZWR1bGVFeGVjdXRpb25Gb3JtLnZhbGlkKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9Ob3RpZmljYXRpb24uZXJyb3IoJ1ZlcmlmaXF1ZSBhcyBpbmNvbnNpc3TDqm5jaWFzIGVtIHRlbGEuJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5tb2RlbC5leGVjdXRpb25TZXJ2ZXIpIHtcclxuICAgICAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5lcnJvcignU2Vydmlkb3IgZGUgRXhlY3XDp8OjbyBuw6NvIGZvaSBpbmZvcm1hZG8uJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzRXhlY3V0aW9uU2NoZWR1bGUoKSAmJiAoIXRoaXMubW9kZWwuZXhlY0FwcG9pbnREYXRlIHx8ICF0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91cikpIHtcclxuICAgICAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5lcnJvcignSW5mb3JtYXIgYSBkYXRhIGUgYSBob3JhIHBhcmEgYWdlbmRhbWVudG8gZGEgZXhlY3XDp8Ojby4nKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubW9kZWwucmVwZWF0RXhlY3V0aW9uKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJJbml0KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvTm90aWZpY2F0aW9uLmVycm9yKCdJbmZvcm1hciBhIGhvcmEgZGUgaW7DrWNpbyBwYXJhIGEgZXhlY3XDp8Ojby4nKTtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwucmVwZWF0VHlwZSA9PT0gMiAmJiAodGhpcy5tb2RlbC5zZWxlY3RXZWVrbHlzLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9Ob3RpZmljYXRpb24uZXJyb3IoJ0luZm9ybWFyIG9zIGRpYXMgZGEgc2VtYW5hIHBhcmEgYSBleGVjdcOnw6NvLicpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbC5yZXBlYXRUeXBlID09PSAzICYmICghdGhpcy5tb2RlbC5kYXlPZk1vbnRoKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5lcnJvcignSW5mb3JtYXIgbyBkaWEgcGFyYSBhIGV4ZWN1w6fDo28uJyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRnJlbnF1ZW5jeSgpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29tcGFyZUhvdXIodGhpcy5tb2RlbC5leGVjQXBwb2ludEhvdXJJbml0LCB0aGlzLm1vZGVsLmV4ZWNBcHBvaW50SG91ckZpbmFsKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucG9Ob3RpZmljYXRpb24uZXJyb3IoJ0hvcmEgRmltIGRldmUgc2VyIG1haW9yIHF1ZSBIb3JhIEluw61jaW8uJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsLmZyZXF1ZW5jeVZhbHVlID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb05vdGlmaWNhdGlvbi5lcnJvcignSW5mb3JtYXIgYSBmcmVxdcOqbmNpYSBkZSBleGVjdcOnw6NvIChBIGNhZGEgaG9yYS9taW51dG8pLicpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,190 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { HttpClient, HttpErrorResponse } from '@angular/common/http';
3
- import { map } from 'rxjs/operators';
4
- import { ExecutionStatus } from './totvs-schedule-execution.model';
5
- export class TotvsScheduleExecutionService {
6
- constructor(http) {
7
- this.http = http;
8
- this.headers = { headers: { 'X-PO-Screen-Lock': 'true' } };
9
- this.urlCadServidor = '/dts/datasul-rest/resources/prg/btb/v1/servidoresExecucao';
10
- this.urlJobScheduler = '/dts/datasul-rest/resources/prg/framework/v1/jobScheduler';
11
- this.urlJobExecution = '/dts/datasul-rest/resources/prg/framework/v1/jobExecution';
12
- }
13
- getFilteredItems(params) {
14
- const urlParams = new Array();
15
- urlParams.push(`pageSize=${params.pageSize.toString()}`);
16
- urlParams.push(`page=${params.page.toString()}`);
17
- if (params.filter && params.filter.length > 0) {
18
- urlParams.push(`quickSearch=${params.filter}`);
19
- }
20
- return this.http.get(`${this.urlCadServidor}?${urlParams.join('&')}`);
21
- }
22
- getObjectByValue(id) {
23
- return this.http.get(`${this.urlCadServidor}/${id}`, this.headers);
24
- }
25
- createExecution(parameters, loading) {
26
- const params = JSON.parse(JSON.stringify(parameters).replace(/\\\\/g, '*|'));
27
- if (loading) {
28
- return this.http.post(`${this.urlJobScheduler}`, params, this.headers);
29
- }
30
- else {
31
- return this.http.post(`${this.urlJobScheduler}`, params);
32
- }
33
- }
34
- createExecutionForNow(executionParams, loading) {
35
- let jobScheduleParams;
36
- const date = new Date();
37
- const params = JSON.parse(JSON.stringify(executionParams).replace(/\\\\/g, '*|'));
38
- if (!params.businessParams || params.businessParams.length === 0) {
39
- params.businessParams = [{ chave: '', valor: '' }];
40
- }
41
- jobScheduleParams = {};
42
- jobScheduleParams.status = 'active';
43
- jobScheduleParams.processID = params.programName;
44
- jobScheduleParams.firstExecution = `${date.getFullYear()}-${(date.getMonth() + 1)}-${date.getDate()}T${this.addZero(date.getHours())}:${this.addZero(date.getMinutes())}:00.000Z`;
45
- jobScheduleParams.recurrent = false;
46
- jobScheduleParams.executionParameter = {
47
- parametros: [
48
- { chave: 'rpwServer', valor: params.executionServer },
49
- { chave: 'RPW_PROGRAM', valor: params.externalName },
50
- { chave: 'RPW_PRG_EMS5', valor: params.programEMS5 ? 'yes' : 'no' },
51
- { chave: 'RPW_PRG_VERS', valor: params.programVersion },
52
- { parametros_negocio: params.businessParams }
53
- ]
54
- };
55
- if (loading) {
56
- return this.http.post(`${this.urlJobScheduler}`, jobScheduleParams, this.headers);
57
- }
58
- else {
59
- return this.http.post(`${this.urlJobScheduler}`, jobScheduleParams);
60
- }
61
- }
62
- getExecutionByJobScheduleID(jobScheduleID, loading = false) {
63
- const url = `${this.urlJobExecution}?jobScheduleID=${jobScheduleID}`;
64
- return this.getExecution(url, loading).pipe(map((response) => this.transformExecution('jobScheduleID', response)));
65
- }
66
- getExecutionByExecutionID(executionID, loading = false) {
67
- const url = `${this.urlJobExecution}/${executionID}`;
68
- return this.getExecution(url, loading).pipe(map((response) => this.transformExecution('executionID', response)));
69
- }
70
- getExecution(url, loading) {
71
- if (loading) {
72
- return this.http.get(url, this.headers);
73
- }
74
- else {
75
- return this.http.get(url);
76
- }
77
- }
78
- transformExecution(type, response) {
79
- if (!response || !response.items || response.items.length === 0) {
80
- return;
81
- }
82
- response = response.items[0];
83
- const execStatus = new ExecutionStatus();
84
- execStatus.jobScheduleID = response.jobScheduleID;
85
- execStatus.executionID = response.executionID;
86
- execStatus.startedDate = response.startedDate;
87
- execStatus.error = response.error;
88
- execStatus.status = response.status;
89
- return execStatus;
90
- }
91
- followUpExcByJobScheduleID(jobScheduleID, intervalNum, fncCallBack, loading = false) {
92
- this.followUpExecution('jobScheduleID', jobScheduleID, intervalNum, fncCallBack, loading);
93
- }
94
- followUpExcByExecutionID(executionID, intervalNum, fncCallBack, loading = false) {
95
- this.followUpExecution('executionID', executionID, intervalNum, fncCallBack, loading);
96
- }
97
- followUpExecution(type, execID, intervalNum, fncCallBack, loading) {
98
- this.jobExecutionSubscription$ = null;
99
- const intervalID = setInterval(() => {
100
- const execStatus = new ExecutionStatus();
101
- execStatus.jobScheduleID = (type === 'jobScheduleID') ? execID : '';
102
- execStatus.executionID = (type === 'executionID') ? execID : '';
103
- execStatus.startedDate = null;
104
- execStatus.error = '';
105
- execStatus.status = 'PENDING'; // PENDING, RUNNING, SUCCESS, FAILURE
106
- if (this.jobExecutionSubscription$) {
107
- return;
108
- }
109
- if (type === 'jobScheduleID') {
110
- this.jobExecutionSubscription$ = this.getExecutionByJobScheduleID(execID, loading)
111
- .subscribe((response) => {
112
- this.followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack);
113
- }, (error) => {
114
- this.followUpExecReturnError(error, execStatus, intervalID, fncCallBack);
115
- });
116
- }
117
- if (type === 'executionID') {
118
- this.jobExecutionSubscription$ = this.getExecutionByExecutionID(execID, loading)
119
- .subscribe((response) => {
120
- this.followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack);
121
- }, (error) => {
122
- this.followUpExecReturnError(error, execStatus, intervalID, fncCallBack);
123
- });
124
- }
125
- }, intervalNum);
126
- }
127
- followUpExecReturnOk(execID, execStatus, response, intervalID, fncCallBack) {
128
- if (response) {
129
- execStatus = response;
130
- }
131
- else {
132
- execStatus.error = `Agendamento não encontrado com ID: ${execID}`;
133
- execStatus.status = 'FAILURE';
134
- }
135
- if (!fncCallBack(execStatus) ||
136
- execStatus.status === 'SUCCESS' ||
137
- execStatus.status === 'FAILURE') {
138
- clearInterval(intervalID);
139
- }
140
- this.jobExecutionSubscription$ = null;
141
- }
142
- followUpExecReturnError(error, execStatus, intervalID, fncCallBack) {
143
- let erroDesc = '';
144
- if (error instanceof HttpErrorResponse) {
145
- erroDesc = error.message;
146
- if (error.error) {
147
- erroDesc = '';
148
- if (error.error.code) {
149
- erroDesc = error.error.code;
150
- }
151
- if (error.error.message) {
152
- erroDesc = `${erroDesc} - ${error.error.message}`;
153
- }
154
- if (error.error.detailedMessage) {
155
- erroDesc = `${erroDesc} - ${error.error.detailedMessage}`;
156
- }
157
- }
158
- }
159
- else {
160
- erroDesc = error;
161
- }
162
- execStatus.error = erroDesc;
163
- execStatus.status = 'FAILURE';
164
- fncCallBack(execStatus);
165
- clearInterval(intervalID);
166
- this.jobExecutionSubscription$ = null;
167
- }
168
- addZero(num) {
169
- let str = `${num}`;
170
- if (num < 10) {
171
- str = `0${num}`;
172
- }
173
- return str;
174
- }
175
- }
176
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
177
- TotvsScheduleExecutionService.decorators = [
178
- { type: Injectable }
179
- ];
180
- /**
181
- * @type {function(): !Array<(null|{
182
- * type: ?,
183
- * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
184
- * })>}
185
- * @nocollapse
186
- */
187
- TotvsScheduleExecutionService.ctorParameters = () => [
188
- { type: HttpClient }
189
- ];
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvY29tcG9uZW50cy90b3R2cy1zY2hlZHVsZS1leGVjdXRpb24vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFckUsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxlQUFlLEVBQTBDLE1BQU0sa0NBQWtDLENBQUM7QUFHM0csTUFBTSxPQUFPLDZCQUE2QjtJQWF0QyxZQUFtQixJQUFnQjtRQUFoQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBWDNCLFlBQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFFdEQsbUJBQWMsR0FBRywyREFBMkQsQ0FBQztRQUM3RSxvQkFBZSxHQUFHLDJEQUEyRCxDQUFDO1FBQzlFLG9CQUFlLEdBQUcsMkRBQTJELENBQUM7SUFPL0MsQ0FBQztJQUV4QyxnQkFBZ0IsQ0FBQyxNQUFtQztRQUNoRCxNQUFNLFNBQVMsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBRXRDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakQsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJ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SUFBSSxHQUFHLEVBQUUsQ0FBQztTQUFFO1FBQ2xDLE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQzs7OztZQTFNSixVQUFVOzs7Ozs7Ozs7O1lBTkYsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFBvTG9va3VwRmlsdGVyZWRJdGVtc1BhcmFtcyB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgRXhlY3V0aW9uU3RhdHVzLCBJRXhlY3V0aW9uUGFyYW1ldGVycywgSUV4ZWN1dGlvblN0YXR1cyB9IGZyb20gJy4vdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFRvdHZzU2NoZWR1bGVFeGVjdXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgICBwcml2YXRlIGhlYWRlcnMgPSB7IGhlYWRlcnM6IHsgJ1gtUE8tU2NyZWVuLUxvY2snOiAndHJ1ZScgfSB9O1xyXG5cclxuICAgIHByaXZhdGUgdXJsQ2FkU2Vydmlkb3IgPSAnL2R0cy9kYXRhc3VsLXJlc3QvcmVzb3VyY2VzL3ByZy9idGIvdjEvc2Vydmlkb3Jlc0V4ZWN1Y2FvJztcclxuICAgIHByaXZhdGUgdXJsSm9iU2NoZWR1bGVyID0gJy9kdHMvZGF0YXN1bC1yZXN0L3Jlc291cmNlcy9wcmcvZnJhbWV3b3JrL3YxL2pvYlNjaGVkdWxlcic7XHJcbiAgICBwcml2YXRlIHVybEpvYkV4ZWN1dGlvbiA9ICcvZHRzL2RhdGFzdWwtcmVzdC9yZXNvdXJjZXMvcHJnL2ZyYW1ld29yay92MS9qb2JFeGVjdXRpb24nO1xyXG5cclxuICAgIC8vIHByaXZhdGUgdXJsQ2FkU2Vydmlkb3IgPSAnL2dlbmVyaWNzWm9vbSc7XHJcbiAgICAvLyBwcml2YXRlIHVybEpvYlNjaGVkdWxlciA9ICcvam9iU2NoZWR1bGVyJztcclxuXHJcbiAgICBwcml2YXRlIGpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQ6IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCkgeyB9XHJcblxyXG4gICAgZ2V0RmlsdGVyZWRJdGVtcyhwYXJhbXM6IFBvTG9va3VwRmlsdGVyZWRJdGVtc1BhcmFtcyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3QgdXJsUGFyYW1zID0gbmV3IEFycmF5PHN0cmluZz4oKTtcclxuXHJcbiAgICAgICAgdXJsUGFyYW1zLnB1c2goYHBhZ2VTaXplPSR7cGFyYW1zLnBhZ2VTaXplLnRvU3RyaW5nKCl9YCk7XHJcbiAgICAgICAgdXJsUGFyYW1zLnB1c2goYHBhZ2U9JHtwYXJhbXMucGFnZS50b1N0cmluZygpfWApO1xyXG5cclxuICAgICAgICBpZiAocGFyYW1zLmZpbHRlciAmJiBwYXJhbXMuZmlsdGVyLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdXJsUGFyYW1zLnB1c2goYHF1aWNrU2VhcmNoPSR7cGFyYW1zLmZpbHRlcn1gKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudXJsQ2FkU2Vydmlkb3J9PyR7dXJsUGFyYW1zLmpvaW4oJyYnKX1gKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRPYmplY3RCeVZhbHVlKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy51cmxDYWRTZXJ2aWRvcn0vJHtpZH1gLCB0aGlzLmhlYWRlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGNyZWF0ZUV4ZWN1dGlvbihwYXJhbWV0ZXJzOiBPYmplY3QsIGxvYWRpbmc6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycykucmVwbGFjZSgvXFxcXFxcXFwvZywgJyp8JykpO1xyXG5cclxuICAgICAgICBpZiAobG9hZGluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy51cmxKb2JTY2hlZHVsZXJ9YCwgcGFyYW1zLCB0aGlzLmhlYWRlcnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnVybEpvYlNjaGVkdWxlcn1gLCBwYXJhbXMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjcmVhdGVFeGVjdXRpb25Gb3JOb3coZXhlY3V0aW9uUGFyYW1zOiBJRXhlY3V0aW9uUGFyYW1ldGVycywgbG9hZGluZzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgbGV0IGpvYlNjaGVkdWxlUGFyYW1zOiBhbnk7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZXhlY3V0aW9uUGFyYW1zKS5yZXBsYWNlKC9cXFxcXFxcXC9nLCAnKnwnKSk7XHJcbiAgICAgICAgaWYgKCFwYXJhbXMuYnVzaW5lc3NQYXJhbXMgfHwgcGFyYW1zLmJ1c2luZXNzUGFyYW1zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICBwYXJhbXMuYnVzaW5lc3NQYXJhbXMgPSBbeyBjaGF2ZTogJycsIHZhbG9yOiAnJyB9XTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGpvYlNjaGVkdWxlUGFyYW1zID0ge307XHJcbiAgICAgICAgam9iU2NoZWR1bGVQYXJhbXMuc3RhdHVzID0gJ2FjdGl2ZSc7XHJcbiAgICAgICAgam9iU2NoZWR1bGVQYXJhbXMucHJvY2Vzc0lEID0gcGFyYW1zLnByb2dyYW1OYW1lO1xyXG4gICAgICAgIGpvYlNjaGVkdWxlUGFyYW1zLmZpcnN0RXhlY3V0aW9uID0gYCR7ZGF0ZS5nZXRGdWxsWWVhcigpfS0keyhkYXRlLmdldE1vbnRoKCkgKyAxKX0tJHtkYXRlLmdldERhdGUoKX1UJHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRIb3VycygpKX06JHt0aGlzLmFkZFplcm8oZGF0ZS5nZXRNaW51dGVzKCkpfTowMC4wMDBaYDtcclxuICAgICAgICBqb2JTY2hlZHVsZVBhcmFtcy5yZWN1cnJlbnQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgam9iU2NoZWR1bGVQYXJhbXMuZXhlY3V0aW9uUGFyYW1ldGVyID0ge1xyXG4gICAgICAgICAgICBwYXJhbWV0cm9zOiBbXHJcbiAgICAgICAgICAgICAgICB7IGNoYXZlOiAncnB3U2VydmVyJywgdmFsb3I6IHBhcmFtcy5leGVjdXRpb25TZXJ2ZXIgfSxcclxuICAgICAgICAgICAgICAgIHsgY2hhdmU6ICdSUFdfUFJPR1JBTScsIHZhbG9yOiBwYXJhbXMuZXh0ZXJuYWxOYW1lIH0sXHJcbiAgICAgICAgICAgICAgICB7IGNoYXZlOiAnUlBXX1BSR19FTVM1JywgdmFsb3I6IHBhcmFtcy5wcm9ncmFtRU1TNSA/ICd5ZXMnIDogJ25vJyB9LFxyXG4gICAgICAgICAgICAgICAgeyBjaGF2ZTogJ1JQV19QUkdfVkVSUycsIHZhbG9yOiBwYXJhbXMucHJvZ3JhbVZlcnNpb24gfSxcclxuICAgICAgICAgICAgICAgIHsgcGFyYW1ldHJvc19uZWdvY2lvOiBwYXJhbXMuYnVzaW5lc3NQYXJhbXMgfVxyXG4gICAgICAgICAgICBdXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgaWYgKGxvYWRpbmcpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudXJsSm9iU2NoZWR1bGVyfWAsIGpvYlNjaGVkdWxlUGFyYW1zLCB0aGlzLmhlYWRlcnMpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnVybEpvYlNjaGVkdWxlcn1gLCBqb2JTY2hlZHVsZVBhcmFtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldEV4ZWN1dGlvbkJ5Sm9iU2NoZWR1bGVJRChqb2JTY2hlZHVsZUlEOiBzdHJpbmcsIGxvYWRpbmcgPSBmYWxzZSk6IE9ic2VydmFibGU8SUV4ZWN1dGlvblN0YXR1cz4ge1xyXG4gICAgICAgIGNvbnN0IHVybCA9IGAke3RoaXMudXJsSm9iRXhlY3V0aW9ufT9qb2JTY2hlZHVsZUlEPSR7am9iU2NoZWR1bGVJRH1gO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEV4ZWN1dGlvbih1cmwsIGxvYWRpbmcpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHRoaXMudHJhbnNmb3JtRXhlY3V0aW9uKCdqb2JTY2hlZHVsZUlEJywgcmVzcG9uc2UpKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0RXhlY3V0aW9uQnlFeGVjdXRpb25JRChleGVjdXRpb25JRDogc3RyaW5nLCBsb2FkaW5nID0gZmFsc2UpOiBPYnNlcnZhYmxlPElFeGVjdXRpb25TdGF0dXM+IHtcclxuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLnVybEpvYkV4ZWN1dGlvbn0vJHtleGVjdXRpb25JRH1gO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmdldEV4ZWN1dGlvbih1cmwsIGxvYWRpbmcpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHRoaXMudHJhbnNmb3JtRXhlY3V0aW9uKCdleGVjdXRpb25JRCcsIHJlc3BvbnNlKSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0RXhlY3V0aW9uKHVybDogc3RyaW5nLCBsb2FkaW5nOiBib29sZWFuKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgICAgICBpZiAobG9hZGluZykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldCh1cmwsIHRoaXMuaGVhZGVycyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSB0cmFuc2Zvcm1FeGVjdXRpb24odHlwZTogc3RyaW5nLCByZXNwb25zZTogYW55KTogSUV4ZWN1dGlvblN0YXR1cyB7XHJcbiAgICAgICAgaWYgKCFyZXNwb25zZSB8fCAhcmVzcG9uc2UuaXRlbXMgfHwgcmVzcG9uc2UuaXRlbXMubGVuZ3RoID09PSAwKSB7IHJldHVybjsgfVxyXG4gICAgICAgIHJlc3BvbnNlID0gcmVzcG9uc2UuaXRlbXNbMF07XHJcblxyXG4gICAgICAgIGNvbnN0IGV4ZWNTdGF0dXMgPSBuZXcgRXhlY3V0aW9uU3RhdHVzKCk7XHJcbiAgICAgICAgZXhlY1N0YXR1cy5qb2JTY2hlZHVsZUlEID0gcmVzcG9uc2Uuam9iU2NoZWR1bGVJRDtcclxuICAgICAgICBleGVjU3RhdHVzLmV4ZWN1dGlvbklEID0gcmVzcG9uc2UuZXhlY3V0aW9uSUQ7XHJcbiAgICAgICAgZXhlY1N0YXR1cy5zdGFydGVkRGF0ZSA9IHJlc3BvbnNlLnN0YXJ0ZWREYXRlO1xyXG4gICAgICAgIGV4ZWNTdGF0dXMuZXJyb3IgPSByZXNwb25zZS5lcnJvcjtcclxuICAgICAgICBleGVjU3RhdHVzLnN0YXR1cyA9IHJlc3BvbnNlLnN0YXR1cztcclxuXHJcbiAgICAgICAgcmV0dXJuIGV4ZWNTdGF0dXM7XHJcbiAgICB9XHJcblxyXG4gICAgZm9sbG93VXBFeGNCeUpvYlNjaGVkdWxlSUQoam9iU2NoZWR1bGVJRDogc3RyaW5nLCBpbnRlcnZhbE51bTogbnVtYmVyLCBmbmNDYWxsQmFjazogRnVuY3Rpb24sIGxvYWRpbmcgPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9sbG93VXBFeGVjdXRpb24oJ2pvYlNjaGVkdWxlSUQnLCBqb2JTY2hlZHVsZUlELCBpbnRlcnZhbE51bSwgZm5jQ2FsbEJhY2ssIGxvYWRpbmcpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvbGxvd1VwRXhjQnlFeGVjdXRpb25JRChleGVjdXRpb25JRDogc3RyaW5nLCBpbnRlcnZhbE51bTogbnVtYmVyLCBmbmNDYWxsQmFjazogRnVuY3Rpb24sIGxvYWRpbmcgPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZm9sbG93VXBFeGVjdXRpb24oJ2V4ZWN1dGlvbklEJywgZXhlY3V0aW9uSUQsIGludGVydmFsTnVtLCBmbmNDYWxsQmFjaywgbG9hZGluZyk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmb2xsb3dVcEV4ZWN1dGlvbih0eXBlOiBzdHJpbmcsIGV4ZWNJRDogc3RyaW5nLFxyXG4gICAgICAgIGludGVydmFsTnVtOiBudW1iZXIsIGZuY0NhbGxCYWNrOiBGdW5jdGlvbiwgbG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xyXG5cclxuICAgICAgICB0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQgPSBudWxsO1xyXG5cclxuICAgICAgICBjb25zdCBpbnRlcnZhbElEID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBleGVjU3RhdHVzID0gbmV3IEV4ZWN1dGlvblN0YXR1cygpO1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLmpvYlNjaGVkdWxlSUQgPSAodHlwZSA9PT0gJ2pvYlNjaGVkdWxlSUQnKSA/IGV4ZWNJRCA6ICcnO1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLmV4ZWN1dGlvbklEID0gKHR5cGUgPT09ICdleGVjdXRpb25JRCcpID8gZXhlY0lEIDogJyc7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuc3RhcnRlZERhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLmVycm9yID0gJyc7XHJcbiAgICAgICAgICAgIGV4ZWNTdGF0dXMuc3RhdHVzID0gJ1BFTkRJTkcnOyAvLyBQRU5ESU5HLCBSVU5OSU5HLCBTVUNDRVNTLCBGQUlMVVJFXHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5qb2JFeGVjdXRpb25TdWJzY3JpcHRpb24kKSB7IHJldHVybjsgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdqb2JTY2hlZHVsZUlEJykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5qb2JFeGVjdXRpb25TdWJzY3JpcHRpb24kID0gdGhpcy5nZXRFeGVjdXRpb25CeUpvYlNjaGVkdWxlSUQoZXhlY0lELCBsb2FkaW5nKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBJRXhlY3V0aW9uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9sbG93VXBFeGVjUmV0dXJuT2soZXhlY0lELCBleGVjU3RhdHVzLCByZXNwb25zZSwgaW50ZXJ2YWxJRCwgZm5jQ2FsbEJhY2spO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvbGxvd1VwRXhlY1JldHVybkVycm9yKGVycm9yLCBleGVjU3RhdHVzLCBpbnRlcnZhbElELCBmbmNDYWxsQmFjayk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0eXBlID09PSAnZXhlY3V0aW9uSUQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQgPSB0aGlzLmdldEV4ZWN1dGlvbkJ5RXhlY3V0aW9uSUQoZXhlY0lELCBsb2FkaW5nKVxyXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBJRXhlY3V0aW9uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9sbG93VXBFeGVjUmV0dXJuT2soZXhlY0lELCBleGVjU3RhdHVzLCByZXNwb25zZSwgaW50ZXJ2YWxJRCwgZm5jQ2FsbEJhY2spO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvbGxvd1VwRXhlY1JldHVybkVycm9yKGVycm9yLCBleGVjU3RhdHVzLCBpbnRlcnZhbElELCBmbmNDYWxsQmFjayk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfSwgaW50ZXJ2YWxOdW0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9sbG93VXBFeGVjUmV0dXJuT2soZXhlY0lEOiBzdHJpbmcsIGV4ZWNTdGF0dXM6IElFeGVjdXRpb25TdGF0dXMsIHJlc3BvbnNlOiBJRXhlY3V0aW9uU3RhdHVzLFxyXG4gICAgICAgIGludGVydmFsSUQ6IGFueSwgZm5jQ2FsbEJhY2s6IEZ1bmN0aW9uKTogdm9pZCB7XHJcblxyXG4gICAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzID0gcmVzcG9uc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZXhlY1N0YXR1cy5lcnJvciA9IGBBZ2VuZGFtZW50byBuw6NvIGVuY29udHJhZG8gY29tIElEOiAke2V4ZWNJRH1gO1xyXG4gICAgICAgICAgICBleGVjU3RhdHVzLnN0YXR1cyA9ICdGQUlMVVJFJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghZm5jQ2FsbEJhY2soZXhlY1N0YXR1cykgfHxcclxuICAgICAgICAgICAgZXhlY1N0YXR1cy5zdGF0dXMgPT09ICdTVUNDRVNTJyB8fFxyXG4gICAgICAgICAgICBleGVjU3RhdHVzLnN0YXR1cyA9PT0gJ0ZBSUxVUkUnKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJRCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmpvYkV4ZWN1dGlvblN1YnNjcmlwdGlvbiQgPSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZm9sbG93VXBFeGVjUmV0dXJuRXJyb3IoZXJyb3I6IGFueSwgZXhlY1N0YXR1czogSUV4ZWN1dGlvblN0YXR1cyxcclxuICAgICAgICBpbnRlcnZhbElEOiBhbnksIGZuY0NhbGxCYWNrOiBGdW5jdGlvbik6IHZvaWQge1xyXG5cclxuICAgICAgICBsZXQgZXJyb0Rlc2MgPSAnJztcclxuXHJcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgZXJyb0Rlc2MgPSBlcnJvci5tZXNzYWdlO1xyXG4gICAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIGVycm9EZXNjID0gJyc7XHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IuZXJyb3IuY29kZSkgeyBlcnJvRGVzYyA9IGVycm9yLmVycm9yLmNvZGU7IH1cclxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5lcnJvci5tZXNzYWdlKSB7IGVycm9EZXNjID0gYCR7ZXJyb0Rlc2N9IC0gJHtlcnJvci5lcnJvci5tZXNzYWdlfWA7IH1cclxuICAgICAgICAgICAgICAgIGlmIChlcnJvci5lcnJvci5kZXRhaWxlZE1lc3NhZ2UpIHsgZXJyb0Rlc2MgPSBgJHtlcnJvRGVzY30gLSAke2Vycm9yLmVycm9yLmRldGFpbGVkTWVzc2FnZX1gOyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBlcnJvRGVzYyA9IGVycm9yO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZXhlY1N0YXR1cy5lcnJvciA9IGVycm9EZXNjO1xyXG4gICAgICAgIGV4ZWNTdGF0dXMuc3RhdHVzID0gJ0ZBSUxVUkUnO1xyXG4gICAgICAgIGZuY0NhbGxCYWNrKGV4ZWNTdGF0dXMpO1xyXG4gICAgICAgIGNsZWFySW50ZXJ2YWwoaW50ZXJ2YWxJRCk7XHJcbiAgICAgICAgdGhpcy5qb2JFeGVjdXRpb25TdWJzY3JpcHRpb24kID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFkZFplcm8obnVtOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBzdHIgPSBgJHtudW19YDtcclxuICAgICAgICBpZiAobnVtIDwgMTApIHsgc3RyID0gYDAke251bX1gOyB9XHJcbiAgICAgICAgcmV0dXJuIHN0cjtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,40 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { TotvsScheduleExecutionComponent } from './components/totvs-schedule-execution/totvs-schedule-execution.component';
3
- import { FormsModule } from '@angular/forms';
4
- import { PoModule } from '@po-ui/ng-components';
5
- import { HttpClientModule } from '@angular/common/http';
6
- // import { BrowserModule } from '@angular/platform-browser';
7
- import { TotvsScheduleExecutionService } from './components/totvs-schedule-execution/totvs-schedule-execution.service';
8
- import { CommonModule } from '@angular/common';
9
- import { DtsDateFormatPipe } from './pipes/dts-date-format.pipe';
10
- export class DtsBackofficeUtilsModule {
11
- static forRoot() {
12
- return {
13
- ngModule: DtsBackofficeUtilsModule,
14
- providers: [TotvsScheduleExecutionService]
15
- };
16
- }
17
- }
18
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
19
- DtsBackofficeUtilsModule.decorators = [
20
- { type: NgModule, args: [{
21
- declarations: [
22
- TotvsScheduleExecutionComponent,
23
- DtsDateFormatPipe
24
- ],
25
- imports: [
26
- CommonModule,
27
- PoModule,
28
- FormsModule,
29
- HttpClientModule
30
- ],
31
- exports: [
32
- TotvsScheduleExecutionComponent,
33
- DtsDateFormatPipe
34
- ],
35
- providers: [
36
- TotvsScheduleExecutionService
37
- ]
38
- },] }
39
- ];
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHRzLWJhY2tvZmZpY2UtdXRpbC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kdHMtYmFja29mZmljZS11dGlsL3NyYy9saWIvZHRzLWJhY2tvZmZpY2UtdXRpbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLCtCQUErQixFQUNoQyxNQUFNLDBFQUEwRSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELDZEQUE2RDtBQUM3RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx3RUFBd0UsQ0FBQztBQUN2SCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFzQmpFLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsTUFBTSxDQUFDLE9BQU87UUFDWixPQUFPO1lBQ0wsUUFBUSxFQUFFLHdCQUF3QjtZQUNsQyxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztTQUMzQyxDQUFDO0lBQ0osQ0FBQzs7OztZQTFCRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLCtCQUErQjtvQkFDL0IsaUJBQWlCO2lCQUNsQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsWUFBWTtvQkFDWixRQUFRO29CQUNSLFdBQVc7b0JBQ1gsZ0JBQWdCO2lCQUNqQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsK0JBQStCO29CQUMvQixpQkFBaUI7aUJBQ2xCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCw2QkFBNkI7aUJBQzlCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFRvdHZzU2NoZWR1bGVFeGVjdXRpb25Db21wb25lbnRcclxufSBmcm9tICcuL2NvbXBvbmVudHMvdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgUG9Nb2R1bGUsIFBvSTE4blNlcnZpY2UgfSBmcm9tICdAcG8tdWkvbmctY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbi8vIGltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgVG90dnNTY2hlZHVsZUV4ZWN1dGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbXBvbmVudHMvdG90dnMtc2NoZWR1bGUtZXhlY3V0aW9uL3RvdHZzLXNjaGVkdWxlLWV4ZWN1dGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRHRzRGF0ZUZvcm1hdFBpcGUgfSBmcm9tICcuL3BpcGVzL2R0cy1kYXRlLWZvcm1hdC5waXBlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBUb3R2c1NjaGVkdWxlRXhlY3V0aW9uQ29tcG9uZW50LFxyXG4gICAgRHRzRGF0ZUZvcm1hdFBpcGVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFBvTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUb3R2c1NjaGVkdWxlRXhlY3V0aW9uQ29tcG9uZW50LFxyXG4gICAgRHRzRGF0ZUZvcm1hdFBpcGVcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgVG90dnNTY2hlZHVsZUV4ZWN1dGlvblNlcnZpY2VcclxuICBdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHRzQmFja29mZmljZVV0aWxzTW9kdWxlIHtcclxuICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPER0c0JhY2tvZmZpY2VVdGlsc01vZHVsZT4ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmdNb2R1bGU6IER0c0JhY2tvZmZpY2VVdGlsc01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbVG90dnNTY2hlZHVsZUV4ZWN1dGlvblNlcnZpY2VdXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=