dts-backoffice-util 2.8.0 → 3.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 (58) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +53 -10
  3. package/bundles/dts-backoffice-util.umd.js +477 -1127
  4. package/bundles/dts-backoffice-util.umd.js.map +1 -1
  5. package/bundles/dts-backoffice-util.umd.min.js +1 -1
  6. package/bundles/dts-backoffice-util.umd.min.js.map +1 -1
  7. package/esm2015/dts-backoffice-util.js +3 -2
  8. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +3 -2
  9. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js +3 -2
  10. package/esm2015/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +3 -2
  11. package/esm2015/lib/dts-backoffice-util.module.js +3 -2
  12. package/esm2015/lib/interfaces/filter-range.interface.js +3 -2
  13. package/esm2015/lib/interfaces/totvs-response.interface.js +3 -2
  14. package/esm2015/lib/model/session-info.model.js +3 -2
  15. package/esm2015/lib/pipes/dts-date-format.pipe.js +3 -2
  16. package/esm2015/lib/services/breadcrumb-control.service.js +3 -2
  17. package/esm2015/lib/services/cache-params.service.js +3 -2
  18. package/esm2015/lib/services/menu-datasul.service.js +3 -2
  19. package/esm2015/lib/services/profile.service.js +3 -2
  20. package/esm2015/lib/services/report.service.js +7 -6
  21. package/esm2015/lib/services/session-info.service.js +3 -2
  22. package/esm2015/lib/services/translate.service.js +3 -2
  23. package/esm2015/lib/utils/date.util.js +3 -2
  24. package/esm2015/lib/utils/disclaimer.util.js +3 -2
  25. package/esm2015/lib/utils/field-validation.util.js +3 -2
  26. package/esm2015/lib/utils/file.util.js +21 -10
  27. package/esm2015/lib/utils/filter-range.util.js +3 -2
  28. package/esm2015/lib/utils/generic-functions.utils.js +3 -2
  29. package/esm2015/public-api.js +3 -2
  30. package/fesm2015/dts-backoffice-util.js +66 -34
  31. package/fesm2015/dts-backoffice-util.js.map +1 -1
  32. package/lib/utils/file.util.d.ts +1 -1
  33. package/package.json +8 -7
  34. package/esm5/dts-backoffice-util.js +0 -9
  35. package/esm5/lib/components/totvs-schedule-execution/totvs-schedule-execution.component.js +0 -448
  36. package/esm5/lib/components/totvs-schedule-execution/totvs-schedule-execution.model.js +0 -143
  37. package/esm5/lib/components/totvs-schedule-execution/totvs-schedule-execution.service.js +0 -434
  38. package/esm5/lib/dts-backoffice-util.module.js +0 -53
  39. package/esm5/lib/interfaces/filter-range.interface.js +0 -47
  40. package/esm5/lib/interfaces/totvs-response.interface.js +0 -16
  41. package/esm5/lib/model/session-info.model.js +0 -239
  42. package/esm5/lib/pipes/dts-date-format.pipe.js +0 -36
  43. package/esm5/lib/services/breadcrumb-control.service.js +0 -157
  44. package/esm5/lib/services/cache-params.service.js +0 -61
  45. package/esm5/lib/services/menu-datasul.service.js +0 -92
  46. package/esm5/lib/services/profile.service.js +0 -146
  47. package/esm5/lib/services/report.service.js +0 -137
  48. package/esm5/lib/services/session-info.service.js +0 -64
  49. package/esm5/lib/services/translate.service.js +0 -47
  50. package/esm5/lib/utils/date.util.js +0 -135
  51. package/esm5/lib/utils/disclaimer.util.js +0 -930
  52. package/esm5/lib/utils/field-validation.util.js +0 -358
  53. package/esm5/lib/utils/file.util.js +0 -251
  54. package/esm5/lib/utils/filter-range.util.js +0 -69
  55. package/esm5/lib/utils/generic-functions.utils.js +0 -358
  56. package/esm5/public-api.js +0 -37
  57. package/fesm5/dts-backoffice-util.js +0 -3933
  58. package/fesm5/dts-backoffice-util.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ **2.8.1 / 2.8.2 (16-11-2021):**
