fix: alinhar PDF da Validação Técnica ao layout do template DOCX #14

Merged
jhony75 merged 1 commit from fix/technical-validation-pdf-layout into develop 2026-08-25 09:11:55 -03:00
Owner

Summary

O PDF de Validação Técnica (build_technical_validation_pdf) divergia do template original (o mesmo que o DOCX já reproduz corretamente) em três pontos:

  • BasePDF desenha um cabeçalho genérico (título + subtítulo) automaticamente em toda página; como este documento já tem seu próprio banner verde "NEUROGRAM · Relatório de Validação Técnica", o título aparecia duplicado no topo. BasePDF.header() agora não desenha nada quando doc_title é vazio/None, e build_technical_validation_pdf passa None.
  • "Itens aprovados" mostrava uma contagem (Itens aprovados (N)) que não existe no template.
  • Os itens aprovados eram uma lista corrida, com o equipamento concatenado no final do título (Item · Equipamento); agora é uma tabela alinhada de verdade (cabeçalho verde-oliva "Item validado / Equipamento", checkmark, colunas fixas), sem linhas de célula visíveis — só espaçamento entre linhas, igual ao DOCX.
  • Removida também a seção "Dados da validação" antes dos metadados, que não existe no template original — os campos (Clínica, Destinatária, etc.) agora aparecem direto abaixo do banner.

Test plan

  • pytest (34 testes) passando
  • PDF renderizado com os mesmos dados do template de referência e comparado visualmente lado a lado — layout idêntico ao original
  • Teste de smoke existente (GET /technical-validations/{id}/pdf retorna 200 + content-type correto) continua passando
## Summary O PDF de Validação Técnica (`build_technical_validation_pdf`) divergia do template original (o mesmo que o DOCX já reproduz corretamente) em três pontos: - `BasePDF` desenha um cabeçalho genérico (título + subtítulo) automaticamente em toda página; como este documento já tem seu próprio banner verde "NEUROGRAM · Relatório de Validação Técnica", o título aparecia duplicado no topo. `BasePDF.header()` agora não desenha nada quando `doc_title` é vazio/None, e `build_technical_validation_pdf` passa `None`. - "Itens aprovados" mostrava uma contagem (`Itens aprovados (N)`) que não existe no template. - Os itens aprovados eram uma lista corrida, com o equipamento concatenado no final do título (`Item · Equipamento`); agora é uma tabela alinhada de verdade (cabeçalho verde-oliva "Item validado / Equipamento", checkmark, colunas fixas), sem linhas de célula visíveis — só espaçamento entre linhas, igual ao DOCX. - Removida também a seção "Dados da validação" antes dos metadados, que não existe no template original — os campos (Clínica, Destinatária, etc.) agora aparecem direto abaixo do banner. ## Test plan - [x] `pytest` (34 testes) passando - [x] PDF renderizado com os mesmos dados do template de referência e comparado visualmente lado a lado — layout idêntico ao original - [x] Teste de smoke existente (`GET /technical-validations/{id}/pdf` retorna 200 + `content-type` correto) continua passando
fix: alinhar PDF da Validação Técnica ao layout do template DOCX
All checks were successful
EEG QA CI / validate-and-build (pull_request) Successful in 1m27s
EEG QA CI / Deploy production (pull_request) Has been skipped
EEG QA CI / Deploy development (pull_request) Has been skipped
ab6a251fad
O PDF divergia do template original em três pontos: o cabeçalho genérico
do BasePDF duplicava o título já presente no banner verde; a seção
"Itens aprovados" mostrava uma contagem que não existe no template; e os
itens eram uma lista corrida (com o equipamento concatenado no título)
em vez de uma tabela alinhada como no DOCX. Também removida a seção
"Dados da validação" antes dos metadados, que não existe no original.
jhony75 merged commit 1941482c08 into develop 2026-08-25 09:11:55 -03:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jhony75/eeg-qa!14
No description provided.