110 lines
3.3 KiB
JavaScript
110 lines
3.3 KiB
JavaScript
/**
|
|
* Create Smart Packages for Tasks 7 & 8
|
|
* - Kran arbejde (Crane Work)
|
|
* - Byggepladshegn (Building Site Fence)
|
|
*/
|
|
|
|
// Kran arbejde (Crane Work) - Task 7
|
|
const KRAN_ARBEJDE_PACKAGE = {
|
|
name: 'Kran arbejde',
|
|
description: 'Professionel kranudlejning og operation inkl. certificeret kranfører',
|
|
category: 'Kranleje',
|
|
package_type: 'equipment_rental',
|
|
estimated_hours: 8, // En arbejdsdag
|
|
hourly_rate: 580, // Standard dansk timesats
|
|
installation_notes: 'Kran stilles til rådighed med certificeret førerbil. Leje er pr. dag. Setup og nedmontering inkluderet i første dag.',
|
|
is_template: 1,
|
|
materials: [
|
|
{
|
|
name: 'Mobilkran - 20 ton',
|
|
category: 'Kranleje',
|
|
quantity: 1,
|
|
unit: 'dag',
|
|
unitPrice: 2500,
|
|
supplier: 'Nordjyske Lift',
|
|
notes: 'Mobilkran med certificeret kranfører'
|
|
}
|
|
],
|
|
tasks: [
|
|
{
|
|
name: 'Opstilling af kran',
|
|
description: 'Opstilling, sikring og sikkerhedskontrol af kranudstyr',
|
|
hours: 2,
|
|
rate: 600,
|
|
optional: 0,
|
|
skills: JSON.stringify(['kranfører', 'sikkerhed']),
|
|
tools: JSON.stringify(['kran', 'sikkerhedsudstyr'])
|
|
},
|
|
{
|
|
name: 'Kranoperation',
|
|
description: 'Løftning og placering af materialer/udstyr',
|
|
hours: 4,
|
|
rate: 600,
|
|
optional: 0,
|
|
skills: JSON.stringify(['kranfører']),
|
|
tools: JSON.stringify(['kran', 'slynger', 'fastgøringsmateriel'])
|
|
},
|
|
{
|
|
name: 'Nedmontering af kran',
|
|
description: 'Afmontering og sikring af kranudstyr',
|
|
hours: 2,
|
|
rate: 600,
|
|
optional: 0,
|
|
skills: JSON.stringify(['kranfører']),
|
|
tools: JSON.stringify(['kran', 'sikkerhedsudstyr'])
|
|
}
|
|
]
|
|
};
|
|
|
|
// Byggepladshegn (Building Site Fence) - Task 8
|
|
const BYGGEPLADSHEGN_PACKAGE = {
|
|
name: 'Byggepladshegn med leje',
|
|
description: 'Midlertidig sikkerhedshegn til byggeplads - metrisk udlejning med daglig rate',
|
|
category: 'Sikkerhed',
|
|
package_type: 'equipment_rental',
|
|
estimated_hours: 4, // Montering/demontering
|
|
hourly_rate: 500,
|
|
installation_notes: 'Hegnet leveres på ruller og skal monteres omkring byggepladsen. Lejepris er pr. meter pr. dag. Montage og demontering faktureres separat.',
|
|
is_template: 1,
|
|
area_based: 1, // Beregnes ud fra omkreds/område
|
|
time_per_sqm: 0.02, // 2 minutters arbejde per meter hegn
|
|
materials: [
|
|
{
|
|
name: 'Hegn - Bygepladsindkapsling pr. meter',
|
|
category: 'Sikkerhed',
|
|
quantity: 100, // Eksempel: 100 meter
|
|
unit: 'm/dag',
|
|
unitPrice: 8,
|
|
supplier: 'Nordjyske Lift',
|
|
notes: 'Midlertidig bygepladsindkapsling, 2m højde'
|
|
}
|
|
],
|
|
tasks: [
|
|
{
|
|
name: 'Montering af hegn',
|
|
description: 'Opstilling og sikring af temporært hegn omkring byggepladsen',
|
|
hours: 3,
|
|
rate: 500,
|
|
optional: 0,
|
|
time_unit: 'per_meter',
|
|
time_per_unit: 0.02, // 0.02 timer = 1.2 minutter per meter
|
|
tools: JSON.stringify(['stokke', 'fastgøringsmateriel', 'værktøj'])
|
|
},
|
|
{
|
|
name: 'Demontering og opsamling',
|
|
description: 'Opsamling og tilbagetransport af hegn efter projekts afslutning',
|
|
hours: 3,
|
|
rate: 500,
|
|
optional: 0,
|
|
time_unit: 'per_meter',
|
|
time_per_unit: 0.02,
|
|
tools: JSON.stringify(['stokke', 'transport'])
|
|
}
|
|
]
|
|
};
|
|
|
|
module.exports = {
|
|
KRAN_ARBEJDE_PACKAGE,
|
|
BYGGEPLADSHEGN_PACKAGE
|
|
};
|