4
+
5
+ Melhorias:
6
+ - **FileUtil**<br>- No método **downloadFile** foi incluído o parâmetro "base64" (boolean) para indicar se o conteúdo recebido do backEnd está no formato base64 ou Blob.<br>- No método **downloadData**, caso seja informado o parâmetro **IDownloadDataParams.columnList**, indicando as colunas a serem exportadas, o método irá respeitar a ordem informada dos campos, desta forma, as colunas estarão na mesma ordem no arquivo.
7
+
3
8
  **2.8.0 (13-10-2021):**
4
9
 
5
10
  Melhorias:
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Documentação dos Componentes e Utils
2
2
 
3
- ÚLTIMA VERSÃO: **2.8.0 (13-10-2021)** **([**VER CHANGE LOG**](https://github.com/ModernizaDatasul/dts-backoffice-util/blob/master/projects/dts-backoffice-util/CHANGELOG.md))**
3
+ ÚLTIMA VERSÃO: **2.8.2 (16-11-2021)** **([**VER CHANGE LOG**](https://github.com/ModernizaDatasul/dts-backoffice-util/blob/master/projects/dts-backoffice-util/CHANGELOG.md))**
4
4
 
5
5
  <br>
6
6
 
@@ -262,28 +262,52 @@ Métodos:
262
262
  | getExecutionByExecutionID | Retorna os dados e status de um agendamento com base no número da agenda: **executionID**.<br>**Parâmetros:**<br>- executionID (string): Número da agenda.<br>- loading (boolean): Quando for igual a **"Sim"**, irá apresentar a tela de "loading" até finalizar a busca do agendamento.<br>**Retorno:** response (Observable(IExecutionStatus)): Objeto com as informações do Agendamento (Data de Criação, ID interno do Agendamento (**jobScheduleID**), Número da Agenda (**executionID**) etc...).|
263
263
  | followUpExcByJobScheduleID | Utilizado para acompanhar a execução do agendamento realizado no RPW, verificando o status da execução, até que ele seja finalizado.<br>**Parâmetros:**<br>- jobScheduleID (string): ID interno do Agendamento que se deseja acompanhar.<br>- intervalNum (number): Tempo em milisegundos para verificação do status do agendamento. Por exemplo, se for informado **5000**, será verificado o status do agendamento em 5 e 5 segundos até a execução terminar.<br>- fncCallBack (Function): Método que será executado após a tela receber o status da execução do agendamento. Ele será executado várias vezes até a execução terminar, no intervalo de tempo determinado no parâmetro **intervalNum**. Este método irá receber um objeto da interface **IExecutionStatus** com o status da execução. O método deverá retornar um valor **boolean** indicando se o processo deve continuar sendo monitorado ou não. Se for retornado "false", o agendamento não será mais monitorado. **Observação**: Isto não afeta a execução do agendamento no RPW, ele continuará executando normalmente.<br>- loading (boolean): Quando for igual a **"Sim"**, irá apresentar a tela de "loading" até finalizar o acompanhamento do agendamento.<br>**Retorno:** Não há. |
264
264
  | followUpExcByExecutionID | Utilizado para acompanhar a execução do agendamento realizado no RPW, verificando o status da execução, até que ele seja finalizado.<br>**Parâmetros:**<br>- executionID (string): Número do Agendamento que se deseja acompanhar.<br>- intervalNum (number): Tempo em milisegundos para verificação do status do agendamento. Por exemplo, se for informado **5000**, será verificado o status do agendamento em 5 e 5 segundos até a execução terminar.<br>- fncCallBack (Function): Método que será executado após a tela receber o status da execução do agendamento. Ele será executado várias vezes até a execução terminar, no intervalo de tempo determinado no parâmetro **intervalNum**. Este método irá receber um objeto da interface **IExecutionStatus** com o status da execução. O método deverá retornar um valor **boolean** indicando se o processo deve continuar sendo monitorado ou não. Se for retornado "false", o agendamento não será mais monitorado. **Observação**: Isto não afeta a execução do agendamento no RPW, ele continuará executando normalmente.<br>- loading (boolean): Quando for igual a **"Sim"**, irá apresentar a tela de "loading" até finalizar o acompanhamento do agendamento.<br>**Retorno:** Não há. |
265
+ | getObjectByValue <br> getFilteredItems | Métodos utilizados pelo componente PO-LOOKUP. Desta forma, é possível utilizar o **TotvsScheduleExecutionService** para disponibilizar um lookup de Servidor de Execução RPW na tela. |
265
266
 
266
267
  Exemplo de Uso:
267
268
 
268
269
  Segue abaixo exemplos da geração de agendamento, busca e acompanhamento da execução.
269
270
 
270
271
  ```
271
- private schedExecSubscription$: Subscription;
272
+ - HTML -
273
+ <po-lookup
274
+ p-label="Servidor RPW"
275
+ p-placeholder="Servidor RPW"
276
+ [p-columns]="zoomRpwServiceColumns"
277
+ [p-field-format]="fieldRpwServiceFormat"
278
+ [p-filter-service]="scheduleExecution"
279
+ p-field-label="name"
280
+ p-field-value="code"
281
+ [(ngModel)]="executionServer">
282
+ </po-lookup>
272
283
 
284
+ - TS -
285
+ executionServer: string;
273
286
  jobScheduleID: string;
274
287
  executionID: string;
275
288
  execStatus: string;
276
289
 
290
+ zoomRpwServiceColumns: Array<PoLookupColumn> = [
291
+ { property: 'code', label: 'Servidor', type: 'string', width: '20%' },
292
+ { property: 'name', label: 'Descrição', type: 'string', width: '80%' }
293
+ ];
294
+
295
+ private schedExecSubscription$: Subscription;
296
+
277
297
  constructor(
278
298
  ...
279
- private scheduleExecution: TotvsScheduleExecutionService
299
+ public scheduleExecution: TotvsScheduleExecutionService
300
+ }
301
+
302
+ fieldRpwServiceFormat(value) {
303
+ return `${value.code} - ${value.name}`;
280
304
  }
281
305
 
282
306
  createSchedule(): void {
283
307
 
284
308
  // Criar um Agendamento para ser Executado "agora"
285
309
  const execParam = new ExecutionParameters();
286
- execParam.executionServer = 'rpwFinanc';
310
+ execParam.executionServer = executionServer;
287
311
  execParam.programName = 'api_executa_carga_dados_carol';
288
312
  execParam.externalName = 'api_executa_carga_dados_carol';
289
313
  execParam.programEMS5 = true;
@@ -632,7 +656,7 @@ Métodos:
632
656
 
633
657
  | Nome | Descrição |
634
658
  |-|-|
635
- | downloadFile | Realiza o Download de um arquivo que foi enviado do backEnd.<br>**Parâmetros:**<br>- fileContent (any): Conteúdo do Arquivo no formato Base64.<br>- fileName (string): Nome do Arquivo, podendo ser diferente do nome original. O valor informado, será o nome que o arquivo terá, quando for realizado o download.<br>- contentType (string): Tipo do Arquivo no formato [**MIME Type**](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types). Este parâmetro é opcional, mas quando não informado, deve-se garantir que a extensão do arquivo, informado no nome do arquivo, esteja correta.<br>**Retorno:** não há. |
659
+ | downloadFile | Realiza o Download de um arquivo que foi enviado do backEnd.<br>**Parâmetros:**<br>- data (any): Conteúdo do Arquivo, podendo estar no formato Base64 ou Blob.<br>- fileName (string): Nome do Arquivo, podendo ser diferente do nome original. O valor informado, será o nome que o arquivo terá, quando for realizado o download.<br>- contentType (string): Tipo do Arquivo no formato [**MIME Type**](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types). Este parâmetro é opcional, mas quando não informado, deve-se garantir que a extensão do arquivo, informado no nome do arquivo, esteja correta.<br>- base64 (boolean): Indica se o conteúdo do arquivo está no formato Base64. Se o parâmetro não for informado ou for igual a **"true"**, será considerado como Base64. Se for informado **"false"**, será considerado o formato Blob.<br>**Retorno:** não há. |
636
660
  | downloadData | Realiza a criação e o download de um arquivo CSV gerado a partir de um listagem de dados (criada diretamente no FrontEnd ou retornada do BackEnd). Este método pode ser utilizado para, por exemplo, exportar os dados de um Grid.<br>**Parâmetros:**<br>- data (Array): Um Array com a listagem de dados, por exemplo, uma lista de clientes.<br>- dwldDataParam (IDownloadDataParams): Parâmetros de configuração do arquivo. Este parâmetro é opcional, caso ele não seja informado, serão assumidos valores padrões de configuração, conforme descrito na inteface **IDownloadDataParams**.<br>**Retorno:** não há. |
637
661
  ---
638
662
 
@@ -640,18 +664,27 @@ Exemplo de Uso:
640
664
  ```
641
665
  -- JavaScript --
642
666
 
667
+ - TS da Tela -
643
668
  import { FileUtil } from 'dts-backoffice-util';
644
669
 
645
670
  downloadFile() {
646
671
  this.servCustomerSubscription$ = this.servCustomer
647
- .getFile() // Método do Serviço de Cliente que devolve do BackEnd um arquivo em base64
672
+ .getFile('1') // Código do cliente 1
648
673
  .subscribe((response: Object) => {
649
674
 
650
675
  FileUtil.downloadFile(response['content'], response['filename']);
651
-
652
676
  });
653
677
  }
654
678
 
679
+ downloadQrCode() {
680
+ this.servCustomerSubscription$ = this.servCustomer
681
+ .getQrCode('00020126360014BR.GOV.BCB.PIX0114+554798402310452040000530398654071500.005802BR5916Robervaldo6009Joinville62070503Novo%20QR%20pix63047EF5') // Texto Exemplo para Geração do QrCode
682
+ .subscribe((response: Blob) => {
683
+
684
+ FileUtil.downloadFile(response, 'qrCode.png', '', false);
685
+ });
686
+ }
687
+
655
688
  downloadList() {
656
689
  this.servCustomerSubscription$ = this.servCustomer
657
690
  .query([], [], 1, 999) // Método padrão de Query do Serviço de Cliente
@@ -664,13 +697,23 @@ downloadList() {
664
697
  dwldDataParam.columnList = ['shortName', 'name', 'country', 'status', 'tax'];
665
698
 
666
699
  FileUtil.downloadData(response.items, dwldDataParam);
700
+ });
701
+ }
667
702
 
668
- });
703
+ - TS do Serviço -
704
+ getFile(id: string): Observable<Object> {
705
+ const url = `/customer/${id}/file`;
706
+ return this.http.get(url);
707
+ }
708
+
709
+ getQrCode(text: string): Observable<Blob> {
710
+ const url = `/qrcode/download?text=${text}`;
711
+ return this.http.get(url, { responseType: 'blob' });
669
712
  }
670
713
 
671
714
  -- Progress --
672
715
 
673
- // Conteúdo do Método que BackEnd que retorna o Arquivo
716
+ // Conteúdo do Método que BackEnd que retorna o Arquivo em Base64
674
717
  DEFINE VARIABLE v_dir_arq AS CHARACTER NO-UNDO.
675
718
  DEFINE VARIABLE v_cod_arq AS CHARACTER NO-UNDO.
676
719
  DEFINE VARIABLE v_mtr_arq AS MEMPTR NO-UNDO.
@@ -696,7 +739,7 @@ IDownloadDataParams
696
739
  | fileName | string | Não | Nome do Arquivo. Caso não seja informado será usado o nome **"data.csv"**. |
697
740
  | literals | any | Não | Objeto de Literais que será utilizado para tradução do Cabeçalho e do conteúdo dos campos do tipo Lógico. Nele, deverão existir literais que sejam iguais as propriedades da listagem. Por exemplo, se for uma listagem de Clientes, que possua uma propriedade chamada shortName, deverá existir uma literal com este nome. Também, deve existir as literais **"true"** e **"false"** para tradução dos campos lógicos. Caso não seja informado, o cabeçalho será gerado com os nomes das propriedades. |
698
741
  | columnDelimiter | string | Não | Caracter utilizado para separação das colunas. Caso não seja informado, será utilizado o caracter **";"**. |
699
- | columnList | Array(string) | Não | Lista das colunas que devem ser exportadas para o arquivo. Caso não seja informada, serão exportadas todas as colunas da listagem. |
742
+ | columnList | Array(string) | Não | Lista das colunas que devem ser exportadas para o arquivo. As colunas serão exportadas na mesma ordem informada neste parâmetro. Caso não seja informada, serão exportadas todas as colunas da listagem. |
700
743
  | columnExclude | Array(string) | Não | Lista das colunas que não devem ser exportadas para o arquivo. Caso não seja informada, serão exportadas todas as colunas da listagem. |
701
744
 
702
745
  <br>