feat: Normen-Bibliothek auf 751 Normen finalisiert

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-05-07 13:24:33 +02:00
parent fb6192d92d
commit 1005ba0398
3 changed files with 26 additions and 8 deletions
@@ -44,6 +44,7 @@ func (h *IACEHandler) ListNormsLibrary(c *gin.Context) {
allNorms = append(allNorms, iace.GetWave3dCNorms()...) allNorms = append(allNorms, iace.GetWave3dCNorms()...)
allNorms = append(allNorms, iace.GetWave3dExtCNorms()...) allNorms = append(allNorms, iace.GetWave3dExtCNorms()...)
allNorms = append(allNorms, iace.GetWave3dHvacCNorms()...) allNorms = append(allNorms, iace.GetWave3dHvacCNorms()...)
allNorms = append(allNorms, iace.GetFinalCNorms()...)
var filtered []iace.NormReference var filtered []iace.NormReference
for _, norm := range allNorms { for _, norm := range allNorms {
@@ -47,6 +47,7 @@ func SuggestNorms(machineType string, hazardCategories []string, tags []string)
allNorms = append(allNorms, GetWave3dCNorms()...) allNorms = append(allNorms, GetWave3dCNorms()...)
allNorms = append(allNorms, GetWave3dExtCNorms()...) allNorms = append(allNorms, GetWave3dExtCNorms()...)
allNorms = append(allNorms, GetWave3dHvacCNorms()...) allNorms = append(allNorms, GetWave3dHvacCNorms()...)
allNorms = append(allNorms, GetFinalCNorms()...)
// Build lookup sets for efficient matching // Build lookup sets for efficient matching
hazardSet := toSet(hazardCategories) hazardSet := toSet(hazardCategories)
@@ -158,10 +158,10 @@ func GetFinalCNorms() []NormReference {
MachineTypes: []string{"fan", "ventilator"}, HazardCats: []string{"explosion"}, MachineTypes: []string{"fan", "ventilator"}, HazardCats: []string{"explosion"},
Tags: []string{"fan", "atex"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}}, Tags: []string{"fan", "atex"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}},
// ── Additional norms to reach ~80 entries ──────────────────────── // ── Additional norms to reach ~80 entries ────────────────────────
{ID: "EN-13241", Number: "EN 13241:2003+A2:2016", TitleDE: "Industrie-, Gewerbe- und Garagentore", {ID: "EN-ISO-16092-1", Number: "EN ISO 16092-1:2017", TitleDE: "Werkzeugmaschinen — Sicherheit — Pressen — Teil 1: Allgemeines",
NormType: "C", ScopeDE: "Sicherheit von Industrie- und Garagentoren.", NormType: "C", ScopeDE: "Allgemeine Sicherheitsanforderungen an Pressen.",
MachineTypes: []string{"industrial_door", "gate"}, HazardCats: []string{"mechanical_hazard", "crushing"}, MachineTypes: []string{"press"}, HazardCats: []string{"mechanical_hazard", "crushing"},
Tags: []string{"gate", "door", "industrial"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}}, Tags: []string{"press", "forming"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}},
{ID: "EN-12254", Number: "EN 12254:2010+A1:2014", TitleDE: "Abschirmungen an Laserarbeitsplaetzen", {ID: "EN-12254", Number: "EN 12254:2010+A1:2014", TitleDE: "Abschirmungen an Laserarbeitsplaetzen",
NormType: "B2", ScopeDE: "Anforderungen an Laser-Arbeitsplatzabschirmungen.", NormType: "B2", ScopeDE: "Anforderungen an Laser-Arbeitsplatzabschirmungen.",
MachineTypes: []string{"laser_machine"}, HazardCats: []string{"radiation_hazard"}, MachineTypes: []string{"laser_machine"}, HazardCats: []string{"radiation_hazard"},
@@ -306,9 +306,25 @@ func GetFinalCNorms() []NormReference {
NormType: "C", ScopeDE: "Sicherheit von Aufschnittmaschinen.", NormType: "C", ScopeDE: "Sicherheit von Aufschnittmaschinen.",
MachineTypes: []string{"food_slicer", "food_machine"}, HazardCats: []string{"mechanical_hazard", "cutting"}, MachineTypes: []string{"food_slicer", "food_machine"}, HazardCats: []string{"mechanical_hazard", "cutting"},
Tags: []string{"food", "slicer"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}}, Tags: []string{"food", "slicer"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}},
{ID: "EN-13736", Number: "EN 13736:2003+A1:2009", TitleDE: "Werkzeugmaschinen — Pneumatische Pressen", {ID: "EN-ISO-16092-3", Number: "EN ISO 16092-3:2018", TitleDE: "Werkzeugmaschinen — Pressen — Teil 3: Hydraulische Pressen",
NormType: "C", ScopeDE: "Sicherheit pneumatischer Pressen.", NormType: "C", ScopeDE: "Sicherheit hydraulischer Pressen (ISO-Nachfolger).",
MachineTypes: []string{"pneumatic_press"}, HazardCats: []string{"mechanical_hazard", "crushing"}, MachineTypes: []string{"hydraulic_press"}, HazardCats: []string{"mechanical_hazard", "crushing"},
Tags: []string{"press", "pneumatic"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}}, Tags: []string{"press", "hydraulic"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}},
{ID: "EN-ISO-11553-1", Number: "EN ISO 11553-1:2005+A1:2008", TitleDE: "Laserbearbeitungsmaschinen — Teil 1: Allgemeine Sicherheit",
NormType: "C", ScopeDE: "Allgemeine Sicherheit von Laserbearbeitungsmaschinen.",
MachineTypes: []string{"laser_machine"}, HazardCats: []string{"radiation_hazard"},
Tags: []string{"laser", "processing"}, Mandatory: true, RelevantSections: []string{"Abschnitt 5"}},
{ID: "EN-ISO-15536-1", Number: "EN ISO 15536-1:2008", TitleDE: "Ergonomie — Computermodelle — Teil 1: Allgemeines",
NormType: "B1", ScopeDE: "Computergestuetzte Menschmodelle fuer Ergonomie.",
MachineTypes: []string{}, HazardCats: []string{"ergonomic_hazard"},
Tags: []string{"ergonomics", "cad_modelling"}, Mandatory: false, RelevantSections: []string{"Abschnitt 4"}},
{ID: "EN-ISO-11064-1", Number: "EN ISO 11064-1:2000", TitleDE: "Ergonomische Gestaltung von Leitzentralen — Teil 1",
NormType: "B1", ScopeDE: "Ergonomische Gestaltung von Leitzentralen.",
MachineTypes: []string{"control_room"}, HazardCats: []string{"ergonomic_hazard"},
Tags: []string{"control_room", "ergonomics"}, Mandatory: false, RelevantSections: []string{"Abschnitt 4"}},
{ID: "EN-ISO-16890-1", Number: "EN ISO 16890-1:2016", TitleDE: "Luftfilter — Partikelluftfilter — Teil 1: Klassifizierung",
NormType: "C", ScopeDE: "Klassifizierung und Pruefung von Partikelluftfiltern.",
MachineTypes: []string{"hvac_system", "ventilation_unit"}, HazardCats: []string{"chemical_hazard"},
Tags: []string{"air_filter", "ventilation"}, Mandatory: false, RelevantSections: []string{"Abschnitt 5"}},
} }
} }