Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Dados Gerais

Módulo:

TOTVS Automação Fiscal (SIGATAF)

Issue:

DSERTAF1-30635

Descrição:

Impressão do Formulário da CAT via POUI

Data

 

Analista

Fabio Mendonça

1. MODELO CAT

https://www.in.gov.br/en/web/dou/-/portaria-seprt/me-n-4.334-de-15-de-abril-de-2021-314637705


2. ARTEFATOS GERADOS

2.1. MOCK ESTRUTURADO DAS 50 INFORMAÇÕES QUE COMPÕE O FORMULÁRIO DA CAT

{
      dadosIdentificao: {
        emitente: 'Tomador de serviço avulso ou órgão gesto de mão de obra',
        tipoCat: 'Comunicação de óbito',
        iniciativaCat: 'Determinação de órgão fiscalizador',
        fonteCadastramento: 'eSocial',
        numeroCat: '1.8763456776543234567',
        numeroReciboCatOrigem: '9.2345678876543456'
      },

      emitente: {
        empregador: {
          razaoSocial: 'TOTVS SA',
          tipo: 'CNPJ',
          numeroInscricao: '44.478.731/0001-12',
          cnae: '6201-5/01'
        },
        acidentado: {
          nome: 'Fabio Santos de Mendonça',
          cpf: '956.332.480-31',
          dataNascimento: '01/01/1989',
          sexo: 'Masculino',
          estadoCivil: 'Casado',
          cbo: '2124-05',
          filiacaoPrevidencia: 'Empregado doméstico',
          areas: 'Urbana'
        },
        acidenteDoenca: {
          dataAcidente: '16/08/2022',
          horaAcidente: '15:17',
          aposQuantasHorasDeTrabalho: '4:17',
          tipo: 'Trajeto',
          houveAfastamento: 'Sim',
          ultimoDiaTrabalhado: '16/08/2022',
          localAcidente: 'Rampa de acesso',
          especificacaoLocalAcidente: 'Borda superior',
          cnpjCaepfCnoDoLocalAcidente: '44.478.731/0001-12',
          uf: 'São Paulo',
          municipioLocalAcidente: 'São Paulo',
          pais: 'Brasil',
          parteCorpoAtingida: 'CRANIO (INCLUSIVE ENCEFALO)',
          agenteCausador: 'RUA E ESTRADA - SUPERFÍCIE UTILIZADA PARA SUSTENTAR AS PESSOAS',
          lateralidade: 'Esquerda',
          descricaoSituacaoGeradora: 'Colisão frontal com veículo sendo dirigido de forma perigosa em direção oposta a permitida na via',
          houveRegistroPolicial: 'Sim',
          houveMorte: 'Sim',
          dataObito: '16/08/2022',
          observacoes: 'Morreu mas passa bem',
          dataRecebimento: '17/08/2022'
        }
      },

      informacoesAtestaoMedico: {
        atendimento: {
          data: '16/08/2022',
          hora: '17:42',
          houveInternacao: 'Sim',
          provavelDuracaoTratamento: '8',
          deveraAfastarseDoTrabalho: 'Sim'
        },
        lesao: {
          descricaoLesao: 'Fratura no lado superior esquerdo do crânio'
        },
        diagnostico: {
          diagnosticoProvavel: 'Traumatismo craniano',
          cid10: 'S06.3',
          localEdata: 'São Paulo, dezesseis de agosto de dois mil e vinte e dois',
          nomeCrmEufMedicao: 'Marcelo Bezerra Silva, CRM 998892 SP',
          observacoes: 'Necessário acompanhamento psicológico e fisioterápico'
        }
      }
    }


2.2. BRANCH COM IMPLEMENTAÇÃO MOCKADA DO MAKEPDF

esocial/sprint-HojeNaoFaro/DSERTAF1-30635/pdfMake


2.3. BRANCH COM IMPLEMENTAÇÃO MOCKADA DO JSPDF

esocial/sprint-HojeNaoFaro/DSERTAF1-30635/jsPDF


3. BIBLIOTECAS JAVASCRIPT

...

3.1. PDFMAKE 

23.1.1. Sobre (15/08/2022)

Home Page: http://pdfmake.org/#/

...

