diff --git a/lib/qwen_fun.py b/lib/qwen_fun.py index 8acc5db..a460e3c 100644 --- a/lib/qwen_fun.py +++ b/lib/qwen_fun.py @@ -660,14 +660,22 @@ def get_hazard_level_from_rule(rule_definitions: dict, class_name: str, tag_name 返回: str: 隐患等级(如"重大隐患"),未找到时返回"一般隐患" """ - class_rules = rule_definitions.get(class_name, {}) - if not class_rules: - return "一般隐患" - for level_name, level_content in class_rules.items(): - if isinstance(level_content, dict) and tag_name in level_content: - return level_name + print(f"当前参数: class_name={class_name}, tag_name={tag_name}") + for scene_name, scene_content in rule_definitions.items(): + if not isinstance(scene_content, dict): + continue + for category_name, category_content in scene_content.items(): + if not isinstance(category_content, dict): + continue + for level_name, level_content in category_content.items(): + if isinstance(level_content, dict) and tag_name in level_content: + print(f"找到隐患等级: {level_name}, 类别: {category_name}") + return level_name + + print(f"未找到隐患等级: class_name={class_name}, tag_name={tag_name}") + print("默认返回一般隐患") return "一般隐患"