Features: - Automated login and PDF download from Bygma - GPT-4o AI analysis of installation manuals - Extracts: steps, time estimates, tools, safety, materials, skill level - Direct database storage (installation_manuals table) - Auto-cleanup: deletes PDFs after analysis to save space - Node.js integration for quote generation New files: - scrape_and_analyze_bygma.py - Main automated scraper - scrape_bygma_with_login.py - Simple download script - analyze_manual_pdfs.py - Standalone PDF analyzer - get_installation_tasks.js - Node.js quote integration - demo_tilbud_opgave.js - Working demo - BYGMA_AUTOMATION_README.md - Complete documentation Database: - installation_manuals table with JSON fields - Sample data: 1 manual analyzed (Cembrit Bølgeplader) Integration: - getInstallationTask(productName, quantity) function - Returns formatted task descriptions for quotes - Time calculations: 2.5 hours/m² example Cleanup: - Removed old test scripts and debug files - Removed downloaded PDFs (saved to database) - Organized documentation files
47 lines
3.0 KiB
SQL
47 lines
3.0 KiB
SQL
-- Installation Manual Data Migration
|
|
-- Generated: 2025-10-20T09:37:23.583623
|
|
|
|
CREATE TABLE IF NOT EXISTS installation_manuals (
|
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
|
product_name VARCHAR(255),
|
|
manufacturer VARCHAR(255),
|
|
manual_url TEXT,
|
|
manual_filename VARCHAR(255),
|
|
manual_type ENUM('installation', 'manual', 'safety') DEFAULT 'installation',
|
|
installation_steps JSON,
|
|
time_estimate_per_unit DECIMAL(5,2),
|
|
time_unit ENUM('per_sqm', 'per_piece', 'per_project') DEFAULT 'per_sqm',
|
|
required_tools JSON,
|
|
safety_requirements JSON,
|
|
material_requirements JSON,
|
|
skill_level ENUM('let', 'medium', 'svær') DEFAULT 'medium',
|
|
weather_conditions TEXT,
|
|
key_points JSON,
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
INDEX idx_product (product_name)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
|
|
|
-- 280_Montagevejledning_Boelgepladetag.pdf
|
|
INSERT INTO installation_manuals (
|
|
product_name, manufacturer, manual_url, manual_filename, manual_type,
|
|
installation_steps, time_estimate_per_unit, time_unit,
|
|
required_tools, safety_requirements, material_requirements,
|
|
skill_level, weather_conditions, key_points
|
|
) VALUES (
|
|
'280 Montagevejledning Boelgepladetag',
|
|
'Cembrit',
|
|
NULL,
|
|
'280_Montagevejledning_Boelgepladetag.pdf',
|
|
'installation',
|
|
'["Kontroller rethed på lægter og spær med retholt eller snor", "Monter Cembrit Plastudhængsklodser med ventilation ved tagfod", "Fastgør lægter i henhold til gældende anvisninger", "Placer Cembrit Bølgeplader på lægterne", "Monter 2 tagskruer i hver bølgeplade", "Sørg for korrekt overlæg på 110 mm", "Anvend PVC skumstrimmel for at sikre tætheden", "Ventiler ved rygning med Cembrit rygningselement", "Fjern bore- og skærestøv straks efter bearbejdning", "Afslut ved vindskede med Cembrit Vindskedeprofil", "Kontroller montagebredde ved prøveoplægning", "Sørg for minimum 14˚ taghældning", "Opbevar plader på tørt og plant underlag", "Brug Cembrit Fuglegitter ved tagfod", "Sørg for korrekt ventilation ved tagfod og kip"]',
|
|
2.5,
|
|
'per_sqm',
|
|
'["Håndværktøj", "Langsomtgående el-værktøj", "Hurtiggående el-værktøj", "Vinkelsliber med diamantklinge", "Rundsav med hårdmetalklinge", "Boremaskine med ø9 bor"]',
|
|
'["Fjern bore- og skærestøv straks", "Brug støvafsugning ved hurtigtgående værktøj", "Følg gældende regler vedr. sikkerhed og beskyttelse"]',
|
|
'{"Cembrit Bølgeplader": "1,03 stk/m²", "Cembrit Tagskruer": "2,1 stk/m²", "Cembrit PVC-skumstrimler": "1,2 m/m²", "Cembrit Stålnet": "1,1 m²/m²", "Lægter": "2,81 stk/m²"}',
|
|
'medium',
|
|
'Tørt vejr anbefales for at undgå kalkudfældninger',
|
|
'["Korrekt opbevaring og håndtering er afgørende", "Ventilation ved tagfod og kip er nødvendig", "Minimum 14˚ taghældning skal overholdes", "Fjern bore- og skærestøv straks for at undgå skader", "Brug af PVC skumstrimmel for at sikre tætheden", "Kontroller montagebredde ved prøveoplægning", "Sørg for korrekt fastgørelse med tagskruer"]'
|
|
);
|