Files
tilbudgivern/archive/analysis/create-packages-v3.js
T
2025-10-30 18:28:58 +00:00

172 lines
4.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* Script til at oprette basis erfaringspakker
* Minimal version - kun nødvendige felter
*/
const axios = require('axios');
const LOCAL_API = 'http://localhost:4031';
async function createPackage(data) {
try {
const res = await axios.post(`${LOCAL_API}/api/smart-packages`, data);
console.log(`✅ ${data.name} (ID: ${res.data.package.id})`);
return res.data;
} catch (error) {
console.error(`❌ ${data.name}:`, error.response?.data?.error || error.message);
return null;
}
}
async function main() {
console.log('🚀 Opretter 6 erfaringsbaserede pakker...\n');
const packages = [
{
name: 'Tagrende med Konsoljern (Lindab)',
description: `Komplet tagrende system - Lindab materialer
VARENUMRE:
• 077424 - Tagrende 3m (antal: facadelængde÷3)
• 107744 - Ende bund (4 stk)
• 077419 - Samle stykke (1 pr 3m)
• 077407 - Konsol jern (max 60cm afstand)
• 077426 - Hjørne indvendig (1 stk)
• 077431 - Hjørne udvendig (1 stk)
ARBEJDSTID: 10m = 5 timer`,
category: 'Tag - Tagrende',
difficulty_level: 'mellem',
estimated_hours: 5,
hourly_rate: 580,
installation_notes: 'Beregning baseret på facadelængde',
is_template: true,
created_by: 'system',
materials: [],
tasks: []
},
{
name: 'Nedløb komplet',
description: `Komplet nedløbssystem med tilbehør
VARENUMRE (pr nedløb):
• 077438 - Nedløb 3m (1 stk)
• 184937 - Rørholder (2 stk)
• 122214 - Tudstykke (1 stk)
• 050043 - Silikone (1 stk)
• 061637 - Brøndkrave (1 stk)
• 076623 - Bøjning (2 stk)
ARBEJDSTID: 1 nedløb = 1 time`,
category: 'Tag - Nedløb',
difficulty_level: 'let',
estimated_hours: 1,
hourly_rate: 580,
installation_notes: 'Tilbehør ganges automatisk med antal nedløb',
is_template: true,
created_by: 'system',
materials: [],
tasks: []
},
{
name: 'Opretning af spær',
description: `Opretning af tagspær inkl. værktøj
VARENUMRE:
• 146304720010450 - Spær træ 200mm (LBM: (huslængde+1)×husbredde)
• 310615 - Spånskruer 5,0x100 (5 pr LBM)
• 195408 - Muresnor (1 stk)
• 224770 - Bits TX 20 (1 stk)
• 064736 - Snorvatterpas (2 stk)
• 182788 - Rundsavsklinge (1 stk)
• 147761 - Stiksavsklinger (1 stk)
ARBEJDSTID: 5m = 0,5 time`,
category: 'Tag - Spær',
difficulty_level: 'svær',
estimated_hours: 2.5,
hourly_rate: 580,
installation_notes: 'LBM = Løbende meter. Beregnes fra husdimensioner',
is_template: true,
created_by: 'system',
materials: [],
tasks: []
},
{
name: 'B7 montering inkl. lægter',
description: `Komplet B7 tagbeklædning med lægter
VARENUMRE (pr m²):
• 147072 - B7 Plade (2,13 pr m²)
• 1632038073 - Lægter 46cm (2,17m pr m²)
• 119229 - Tagskruer (4,25 pr m²)
• 101933 - Ringsøm (15 pr m²)
• 029218 - EPDM bånd (2,17m pr m²)
ARBEJDSTID: 0,5 time pr m²`,
category: 'Tag - B7',
difficulty_level: 'mellem',
estimated_hours: 10,
hourly_rate: 580,
installation_notes: 'Beregnes ud fra tagflade i m²',
is_template: true,
created_by: 'system',
materials: [],
tasks: []
},
{
name: 'Rygning B7',
description: `Rygningsløsning til B7 tag
VARENUMRE (pr løbende meter):
• 057437 - Rygning (1 pr m)
• 038218 - Rygningselement (1 pr m)
• 144855 - Tagskruer (4 pr m)
• 029218 - EPDM bånd (0,4m pr m)
ARBEJDSTID: Ca 0,25 time pr meter`,
category: 'Tag - Rygning',
difficulty_level: 'mellem',
estimated_hours: 2.5,
hourly_rate: 580,
installation_notes: 'Beregnes ud fra rygningens længde',
is_template: true,
created_by: 'system',
materials: [],
tasks: []
},
{
name: 'Taghætte B7',
description: `Montering af taghætte til B7 tag
VARENUMRE:
• 126813 - Taghætte (1 stk)
ARBEJDSTID: Ca 1 time`,
category: 'Tag - Taghætte',
difficulty_level: 'let',
estimated_hours: 1,
hourly_rate: 580,
installation_notes: 'Standard installation',
is_template: true,
created_by: 'system',
materials: [],
tasks: []
}
];
let success = 0;
for (const pkg of packages) {
const result = await createPackage(pkg);
if (result) success++;
}
console.log(`\n✅ ${success}/${packages.length} pakker oprettet`);
console.log('\n📝 Næste skridt:');
console.log('1. Tjek pakkerne i frontend');
console.log('2. Import materialer fra Bygma med varenumre');
console.log('3. Implementer geometri-gemning');
console.log('4. Byg beregningslogik');
}
main();