erp-construccion/docs/02-definicion-modulos/MAI-012-contratos-subcontratos/especificaciones/ET-CON-005-generación de documentos.md

36 lines
968 B
Markdown

# ET-CON-005: Generación de Documentos
**ID:** ET-CON-005 | **Módulo:** MAI-012
## Document Generation Service
```typescript
@Injectable()
export class ContractDocumentService {
async generatePDF(contractId: string): Promise<Buffer> {
const contract = await this.contractService.findOne(contractId);
const html = await this.templateEngine.renderTemplate(contract.templateId, contract);
const doc = new PDFDocument({ size: 'LETTER', margin: 50 });
const chunks: Buffer[] = [];
doc.on('data', (chunk) => chunks.push(chunk));
doc.on('end', () => {});
this.addLegalHeader(doc);
this.addContractBody(doc, html);
this.addSignatureSection(doc);
doc.end();
return Buffer.concat(chunks);
}
async generateAddendum(addendumId: string): Promise<Buffer> {
const addendum = await this.addendumRepo.findOne(addendumId);
// Similar PDF generation for addendums
}
}
```
---
**Generado:** 2025-11-20