package iace

// GetPressHazardPatterns returns patterns specific to hydraulic/mechanical presses,
// forming machines, and related equipment (HP045-HP058).
func GetPressHazardPatterns() []HazardPattern {
	return []HazardPattern{
		// ================================================================
		// Press/Forming Machine Patterns (HP045-HP058)
		// ================================================================
		{
			ID: "HP045", NameDE: "Stoesselabsturz durch Druckverlust", NameEN: "Ram drop due to pressure loss",
			RequiredComponentTags: []string{"hydraulic_part", "gravity_risk", "high_force"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard", "pneumatic_hydraulic"},
			SuggestedMeasureIDs:   []string{"M001", "M051", "M054", "M131"},
			SuggestedEvidenceIDs:  []string{"E01", "E08", "E20"},
			Priority: 98,
			RequiresExpertCalculation: true,
			ExpertHintDE: "SIL/PL-Nachweis fuer Stoesselabsturzsicherung erforderlich.",
			ExpertHintEN: "SIL/PL verification for ram drop protection required.",
		},
		{
			ID: "HP046", NameDE: "Quetschen im Werkzeugeinbauraum", NameEN: "Crushing in die space",
			RequiredComponentTags: []string{"crush_point", "high_force"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M001", "M005", "M051", "M106"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 97,
		},
		{
			ID: "HP047", NameDE: "Oelnebelexposition Atemwege", NameEN: "Oil mist inhalation exposure",
			RequiredComponentTags: []string{"hydraulic_part", "oil_mist_risk"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"material_environmental"},
			SuggestedMeasureIDs:   []string{"M124", "M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 80,
		},
		{
			ID: "HP048", NameDE: "Verbrennung durch heisse Werkstuecke", NameEN: "Burns from hot workpieces",
			RequiredComponentTags: []string{"moving_part"},
			RequiredEnergyTags:    []string{"thermal"},
			GeneratedHazardCats:   []string{"thermal_hazard"},
			SuggestedMeasureIDs:   []string{"M054", "M141"},
			SuggestedEvidenceIDs:  []string{"E08"},
			Priority: 85,
		},
		{
			ID: "HP049", NameDE: "Schwebende Last (Hubwerk/Aufzug)", NameEN: "Suspended load (hoist/elevator)",
			RequiredComponentTags: []string{"gravity_risk", "person_under_load"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M001", "M005", "M051"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 95,
		},
		{
			ID: "HP050", NameDE: "Einziehen/Scheren Transfersystem", NameEN: "Draw-in/shearing at transfer system",
			RequiredComponentTags: []string{"moving_part", "shear_risk"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M001", "M005", "M051"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 90,
		},
		{
			ID: "HP051", NameDE: "Sturzgefahr Auswurfbereich", NameEN: "Fall hazard at ejection area",
			RequiredComponentTags: []string{"gravity_risk"},
			RequiredEnergyTags:    []string{},
			ExcludedComponentTags: []string{"safety_device"},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M051", "M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 75,
		},
		{
			ID: "HP052", NameDE: "Druckfreisetzung Hydraulikspeicher", NameEN: "Pressure release from hydraulic accumulator",
			RequiredComponentTags: []string{"hydraulic_part", "high_pressure"},
			RequiredEnergyTags:    []string{"stored_energy"},
			GeneratedHazardCats:   []string{"pneumatic_hydraulic"},
			SuggestedMeasureIDs:   []string{"M051", "M131"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 92,
		},
		{
			ID: "HP053", NameDE: "Impulslaerm Pressvorgang", NameEN: "Impact noise during press operation",
			RequiredComponentTags: []string{"noise_source", "high_force"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"noise_vibration"},
			SuggestedMeasureIDs:   []string{"M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 70,
		},
		{
			ID: "HP054", NameDE: "Schwungrad-Restenergie nach Abschaltung", NameEN: "Flywheel residual energy after shutdown",
			RequiredComponentTags: []string{"rotating_part", "stored_energy"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"mechanical_hazard"},
			SuggestedMeasureIDs:   []string{"M001", "M054"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 88,
		},
		{
			ID: "HP055", NameDE: "Umgehung Schutzeinrichtung (Pressentuer)", NameEN: "Bypass of safety guard (press door)",
			RequiredComponentTags: []string{"interlocked", "crush_point"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"safety_function_failure"},
			SuggestedMeasureIDs:   []string{"M005", "M106"},
			SuggestedEvidenceIDs:  []string{"E01", "E08"},
			Priority: 96,
		},
		{
			ID: "HP056", NameDE: "Fehlbedienung Zweihandschaltung", NameEN: "Two-hand control misoperation",
			RequiredComponentTags: []string{"two_hand_control_required"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"safety_function_failure"},
			SuggestedMeasureIDs:   []string{"M106"},
			SuggestedEvidenceIDs:  []string{"E01"},
			Priority: 90,
		},
		{
			ID: "HP057", NameDE: "Hydraulikoelleckage + Rutschgefahr", NameEN: "Hydraulic oil leakage + slip hazard",
			RequiredComponentTags: []string{"hydraulic_part", "chemical_risk"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"material_environmental"},
			SuggestedMeasureIDs:   []string{"M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 65,
		},
		{
			ID: "HP058", NameDE: "Ergonomische Belastung Kistenwechsel", NameEN: "Ergonomic strain during bin changeover",
			RequiredComponentTags: []string{"ergonomic", "moving_part"},
			RequiredEnergyTags:    []string{},
			GeneratedHazardCats:   []string{"ergonomic"},
			SuggestedMeasureIDs:   []string{"M141"},
			SuggestedEvidenceIDs:  []string{"E20"},
			Priority: 55,
		},
	}
}
