fix: 战略地图P0修复 — KPI code统一+放开同层连线+数据迁移

This commit is contained in:
Hermes CI Fix
2026-07-14 16:02:33 +08:00
parent c7d436ec7a
commit 6218a7d2db
8775 changed files with 4125 additions and 1758555 deletions
+22
View File
@@ -110,6 +110,12 @@ def fetch_via_api(kpi: KPIDefinition, parsed: dict, period: str) -> float:
"CUSTOMER_COUNT": f"{ERP_API_BASE}/stats/monthly?year={period_year}",
"SALES_PROFIT_RATE": f"{ERP_API_BASE}/stats/gross-profit?year={period_year}&month={period_month}",
"TOP5_CUSTOMER_RATIO": f"{ERP_API_BASE}/stats/customer-top?year={period_year}&limit=5",
# P1: CRM模块
"C_RETENTION_RATE": f"{ERP_API_BASE}/crm/retention-rate?year={period_year}&month={period_month}",
"C_NEW_CLIENTS": f"{ERP_API_BASE}/crm/new-customers?year={period_year}&month={period_month}",
# P1: 生产模块
"F_QUALITY_RATE": f"{ERP_API_BASE}/production/quality-rate?year={period_year}&month={period_month}",
"F_REWORK_RATE": f"{ERP_API_BASE}/production/rework-rate?year={period_year}&month={period_month}",
}
headers = {"X-API-Key": ERP_API_KEY, "User-Agent": "CMA-ERP-SYNC/1.0"}
@@ -159,6 +165,22 @@ def fetch_via_api(kpi: KPIDefinition, parsed: dict, period: str) -> float:
return round(top5_total / total_amount * 100, 2)
return 0
# P1: CRM模块 — 客户保留率
elif kpi_code == "C_RETENTION_RATE":
return float(data.get("retention_rate", data.get("value", 0)))
# P1: CRM模块 — 新客户数
elif kpi_code == "C_NEW_CLIENTS":
return float(data.get("new_customers", data.get("value", 0)))
# P1: 生产模块 — 产品合格率
elif kpi_code == "F_QUALITY_RATE":
return float(data.get("quality_rate", data.get("value", 0)))
# P1: 生产模块 — 返工率
elif kpi_code == "F_REWORK_RATE":
return float(data.get("rework_rate", data.get("value", 0)))
raise ValueError(f"未实现的API映射: {kpi_code}")