constants.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. """
  2. 文档处理模块常量定义
  3. 统一管理分类代码、状态码等枚举值,消除硬编码字符串
  4. """
  5. from enum import Enum
  6. class CategoryCode(Enum):
  7. """一级分类代码"""
  8. BASIS = "basis" # 编制依据
  9. OVERVIEW = "overview" # 工程概况
  10. PLAN = "plan" # 施工计划
  11. TECHNOLOGY = "technology" # 施工工艺技术
  12. SAFETY = "safety" # 安全保证措施
  13. QUALITY = "quality" # 质量保证措施
  14. ENVIRONMENT = "environment" # 环境保证措施
  15. management = "management" # 施工管理及作业人员配备与分工
  16. ACCEPTANCE = "acceptance" # 验收要求
  17. OTHER = "other" # 其他资料
  18. NON_STANDARD = "non_standard" # 非标准项
  19. class StatusCode(Enum):
  20. """处理状态码"""
  21. DOC_ANS_COMPLETED = "docu_ans_completed"
  22. PROCESSING = "processing"
  23. FAILED = "failed"
  24. COMPLETED = "completed"
  25. class StageName(Enum):
  26. """处理阶段名称"""
  27. DOCUMENT_PARSING = "文档解析"
  28. TOC_EXTRACTION = "目录提取"
  29. CLASSIFICATION = "分类处理"
  30. TEXT_EXTRACTION = "文本提取"
  31. TEXT_SPLITTING = "文本切分"
  32. SECONDARY_CLASSIFICATION = "二级分类"
  33. TERTIARY_CLASSIFICATION = "三级分类"
  34. # 一级分类中文名称映射
  35. CATEGORY_CN_MAPPING = {
  36. CategoryCode.BASIS.value: "编制依据",
  37. CategoryCode.OVERVIEW.value: "工程概况",
  38. CategoryCode.PLAN.value: "施工计划",
  39. CategoryCode.TECHNOLOGY.value: "施工工艺技术",
  40. CategoryCode.SAFETY.value: "安全保证措施",
  41. CategoryCode.QUALITY.value: "质量保证措施",
  42. CategoryCode.ENVIRONMENT.value: "环境保证措施",
  43. CategoryCode.management.value: "施工管理及作业人员配备与分工",
  44. CategoryCode.ACCEPTANCE.value: "验收要求",
  45. CategoryCode.OTHER.value: "其他资料",
  46. CategoryCode.NON_STANDARD.value: "非标准项",
  47. }
  48. def get_category_cn(category_code: str) -> str:
  49. """获取分类的中文名称"""
  50. return CATEGORY_CN_MAPPING.get(category_code, "未知分类")