Exemplo de uso: https://www.ngdevelop.tech/angular-8-export-to-pdf-using-pdfmake/


23.1.2.1. Prós

  • Usada Indicação do Danilo Salvez, sendo usada desde início de 2021 em Projetos do CRM & Faturamento;
  • Depoimento do time do CRM & Faturamento de que biblioteca tem atendido a bem a necessidade deles desde a primeira utilização;
  • Devido a utilização de matriz simples (similar ao uso de tabela, inclusive com propriedade 'colSpan') para posicionamento dos recursos na área de impressão, abstrai bastante a complexidade do posicionamento em tela;
  • Abstração de complexidade de quebras de linhas para textos e quebras de páginas;
  • Mínimo suficientemente necessário para atender a demanda com sucesso, similar a uma biblioteca fornecida pelo POUI se esta existisse.


3.1.2.2. Contras

  • Números menores do que a biblioteca jsPDF em relação a comunidade, forks e projetos usados;
  • Pouca flexibilidade em relação a disposição dos elementos em tela (verificação minuciosa da documentação talvez resolva os poucos casos em que isso acontece).


3.1.3. DEMO

23.1.3.1. MODELO USANDO BIBLIOTECA

...

https://www.dropbox.com/s/ivx1y3zekordria/example_table_makepdf.pdf?dl=0


23.1.3.2. DENTRO DO PROTHEUS

...

Gerenciador de downloads em painel suspenso informando o usuário do progresso do download no local anteriormente selecionado.


...



3.2. JSPDF

23.2.1. Sobre (18/08/2022)



Home Page: https://parall.ax/products/jspdf

...

Exemplo de uso: https://medium.com/ekode/gerando-pdf-no-angular-com-jspdf-99ab94df7870


3.2.2.21. Prós

  • Indicação do Bruno Romero, do time de FrameWork;
  • Melhor integração ao VS CODE, com autocomplete das funcionalidades da biblioteca, o que facilita o desenvolvimento;
  • Devido a utilização de posicionamento por pixel dentro da área de impressão, consegue-se alta precisão no posicionamento de elementos, sendo necessário informar as coordenadas de cada item em tela, tanto dos retângulos quanto dos títulos e textos que abrigarão cada campo do formulário da CAT;
  • Boa para elaboração de abstrações que disponibilize para o cliente funções que o atendam encapsulando a complexidade.


3.2.2.2. Contras

  • O posicionamento por pixel onera o tempo de desenvolvimento e complexidade;
  • Muita funcionalidade documentada, porém sem exemplo de uso;
  • Quebra de textos e de páginas verbosa e a cargo do desenvolvedor, exigindo elaboração de cálculo e combinação de funções da biblioteca;


3.2.3. DEMO

23.2.3.1. MODELO USANDO BIBLIOTECA

Image Added

Image Added

Image RemovedImage Added

https://www.dropbox.com/s/e0pxinz9dbxw2ag/example_jspdf.pdf?dl=0


3.2.3.2. DENTRO DO PROTHEUS

Integração da biblioteca com a API do Windows chamando a tela padrão de escolha de local para baixar os arquivos pdf.

Image Added


Image Added


Gerenciador de downloads em painel suspenso informando o usuário do progresso do download no local anteriormente selecionado.

Image Added


Image Added


4. REFINAMENTOS  A FAZER 

  • O Modelo de Formulário atualmente no épico da issue da CAT é o presente nos anexos da instrução normativa do governo (https://www.in.gov.br/en/web/dou/-/portaria-seprt/me-n-4.334-de-15-de-abril-de-2021-314637705). É pra ser feita exatamente igual ao modelo ? 
    • MOTIVO DA PERGUNTA: A disposição dos campos nem sempre está adequada. ex.: Campos pequenos ocupando uma linha inteira (campos da seção DADOS DE IDENTIFICAÇÃO) e campos com grande conteúdo em espaços pequenos (campo 49 - NOME DO MÉDICO, CRM E UF);


  • Será criado método no backend que traga as informações que faltam para preenchimento do formulário da CAT ou será ajustado método atual ?
    • MOTIVO DA PERGUNTA: Atualmente a API da CAT possui um método GET chamado catValues que traz 14 campos; o formulário da CAT segundo a Instrução Normativa dispõe de 50 campos;