fix: 战略地图P0修复 — KPI code统一+放开同层连线+数据迁移
This commit is contained in:
@@ -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}")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user