from enum import StrEnum class ReportType(StrEnum): DAILY = "daily" WEEKLY = "weekly" class ReportTitle(StrEnum): DAILY_BRIEF = "每日经营晨报" PROJECT_WEEKLY = "项目周报" ATTENDANCE_SUMMARY = "打卡汇总" WORK_DAILY = "经营日报" WORK_WEEKLY = "经营周报" PROJECT_LIFECYCLE = "项目全生命周期报告" class ReportStatus(StrEnum): UNKNOWN = "未设置" GENERATED = "已生成" class LifecycleSection(StrEnum): HEALTH = "health" PROJECTS = "projects" TASKS = "tasks" PROCUREMENTS = "procurements" EXPENSES = "expenses" FUNDS = "funds" SUPPLIERS = "suppliers" ATTENDANCE = "attendance" RISKS = "risks" class LifecycleFilterKey(StrEnum): PROJECT_CODE = "project_code" OWNER = "owner" PERIOD_START = "period_start" PERIOD_END = "period_end" LABELS = "labels" class LifecycleResponseKey(StrEnum): TITLE = "title" FILTERS = "filters" METRICS = "metrics" ATTENTION = "attention" RECOMMENDATIONS = "recommendations" LINES = "lines" CONTENT = "content" AI_ANALYSIS = "ai_analysis" PROJECT_LIFECYCLE_REPORT = "project_lifecycle_report" class LifecycleAttentionKey(StrEnum): DELAYED_PROJECTS = "delayed_projects" OVER_BUDGET_PROJECTS = "over_budget_projects" OVERDUE_TASKS = "overdue_tasks" class MetricKey(StrEnum): TOTAL = "total" ACTIVE = "active" CLOSED = "closed" AVERAGE_PROGRESS_PERCENT = "average_progress_percent" BY_STATUS = "by_status" BY_RISK_LEVEL = "by_risk_level" BUDGET_TOTAL = "budget_total" ACTUAL_TOTAL = "actual_total" BUDGET_USAGE_RATE = "budget_usage_rate" DELAYED = "delayed" OVER_BUDGET = "over_budget" COMPLETED = "completed" OPEN = "open" OVERDUE = "overdue" BLOCKED = "blocked" COMPLETION_RATE = "completion_rate" BY_PRIORITY = "by_priority" PENDING_APPROVAL = "pending_approval" PENDING_DELIVERY = "pending_delivery" UNPAID = "unpaid" EXPECTED_TOTAL = "expected_total" ACTUAL_VS_EXPECTED_RATE = "actual_vs_expected_rate" AMOUNT_TOTAL = "amount_total" BY_TYPE = "by_type" ACCOUNTS_TOTAL = "accounts_total" CURRENT_BALANCE_TOTAL = "current_balance_total" EXPECTED_RECEIVABLE_TOTAL = "expected_receivable_total" EXPECTED_PAYABLE_TOTAL = "expected_payable_total" SAFETY_LINE_TOTAL = "safety_line_total" NET_POSITION = "net_position" RISK_ACCOUNTS = "risk_accounts" RISKY = "risky" BLACKLISTED = "blacklisted" ABNORMAL = "abnormal" ABNORMAL_RATE = "abnormal_rate" RISK_LEVEL = "risk_level" RISK_SCORE = "risk_score" OVERDUE_TASKS = "overdue_tasks" DELAYED_PROJECTS = "delayed_projects" OVER_BUDGET_PROJECTS = "over_budget_projects" OPEN_EVENTS = "open_events" HIGH_EVENTS = "high_events" EXTERNAL_OPEN_EVENTS = "external_open_events" EXTERNAL_HIGH_EVENTS = "external_high_events" EVENTS_BY_TYPE = "events_by_type" EVENTS_BY_LEVEL = "events_by_level" SCORE = "score" LEVEL = "level" class HealthLevel(StrEnum): HEALTHY = "healthy" ATTENTION = "attention" CRITICAL = "critical" class ReportText(StrEnum): DEFAULT_SCOPE = "全部项目" ACTION_HEADER = "- 建议动作:" RECOMMEND_DELAYED = ( "优先组织延期项目复盘,明确新截止时间、负责人和资源缺口。" ) RECOMMEND_OVER_BUDGET = ( "对超预算项目冻结非必要采购和费用,补齐预算调整审批依据。" ) RECOMMEND_OVERDUE_TASKS = ( "清理逾期任务,要求负责人更新阻塞项和恢复计划。" ) RECOMMEND_APPROVALS = "集中处理采购和费用审批,减少交付与付款等待。" RECOMMEND_FUNDS = "复核资金安全线账户,滚动更新收付款预测。" RECOMMEND_SUPPLIERS = "复核中高风险供应商,准备替代供应和履约跟踪。" RECOMMEND_STABLE = ( "当前生命周期指标稳定,建议继续保持周度复盘和风险事件归档。" )