Histórico da Página
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
...
GIT: https://github.com/parallax/jsPDF
Exemplo de uso: : https://medium.com/ekode/gerando-pdf-no-angular-com-jspdf-99ab94df7870
3.2.2.1. 2. 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
3.2.3.1. MODELO USANDO BIBLIOTECA
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.
Gerenciador de downloads em painel suspenso informando o usuário do progresso do download no local anteriormente selecionado.
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;