feat: Create Python script to scrape 10 installation manuals from Bygma, focusing on construction materials feat: Develop script to scrape installation manual from Bygma by VareNr, including AI analysis and database storage feat: Add script to scrape Swedoor Snap-In Karmsat installation manual using product name from URL chore: Create start script for PM2 to manage services with correct node path test: Add comprehensive test script for quote generation and PDF endpoints test: Implement CSV parser tests to verify product presence and data integrity test: Create readline test script to efficiently read and search for product in CSV
2.7 KiB
2.7 KiB
PDF Download Fix med Montagevejledninger
Problem
PDF download virkede ikke, og opgavebeskrivelser fra montagevejledninger var ikke inkluderet i PDF'en.
Løsning
1. Updated unified-server.js
Ændring: Tilføjet tasks parameter til pdfData objektet så generateWorkDescription() kan få adgang til opgaver.
const pdfData = {
project: project,
geometry: geometry,
materials: materials,
labor: tasks,
tasks: tasks, // ✅ Added for generateWorkDescription
totals: { ... }
};
2. Installeret Chrome for Puppeteer
Problem: Puppeteer kunne ikke finde Chrome browser til PDF generering.
Løsning:
npx puppeteer browsers install chrome
Chrome blev installeret i: /home/alex/.cache/puppeteer/chrome/linux-140.0.7339.82/
Resultat
✅ PDF Download virker nu!
- PDF fil: 1.2 MB (korrekt størrelse)
- Inkluderer montagevejledninger fra database
- Inkluderer opgavebeskrivelser fra project_tasks
- Fallback til generiske beskrivelser hvis ingen manual findes
Test
curl -X POST http://localhost:4031/api/pdf/generate \
-H "Content-Type: application/json" \
-d '{"projectId": 19}' \
-o tilbud.pdf
PDF Indhold
PDF'en inkluderer nu:
Side 1 - Tilbud
- Firma logo og kundeinfo
- Projekt adresse og navn
- ARBEJDSBESKRIVELSE (fra project_tasks hvis tilgængelig)
- MONTAGE INSTRUKTIONER (fra installation_manuals):
- Produkt navn og producent
- Top 5 installations trin
- Vigtige punkter og sikkerhedsnoter
- Materialer liste med priser
- Total beregning med moms
Side 2 - Firmabeskrivelse
- Om firmaet
- Garantier og certificeringer
- Elite Håndværker logo
Tekniske Detaljer
pdfGenerationService.js
generateWorkDescription()er async- Henter installation manuals fra database for hvert materiale
- Parser JSON felter (installation_steps, key_points)
- Viser top 5 trin + vigtige punkter
- Fallback til generiske beskrivelser
Database Integration
- Tabel:
installation_manuals - Query:
LOWER(product_name) LIKE LOWER(?) - Felter: product_name, manufacturer, installation_steps, key_points
Puppeteer Setup
- Browser: Chrome 140.0.7339.82
- Args: headless, no-sandbox, disable-setuid-sandbox
- Format: A4 med 20mm margins
- Timeout: 30 sekunder
Status
✅ COMPLETED - Backend genstartet (restart #63) ✅ TESTED - PDF genereret succesfuldt (1.2 MB) ✅ VERIFIED - Logs viser "✅ PDF generated successfully"
Filer Ændret
/unified-server.js- Tilføjettaskstil pdfData/backend/src/services/pdfGenerationService.js- Allerede opdateret med installation manual integration
Dato: 2025-10-25
Status: Productionstæt ✅